aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl Fogel2014-12-03 14:23:26 -0600
committerKarl Fogel2014-12-03 14:23:26 -0600
commitb3298507f92f8cc17dc35090e4036aac787af682 (patch)
treee9f5610b3c649ff2124b8defc98eaaaaef94103e
parentc263a40a9ac76a87b919ca8d425736797c3c399c (diff)
downloademacs-b3298507f92f8cc17dc35090e4036aac787af682.tar.gz
emacs-b3298507f92f8cc17dc35090e4036aac787af682.zip
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".
-rw-r--r--lisp/ChangeLog13
-rw-r--r--lisp/vc/vc-svn.el4
2 files changed, 15 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e9f98340fad..2309fc57e79 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,16 @@
12014-12-03 Karl Fogel <kfogel@red-bean.com>
2
3 Fix bug whereby saving files hung in VC hook.
4
5 Saving a buffer visiting a file under SVN control would hang if
6 the remote repository were unreachable, because the VC hooks tried
7 to run "svn status -u" on the file, where the "-u" tells svn to
8 get update information from the remote repository.
9 http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00174.html
10
11 * vc/vc-svn.el (vc-svn-state): Remove optional `localp'
12 argument and always pass "-v" to "svn status", never "-u".
13
12014-12-03 Stefan Monnier <monnier@iro.umontreal.ca> 142014-12-03 Stefan Monnier <monnier@iro.umontreal.ca>
2 15
3 * emacs-lisp/inline.el: Fix up copyright header. 16 * emacs-lisp/inline.el: Fix up copyright header.
diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el
index abeeac0be14..e29dae4d47c 100644
--- a/lisp/vc/vc-svn.el
+++ b/lisp/vc/vc-svn.el
@@ -153,12 +153,12 @@ If you want to force an empty list of arguments, use t."
153 (let ((parsed (vc-svn-parse-status file))) 153 (let ((parsed (vc-svn-parse-status file)))
154 (and parsed (not (memq parsed '(ignored unregistered)))))))))) 154 (and parsed (not (memq parsed '(ignored unregistered))))))))))
155 155
156(defun vc-svn-state (file &optional localp) 156(defun vc-svn-state (file)
157 "SVN-specific version of `vc-state'." 157 "SVN-specific version of `vc-state'."
158 (let (process-file-side-effects) 158 (let (process-file-side-effects)
159 (with-temp-buffer 159 (with-temp-buffer
160 (cd (file-name-directory file)) 160 (cd (file-name-directory file))
161 (vc-svn-command t 0 file "status" (if localp "-v" "-u")) 161 (vc-svn-command t 0 file "status" "-v")
162 (vc-svn-parse-status file)))) 162 (vc-svn-parse-status file))))
163 163
164;; FIXME it would be better not to have the "remote" argument, 164;; FIXME it would be better not to have the "remote" argument,