
Simon Marlow writes:
if I just want to check out e.g. Haddock, I have to get the entire fptools repo (350M+, wasn't it?).
I guess the "best" way to do that with Darcs would be to (1) pull the fp-tools repository, (2) delete all files you don't need for Haddock, (3) pull that into your Haddock repository. So by pulling Haddock you would automatically get those parts of fptools that you need. The intermediate repository created in (2) can be deleted afterwards. Now you can pull from "fp-tools" into "Haddock" to update your build infrastructure.
1. Make it possible to 'darcs get' just part of a tree.
I might be wrong about this, but my impression is that Darcs does not support "modules" of any kind. You check out an entire repository, not less.
2. Create separate repositories for GHC, Happy, Haddock etc., and duplicate the shared fptools structure in each project. Each time we modify something in the shared part of the tree, we pull the patch into the other trees.
That's the way to do it, IMHO.
is it possible to cherry-pick from a tree that doesn't have a common ancestor?
Yes, although the merging process may be non-trivial.
If not, can we make the repositories appear to have common ancestry?).
Just pull the "common ancestor" repository into all sub-repositories, as described above. Peter