[darcs-users] Re: [Haskell-cafe] fptools in darcs now available
Juliusz.Chroboczek at pps.jussieu.fr
Fri Apr 29 09:58:48 EDT 2005
>> If I do 'darcs get' to get a bunch of different repositories from
>> cvs.haskell.org to my local filesystem, they won't all end up
>> hard-linked together, surely?
> Not automatically in that case, no. But you could use
> darcs optimize --relink to restore them to linked status. Or better yet:
Just to be precise, if A, B and C are the repositories, optimally
you'd do something like
(cd B; darcs optimize --relink --sibling ../C)
(cd A; darcs optimize --relink --sibling ../B --sibling ../C)
This will link anything that can be linked from C into B, then
anything that can be linked from either B or C into A.
But you shouldn't worry about being optimal; just call ``optimize
--relink'' with all the other likely repositories as siblings, and
you'll end up converging to maximal sharing.
Optimize --relink is relatively fast, and it should be safe, so
nothing prevents you from relinking often (for example, each time you
pull a new pool of changes).
> 1) Check out the most recent common ancestor
> 2) darcs get it n times across the local filesystem (resulting in a
> bunch of hardlinked patches)
> 3) darcs pull the appropriate repo that you want in each one of them
Yes, this will avoid the extra network traffic. However, you should
still manually ``optimize --relink'' after doing that, as ``get''
doesn't currently link pristine trees (it only links patches).
More information about the Haskell-Cafe