diff options
| author | Karl Fogel | 2014-12-03 14:23:26 -0600 |
|---|---|---|
| committer | Karl Fogel | 2014-12-03 14:23:26 -0600 |
| commit | b3298507f92f8cc17dc35090e4036aac787af682 (patch) | |
| tree | e9f5610b3c649ff2124b8defc98eaaaaef94103e | |
| parent | c263a40a9ac76a87b919ca8d425736797c3c399c (diff) | |
| download | emacs-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/ChangeLog | 13 | ||||
| -rw-r--r-- | lisp/vc/vc-svn.el | 4 |
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 @@ | |||
| 1 | 2014-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 | |||
| 1 | 2014-12-03 Stefan Monnier <monnier@iro.umontreal.ca> | 14 | 2014-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, |