Darcs seems unable to recover from pulling the creation of a directory
that already exists in the current repository.

This script creates different files in the same directory in two
repositories.

  for d in 1 2; do
    rm -rf $d
    mkdir    $d       && darcs init --repodir=$d
    mkdir    $d/dir   && darcs add  --repodir=$d dir
    darcs record --author=$d --all --repodir=$d dir -m "add $d dir"
    echo $d > $d/dir/$d && darcs add  --repodir=$d dir/$d
    darcs record --author=$d --all --repodir=$d dir -m "add $d file"
  done

Then when I pull just the dir from one to the other I get conflicts[1].

  echo -n yd | \
  darcs pull --repodir=1 ../2

Which I resolve by doing

   mkdir /tmp/merged/dir

   cp /tmp/version1/./dir/1  /tmp/merged/./dir/1

in my merger program.  When I'm done there is *nothing* in my repo and

   darcs diff

returns nothing.  When I pull both patches then both files and the
directory are missing and "darcs diff" returns nothing.

How can I recover my file(s) or resolve the conflict?

   mkdir darcs
   darcs add dirr

gives

   darcs: dirr: getSymbolicLinkStatus: does not exist (No such file or 
directory)

I'm not sure where to go from here.

-Jim

[1] of course I can't do this because I get
    "Hit return to move on...darcs: <stdin>: hGetLine: end of file"
    but you can type y d by hand instead.

_______________________________________________
darcs-devel mailing list
[email protected]
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-devel

Reply via email to