[darcs-users] "broken" hard links.

Trent W. Buck trentbuck at gmail.com
Wed Apr 29 03:02:54 UTC 2009


>>>> Short of there being a bug, is there any reason for hashed repos to
>>>> go out of sync?

The following transcript demonstrates this using a concrete example:
the Darcs repo.  The working directory is in /tmp, which is a
different filesystem from the cache directory in /home/twb/.darcs/cache.

    $ map darcs get http://darcs.net/ --quiet --complete -- R S
    $ map du -- -sm -sml
    81      .
    81      .

The numbers are the same, so at this point there is NO hard linking.

    $ darcs optimize --repo R --sibling S --relink
    Done optimizing!
    $ map du -- -sm -sml
    49      .
    81      .

And now optimize has hard linked.  Now we pull twice, independently
from a different filesystem, which prevents Darcs from automatically
hard-linking.  Pulling from a remote repo would be the same.

    $ darcs pull --repo R --quiet --all ~/darcs+twb
    $ darcs pull --repo S --quiet --all ~/darcs+twb
    $ map du -- -s -sl
    50092   .
    82500   .
    $ darcs optimize --repo R --sibling S --relink
    Done optimizing!
    $ map du -- -s -sl
    49916   .
    82380   .
    $

Optimize --relink has reduced the space taken, so clearly the
independent pulls resulted in broken (i.e. potential) hard links.


More information about the darcs-users mailing list