diff options
| author | Olivier Certner | 2023-04-06 10:52:23 +0200 |
|---|---|---|
| committer | Dmitry Gutov | 2023-04-19 03:47:20 +0300 |
| commit | 648f58294bbbcd2b439019e93c1dccac5d9cac9d (patch) | |
| tree | dc4d4be097a5958aaf5968e184e17edf83773092 | |
| parent | 7a921b6b284a8b5755c61045f4db03f09ff0a386 (diff) | |
| download | emacs-648f58294bbbcd2b439019e93c1dccac5d9cac9d.tar.gz emacs-648f58294bbbcd2b439019e93c1dccac5d9cac9d.zip | |
VC: CVS: Fix parsing of 'cvs -qn update' for missing files for 1.12
* lisp/vc/vc-cvs.el (vc-cvs-after-dir-status): Fix the name reported
for missing files in the case of CVS 1.12.3+ where name is quoted in
the warning line (it was not before this version). Use instead the
following U line, where the name is never quoted on all versions.
| -rw-r--r-- | lisp/vc/vc-cvs.el | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el index b826390a034..c6056c1e5bd 100644 --- a/lisp/vc/vc-cvs.el +++ b/lisp/vc/vc-cvs.el | |||
| @@ -1029,13 +1029,16 @@ state." | |||
| 1029 | (cdr (assoc (char-after) translation))) | 1029 | (cdr (assoc (char-after) translation))) |
| 1030 | result) | 1030 | result) |
| 1031 | (cond | 1031 | (cond |
| 1032 | ((looking-at "cvs update: warning: \\(.*\\) was lost") | 1032 | ((looking-at "cvs update: warning: .* was lost") |
| 1033 | ;; Format is: | 1033 | ;; Format is: |
| 1034 | ;; cvs update: warning: FILENAME was lost | 1034 | ;; cvs update: warning: FILENAME was lost |
| 1035 | ;; U FILENAME | 1035 | ;; U FILENAME |
| 1036 | (push (list (match-string 1) 'missing) result) | 1036 | ;; with FILENAME in the first line possibly enclosed in |
| 1037 | ;; Skip the "U" line | 1037 | ;; quotes (since CVS 1.12.3). To avoid problems, use the U |
| 1038 | (forward-line 1)) | 1038 | ;; line where name is never quoted. |
| 1039 | (forward-line 1) | ||
| 1040 | (when (looking-at "^U \\(.*\\)$") | ||
| 1041 | (push (list (match-string 1) 'missing) result))) | ||
| 1039 | ((looking-at "cvs update: New directory `\\(.*\\)' -- ignored") | 1042 | ((looking-at "cvs update: New directory `\\(.*\\)' -- ignored") |
| 1040 | (push (list (match-string 1) 'unregistered) result)))) | 1043 | (push (list (match-string 1) 'unregistered) result)))) |
| 1041 | (forward-line 1)) | 1044 | (forward-line 1)) |