The test script tests/convert_export.sh exemplifies the problem. To see
what's wrong, run the test with --test-dir and in the resulting
gitmirror directory check the commits (e.g. git log --unified=1). The
second commit is wrong, it deletes the file d/f but does not create e/f.
This can also be seen if the pipe is replaced with a file, e.g.
darcs convert export --read-marks darcs-to-git.marks --write-marks
darcs-to-git.marks > fex2
(cd gitmirror && git fast-import --import-marks=git.marks
--export-marks=git.marks < ../fex2)
> grep e/f fex2
progress 2: Move d/f to e/f.
Move d/f to e/f.
The cause of the problem seems to be that
Storage.Hashed.Monad.fileExists does not report True as it should.