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>
(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)
(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)