Fix bug whereby saving files hung in VC hook.

Saving a buffer visiting a file under SVN control would hang if the
remote repository were unreachable, because the VC hooks tried to run
"svn status -u" on the file, where the "-u" tells svn to get update
information from the remote repository.
http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00174.html

* vc/vc-svn.el (vc-svn-state): Remove optional `localp' argument
  and always pass "-v" to "svn status", never "-u".
This commit is contained in:
Karl Fogel 2014-12-03 14:23:26 -06:00
parent c263a40a9a
commit b3298507f9
2 changed files with 15 additions and 2 deletions

View file

@ -1,3 +1,16 @@
2014-12-03 Karl Fogel <kfogel@red-bean.com>
Fix bug whereby saving files hung in VC hook.
Saving a buffer visiting a file under SVN control would hang if
the remote repository were unreachable, because the VC hooks tried
to run "svn status -u" on the file, where the "-u" tells svn to
get update information from the remote repository.
http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00174.html
* vc/vc-svn.el (vc-svn-state): Remove optional `localp'
argument and always pass "-v" to "svn status", never "-u".
2014-12-03 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/inline.el: Fix up copyright header.

View file

@ -153,12 +153,12 @@ If you want to force an empty list of arguments, use t."
(let ((parsed (vc-svn-parse-status file)))
(and parsed (not (memq parsed '(ignored unregistered))))))))))
(defun vc-svn-state (file &optional localp)
(defun vc-svn-state (file)
"SVN-specific version of `vc-state'."
(let (process-file-side-effects)
(with-temp-buffer
(cd (file-name-directory file))
(vc-svn-command t 0 file "status" (if localp "-v" "-u"))
(vc-svn-command t 0 file "status" "-v")
(vc-svn-parse-status file))))
;; FIXME it would be better not to have the "remote" argument,