(vc-bzr-after-dir-status): Parse the output for non
authorDan Nicolaescu <dann@ics.uci.edu>
Sun, 5 Oct 2008 00:08:49 +0000 (00:08 +0000)
committerDan Nicolaescu <dann@ics.uci.edu>
Sun, 5 Oct 2008 00:08:49 +0000 (00:08 +0000)
existent files.
(vc-bzr-dir-status-files): New function.

lisp/ChangeLog
lisp/vc-bzr.el

index 550d787..3144a00 100644 (file)
@@ -1,3 +1,9 @@
+2008-10-05  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * vc-bzr.el (vc-bzr-after-dir-status): Parse the output for non
+       existent files.
+       (vc-bzr-dir-status-files): New function.
+
 2008-10-04  Glenn Morris  <rgm@gnu.org>
 
        * files.el (make-temp-file): Handle empty `prefix'.  (Bug#1081)
index 45269e5..2fa1ee2 100644 (file)
@@ -611,6 +611,9 @@ stream.  Standard error output is discarded."
                       ("?  " . unregistered)
                       ;; No such state, but we need to distinguish this case.
                       ("R  " . renamed)
+                      ;; For a non existent file FOO, the output is:
+                      ;; bzr: ERROR: Path(s) do not exist: FOO
+                      ("bzr" . not-found)
                        ;; Ignore "P " and "P." for pending patches.
                        ))
        (translated nil)
@@ -640,6 +643,8 @@ stream.  Standard error output is discarded."
                (old-name (match-string 1)))
            (push (list new-name 'edited
                      (vc-bzr-create-extra-fileinfo old-name)) result)))
+        ;; do nothing for non existent files
+        ((eq translated 'not-found))
         (t
          (push (list (buffer-substring-no-properties
                       (+ (point) 4)
@@ -654,6 +659,11 @@ stream.  Standard error output is discarded."
   (vc-exec-after
    `(vc-bzr-after-dir-status (quote ,update-function))))
 
+(defun vc-bzr-dir-status-files (dir files default-state update-function)
+  "Return a list of conses (file . state) for DIR."
+  (apply 'vc-bzr-command "status" (current-buffer) 'async dir "-v" "-S" files)
+  (vc-exec-after
+   `(vc-bzr-after-dir-status (quote ,update-function))))
 ;;; Revision completion
 
 (defun vc-bzr-revision-completion-table (files)