I thought I ran all tests after fixing issue2668 but apparently I
did not. Many of the patch-index tests fail now with darcs issuing
an an error message like
darcs: /tmp/./_darcs/patch_index-f79eaa0fcf98d8b8: createDirectory:
does not exist (No such file or directory)
This is because withPermDir (like withDelayedDir and withTempDir)
interprets relative file paths as relative to /tmp. (This is stupid
IMO, but that's another issue.) It turns out that in the patch index
code we pass a path that starts with (repoLocation repo), which, for
newly created repos, seems to be ".". Which is bad: the repoLocation
of a repo should be an absolute path or URL, never a relative path.
The fix is to convert "." into an absolute path in
Darcs.Repository.Create.
|