[darcs-devel] [issue1645] Darcs >2.3 follows directory symlinks.

Trent W. Buck bugs at darcs.net
Sat Mar 20 20:07:47 UTC 2010


Trent W. Buck <trentbuck at gmail.com> added the comment:

Trent W. Buck wrote:
> Here's another trivial test for this suckiness:

And another:

I use etckeeper with Darcs to track the history of /etc, which has
lots of symlinks.  Etckeeper knows that Darcs ignores symlinks, and so
it handles them out-of-band with a metadata file:

    $ cd /etc
    $ sudo grep ln .etckeeper | head
    ln -sf '../t-prot/Muttrc' './Muttrc.d/t-prot.rc'
    ln -sf '/usr/bin/Xorg' './X11/X'
    ln -sf '/usr/bin/aptitude-curses' './alternatives/aptitude'
    ln -sf '/usr/bin/mawk' './alternatives/awk'
    ln -sf '/usr/share/man/man1/mawk.1.gz' './alternatives/awk.1.gz'
    ln -sf '/usr/bin/b2m.emacs23' './alternatives/b2m'
    ln -sf '/usr/share/man/man1/b2m.emacs23.1.gz' './alternatives/b2m.1.gz'
    ln -sf '/usr/bin/g++' './alternatives/c++'
    ln -sf '/usr/bin/c89-gcc' './alternatives/c89'
    ln -sf '/usr/share/man/man1/c89-gcc.1.gz' './alternatives/c89.1.gz'

On upgrading from 2.3.0-3 to 2.4-1, I am suddenly bombarded with
spurious changes:

    $ sudo darcs w -l | tail
    a ./alternatives/c89.1.gz
    a ./alternatives/c89
    a ./alternatives/c++
    a ./alternatives/b2m.1.gz
    a ./alternatives/b2m
    a ./alternatives/awk.1.gz
    a ./alternatives/awk
    a ./alternatives/aptitude
    a ./X11/X
    a ./Muttrc.d/t-prot.rc
    $ sudo darcs w -l | wc -l
    628

I'm very scared that if I leave Darcs 2.4 installed, these symlinks
will be recorded as normal files (or worse, directories), and that any
subsequent attempt at data recovery will result in a broken system.

For me, this is a show-stopper bug, because even if I only install
Darcs 2.4 somewhere like ~/.cabal/bin, it could still be used on /etc
if I accidentally let become root without resetting my $PATH.

__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/issue1645>
__________________________________


More information about the darcs-devel mailing list