[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v
From: |
Dan Nicolaescu |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v |
Date: |
Sat, 19 Jan 2008 16:32:25 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Dan Nicolaescu <dann> 08/01/19 16:32:24
Index: vc-svn.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/vc-svn.el,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -b -r1.64 -r1.65
--- vc-svn.el 18 Jan 2008 23:45:03 -0000 1.64
+++ vc-svn.el 19 Jan 2008 16:32:22 -0000 1.65
@@ -158,11 +158,8 @@
(vc-svn-command t 0 nil "status" (if localp "-v" "-u"))
(vc-svn-parse-status))))
-(defun vc-svn-dir-status (dir)
- "Return a list of conses (FILE . STATE) for DIR."
- (with-temp-buffer
- (let ((default-directory (file-name-as-directory dir))
- (state-map '((?A . added)
+(defun vc-svn-after-dir-status (callback buffer)
+ (let ((state-map '((?A . added)
(?C . edited)
(?D . removed)
(?I . ignored)
@@ -172,14 +169,23 @@
;; This is what vc-svn-parse-status does.
(?~ . edited)))
result)
- (vc-svn-command t 0 nil "status")
(goto-char (point-min))
(while (re-search-forward "^\\(.\\)..... \\(.*\\)$" nil t)
(let ((state (cdr (assq (aref (match-string 1) 0) state-map)))
(filename (match-string 2)))
(when state
(setq result (cons (cons filename state) result)))))
- result)))
+ (funcall callback result buffer)))
+
+(defun vc-svn-dir-status (dir callback buffer)
+ "Run 'svn status' for DIR and update BUFFER via CALLBACK.
+CALLBACK is called as (CALLBACK RESULT BUFFER), where
+RESULT is a list of conses (FILE . STATE) for directory DIR."
+ (with-current-buffer (get-buffer-create
+ (generate-new-buffer-name " *vc svn status*"))
+ (vc-svn-command (current-buffer) 'async nil "status")
+ (vc-exec-after
+ `(vc-svn-after-dir-status (quote ,callback) ,buffer))))
(defun vc-svn-working-revision (file)
"SVN-specific version of `vc-working-revision'."
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Eric S. Raymond, 2008/01/01
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Eric S. Raymond, 2008/01/01
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Eric S. Raymond, 2008/01/01
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Eric S. Raymond, 2008/01/01
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Miles Bader, 2008/01/08
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Dan Nicolaescu, 2008/01/10
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Dan Nicolaescu, 2008/01/14
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Dan Nicolaescu, 2008/01/16
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Dan Nicolaescu, 2008/01/18
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v,
Dan Nicolaescu <=
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Dan Nicolaescu, 2008/01/20
- [Emacs-diffs] Changes to emacs/lisp/vc-svn.el,v, Miles Bader, 2008/01/22