Mercurial > emacs
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)) |