
On Sun, 29 Mar 2009, Peter Verswyvelen wrote:
Module A requires B. When a new developer wants to get the source code, he does a "darcs get server://program/A", which gives him only the latest version of A. So he manually needs to do "darcs get server://program/B" (that B is required is usually discovered after a compilation error, talking to other developers to find out what the dependencies are, or by reading the cabal file). Furthermore it is unclear which version of A required which version of B (so you can't really roll back to old versions).
Now assume you don't have 2 modules but dozens...
To me, any version control system should be able to track dependencies between repositories. Something similar like Cabal's dependency system.
So my question is really, how do you solve the dependency tracking between several Darcs repositories?
There's an (unimplemented) proposal by David Roundy for darcs sub-repos that would solve this problem: you have a darcs patch type that means "depend on this patch from this other darcs repo which will be checked out in a given subdirectory". I think that solves precisely the problem you describe, and I think it should be implemented :-) Ganesh