1

I have Subversion exclusive-locking enabled to increase SVN performance. If I commit a file the svn command line client opens Emacs so I can enter a commit message. But Emacs VC tries to determine the SVN status of the commit message file svn-commit.tmp with the command svn --non-interactive status -v svn-commit.tmp. That blocks because the commit command has the exclusive lock and I have to wait for the status timeout (10 seconds) until I can type my commit message. How can I disable version control for *.tmp files in Emacs to prevent that wait time? I didn't find an option to exclude files from VC.

  • Does adding *.tmp to svn:ignore help? – nega Mar 28 '19 at 19:54
  • @nega It does not help to add *.tmp to svn:ignore, Emacs VC will run svn status for any file it opens. – holger Mar 29 '19 at 15:39
0

You can override VC handled backends for specific file based on filename:

(defun my/find-file-hook ()
  (when (string-match-p "^svn-commit.*tmp$" (file-name-nondirectory (buffer-file-name)))
    (set (make-local-variable 'vc-handled-backends) nil)))

(add-hook 'find-file-hook #'my/find-file-hook)
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.