Here's my finding of what happened:
We had recently added a new darcs developer, but put them in the wrong
Unix group. They could push to the repo fine, but doing so changed the
"group" of the files in _darcs/patches/patch_index
After this point, pushes by other developers to this repo would fail due
to related permissions issues. Our "fix" was to corrupt the group being
used for all files in that repo.
The fix for darcs should be to be defensive about possible permissions
issues related to patch index, and provide an error message that points
users in the right direction.
The current message references a directory: "/repo/filecache-tmp-3" and a
message about a directory: "Directory not empty", but I suspect the
directory that is "not empty" is really _darcs/patches/patch_index. I can
see that the "filecache_tmp" directory is indeed full of files.
The related issue is that it appears further testing should be done to
confirm that --disable-patch-index is really working. Test this
combination:
- Enable patch index, so files are exist in _darcs/patches/patch_index
- make the files so that they are not writable
- run darcs optimize --disable-patch-index
- Attempt to push to this repo.
I would expect it to work since patch-index is (reportedly) successfully
disabled, but in my case it did not.
|