1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-17 17:58:46 +00:00

* 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.
This commit is contained in:
Dan Nicolaescu 2008-05-10 03:58:11 +00:00
parent 0108dbd656
commit 4b1a01b30e
3 changed files with 22 additions and 5 deletions

View 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>

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

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