comparison lisp/vc-cvs.el @ 87424:c0ee02a9ac55

*** empty log message ***
author Eric S. Raymond <esr@snark.thyrsus.com>
date Wed, 26 Dec 2007 23:24:08 +0000
parents f358a2fd5895
children 1aea302af710
comparison
equal deleted inserted replaced
87423:5bacaebfade5 87424:c0ee02a9ac55
210 (if (equal checkout-time lastmod) 210 (if (equal checkout-time lastmod)
211 'up-to-date 211 'up-to-date
212 'edited))) 212 'edited)))
213 213
214 (defun vc-cvs-dir-state (dir) 214 (defun vc-cvs-dir-state (dir)
215 "Find the CVS state of all files in DIR." 215 "Find the CVS state of all files in DIR and subdirectories."
216 ;; if DIR is not under CVS control, don't do anything. 216 ;; if DIR is not under CVS control, don't do anything.
217 (when (file-readable-p (expand-file-name "CVS/Entries" dir)) 217 (when (file-readable-p (expand-file-name "CVS/Entries" dir))
218 (if (vc-stay-local-p dir) 218 (if (vc-stay-local-p dir)
219 (vc-cvs-dir-state-heuristic dir) 219 (vc-cvs-dir-state-heuristic dir)
220 (let ((default-directory dir)) 220 (let ((default-directory dir))
221 ;; Don't specify DIR in this command, the default-directory is 221 ;; Don't specify DIR in this command, the default-directory is
222 ;; enough. Otherwise it might fail with remote repositories. 222 ;; enough. Otherwise it might fail with remote repositories.
223 (with-temp-buffer 223 (with-temp-buffer
224 (vc-cvs-command t 0 nil "status" "-l") 224 (vc-cvs-command t 0 nil "status")
225 (goto-char (point-min)) 225 (goto-char (point-min))
226 (while (re-search-forward "^=+\n\\([^=\n].*\n\\|\n\\)+" nil t) 226 (while (re-search-forward "^=+\n\\([^=\n].*\n\\|\n\\)+" nil t)
227 (narrow-to-region (match-beginning 0) (match-end 0)) 227 (narrow-to-region (match-beginning 0) (match-end 0))
228 (vc-cvs-parse-status) 228 (vc-cvs-parse-status)
229 (goto-char (point-max)) 229 (goto-char (point-max))