Hi Peter, I'm not sure how to answer all those cases (did I remember a conversation during PharoDays?). Can you elaborate on a) and the failure? Because I remember looking at the ability to override conflicts in Metacello by just saying: onConflict: [:ex | ex allow ] (for example: Metacello new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:master/repository'; onConflict: [:ex | ex allow]; load ) But, overall, for such a need, I would see two approaches: - a cache-type repository which overrides loads, as the MC package-cache is doing, based on package name and version (which is bad). - Metacello overrides, which may already exist but I'm not knowledgeable enough. Thierry Le 21/03/2015 14:41, Peter Uhnák a écrit :
Hi,
I'm trying to load local package over git one... basically:
Projects A and B. A depends on B. A loads B from its BaselineOfA, the reference points to github.
Now I have also local copy of B git repository, and I would like to either a) Override the load of B with local B (so the packages will point to local instead of remote). Currently it fails on MetacelloRepositorySpec>>hasNoLoadConflicts: because each (local and git) repo points to different place. This would be useful if I want to make change to B AFTER the project B is already loaded.
b) Add all packages from B to local B repo (same as manually using "add to package..." in Monticello Browser") This will work only if both the repos have the same packages, so probably not that useful. (i.e. no code differences)
c) Override the GitHub B repository in the BaselineOfA BEFORE the project is loaded. This would require some mapping in Monticello browser, I've seen something like "repositoryOverrides:" but I don't know how it works. This would be useful if I knew beforehand that I want to make changes also to B.
So how would one go about this? Having option "c)" would be probably the best; I can live without "a)". :)
Any pointers appreciated, Peter