I've just run into the following problem while sending a patch. (It
would also occur when recording a patch.)
darcs fired up an Emacs session (via emacsclient, my EDITOR) to edit
the description. That hung. (Typing ^C at darcs sent the patch
without the explanation I'd have added, which is probably a bug.)
The reason is that the temporary editor file is created in the
repository, and my Emacs has darcs VC support, so that when it finds a
file it checks if it's registered with darcs. It does that by running
`darcs query manifest' (rather than grovelling files in _darcs). That
invocation of darcs hangs on the lock in the repository.
I've hacked a special case into the Emacs support, which should fix it
(as long as temporary file names match "^.darcs"), but this seems
unfortunate, and I could imagine it happening with other systems.
I wonder (a) whether `darcs query' (and other read-only commands)
really needs the lock, and (b) why the temporary editor files are
created in the repository. I'd expect them to be created in TMPDIR
(or whatever's appropriate on the system).
|