[darcs-users] Moving a tag?

David Roundy droundy at abridgegame.org
Wed Jun 9 10:21:01 UTC 2004


On Tue, Jun 08, 2004 at 02:08:22PM +0200, Juliusz Chroboczek wrote:
> BT> Since darcs uses hard links to share patches between repos, a
> BT> large number of repos need not be cause for concern.
> 
> That's what I thought initially, but it turns out it doesn't.
> Apparently, darcs will only create links on a get, never on a push or
> pull.
> 
> Being an arch user, I would be tempted to work in ~/repos/* which are
> mirrored (pushed) to ~/public_html/software/repos/*.  Unless I'm
> mistakene, there will be no hard links between
> ~/public_html/software/repos/foo-devel and 
> ~/public_html/software/repos/foo-stable.

That would depend on how you created ~/public_html/software/repos/foo-devel
and ~/public_html/software/repos/foo-stable in the first place.  Surely you
wouldn't run darcs initialize on an empty directory and *then* use push to
move all the patches? If you created them originally with darcs get, then
all the patches that they started out with would be hard linked--which in a
reasonably old project will likely be the bulk of the space.

> Furthermore:
> 
>   - every repo contains a working dir and the current subtree, with no
>     links whatsoever;

The working dir is certainly unnecesary, but the cached current copy is
necesary in order to validate patches that are being applied (e.g. via
push).  This isn't needed in arch, because arch never validates
patches--but I wouldn't consider that much of a feature.

>   - if someone gets both foo-devel and foo-stable over HTTP, they will
>     download everything twice.

Hmmmm.  If this is likely to be a common enough case to matter, I could add
a "local reference" option to get, which would indicate a locally available
repo where we could get copies of some of the patches that could be hard
linked.
-- 
David Roundy
http://www.abridgegame.org




More information about the darcs-users mailing list