GNU bug report logs - #2964
vc-dir support for vc-mtn.el

Previous Next

Package: emacs;

Reported by: Dan Nicolaescu <dann <at> ics.uci.edu>

Date: Sat, 11 Apr 2009 15:40:05 UTC

Severity: normal

Done: Dan Nicolaescu <dann <at> ics.uci.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dan Nicolaescu <dann <at> ics.uci.edu>
To: bug-gnu-emacs <bug-gnu-emacs <at> gnu.org>
Subject: bug#2964: vc-dir support for vc-mtn.el
Date: Sat, 11 Apr 2009 08:31:48 -0700 (PDT)
vc-mtn.el does not support vc-dir.

The patch below adds that support.  It reuses some regexps from elsewhere in the file.
Archiving here so that it can be applied whenever it's acceptable.

Index: vc-mtn.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/vc-mtn.el,v
retrieving revision 1.23
diff -u -3 -p -c -r1.23 vc-mtn.el
cvs diff: conflicting specifications of output style
*** vc-mtn.el         1 Apr 2009 20:01:19 -0000 1.23
--- vc-mtn.el         11 Apr 2009 07:44:39 -0000
*************** If nil, use the value of `vc-diff-switch
*** 106,111 ****
--- 106,126 ----
         ((match-end 2) 'added)
              (t 'up-to-date)))))
  
+ (defun vc-mtn-after-dir-status (update-function)
+   (let (result)
+     (goto-char (point-min))
+     (re-search-forward "Current branch: \\(.*\\)\nChanges against parent \\(.*\\)" nil t)
+     (while (re-search-forward
+         "^  \\(?:\\(patched  \\)\\|\\(added    \\)\\)\\(.*\\)$" nil t)
+       (cond  ((match-end 1) (push (list (match-string 3) 'edited) result))
+            ((match-end 2) (push (list (match-string 3) 'added) result))))
+     (funcall update-function result)))
+ 
+ (defun vc-mtn-dir-status (dir update-function)
+   (vc-mtn-command (current-buffer) 'async dir "status")
+   (vc-exec-after
+    `(vc-mtn-after-dir-status (quote ,update-function))))
+ 
  (defun vc-mtn-working-revision (file)
    ;; If `mtn' fails or returns status>0, or if the search fails, just
    ;; return nil.





This bug report was last modified 15 years and 272 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.