]> git.eshelyaron.com Git - emacs.git/commitdiff
* vc-sccs.el (vc-sccs-dir-status):
authorDan Nicolaescu <dann@ics.uci.edu>
Sat, 10 May 2008 03:58:11 +0000 (03:58 +0000)
committerDan Nicolaescu <dann@ics.uci.edu>
Sat, 10 May 2008 03:58:11 +0000 (03:58 +0000)
* vc-rcs.el (vc-rcs-dir-status): Avoid using results from multiple
backends and returning up to date files.

lisp/ChangeLog
lisp/vc-rcs.el
lisp/vc-sccs.el

index f01d7dc292b66ef67df6ebd6807a2efb9af61180..afe82a0f4687563c15768c6ee08d3ac6c36cbb0e 100644 (file)
@@ -1,5 +1,9 @@
 2008-05-10  Dan Nicolaescu  <dann@ics.uci.edu>
 
+       * vc-sccs.el (vc-sccs-dir-status):
+       * vc-rcs.el (vc-rcs-dir-status): Avoid using results from multiple
+       backends and returning up to date files.
+
        * vc-hooks.el (vc-prefix-map): Remove duplicate binding.
 
 2008-05-09  Eric S. Raymond  <esr@snark.thyrsus.com>
index 1125dae044dec17313fc671daea3a2665bf5afb7..f0aab4e90aa1c7a31b64ad8ffd17e6b4f06fde99 100644 (file)
@@ -188,14 +188,21 @@ For a description of possible values, see `vc-check-master-templates'."
         (vc-rcs-state file)))))
 
 (defun vc-rcs-dir-status (dir update-function)
-  ;; Doing individual vc-state calls is painful but tgere
-  ;; is no better way in RCS-land. 
+  ;; FIXME: this function should be rewritten or `vc-expand-dirs'
+  ;; should be changed to take a backend parameter.  Using
+  ;; `vc-expand-dirs' is not TRTD because it returns files from
+  ;; multiple backends.  It should also return 'unregistered files.
+
+  ;; Doing individual vc-state calls is painful but there
+  ;; is no better way in RCS-land.
   (let ((flist (vc-expand-dirs (list dir)))
        (result nil))
     (dolist (file flist)
       (let ((state (vc-state file))
            (frel (file-relative-name file)))
-       (push (list frel state) result)))
+       (when (and (eq (vc-backend file) 'RCS)
+                  (not (eq state 'up-to-date)))
+         (push (list frel state) result))))
     (funcall update-function result)))
 
 (defun vc-rcs-working-revision (file)
index d6e50defdd8a7cc0099f901fb7395bad674c34a8..d4bc33fe9d394e1565ec65ceb73309c894784177 100644 (file)
@@ -152,14 +152,20 @@ For a description of possible values, see `vc-check-master-templates'."
     (vc-sccs-state file)))
 
 (defun vc-sccs-dir-status (dir update-function)
-  ;; Doing lots of individual VC-state calls is painful, but 
+  ;; FIXME: this function should be rewritten, using `vc-expand-dirs'
+  ;; is not TRTD because it returns files from multiple backends.
+  ;; It should also return 'unregistered files.
+
+  ;; Doing lots of individual VC-state calls is painful, but
   ;; there is no better option in SCCS-land.
   (let ((flist (vc-expand-dirs (list dir)))
        (result nil))
     (dolist (file flist)
       (let ((state (vc-state file))
            (frel (file-relative-name file)))
-       (push (list frel state) result)))
+       (when (and (eq (vc-backend file) 'SCCS)
+                  (not (eq state 'up-to-date)))
+         (push (list frel state) result))))
     (funcall update-function result)))
 
 (defun vc-sccs-working-revision (file)