diff options
| author | Stefan Monnier | 2004-08-19 22:29:06 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2004-08-19 22:29:06 +0000 |
| commit | 80a831bcfd0f4972ca54ae9a93c1ee9c225d74ad (patch) | |
| tree | c5bd9eeb4ad59c33b808c53708e71f3728d03131 /lisp | |
| parent | 789f332078f832f5cba45cf72ad3ec7acbe05084 (diff) | |
| download | emacs-80a831bcfd0f4972ca54ae9a93c1ee9c225d74ad.tar.gz emacs-80a831bcfd0f4972ca54ae9a93c1ee9c225d74ad.zip | |
(cvs-parse-table, cvs-parse-commit): Try to adapt to
the newer format of some messages in cvs-1.12.1.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/pcvs-parse.el | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/lisp/pcvs-parse.el b/lisp/pcvs-parse.el index c1726ee84c7..84dbf218581 100644 --- a/lisp/pcvs-parse.el +++ b/lisp/pcvs-parse.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; pcvs-parse.el --- the CVS output parser | 1 | ;;; pcvs-parse.el --- the CVS output parser |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1991,92,93,94,95,96,97,98,99,2000,02,2003 | 3 | ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; 2000, 2002, 2003, 2004 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Stefan Monnier <monnier@cs.yale.edu> | 6 | ;; Author: Stefan Monnier <monnier@cs.yale.edu> |
| 7 | ;; Keywords: pcl-cvs | 7 | ;; Keywords: pcl-cvs |
| @@ -370,7 +370,7 @@ The remaining KEYS are passed directly to `cvs-create-fileinfo'." | |||
| 370 | ;; File you removed still exists. Ignore (will be noted as removed). | 370 | ;; File you removed still exists. Ignore (will be noted as removed). |
| 371 | (cvs-match ".* should be removed and is still there$") | 371 | (cvs-match ".* should be removed and is still there$") |
| 372 | ;; just a note | 372 | ;; just a note |
| 373 | (cvs-match "use '.+ commit' to \\sw+ th\\sw+ files? permanently$") | 373 | (cvs-match "use ['`].+ commit' to \\sw+ th\\sw+ files? permanently$") |
| 374 | ;; [add,status] followed by a more complete status description anyway | 374 | ;; [add,status] followed by a more complete status description anyway |
| 375 | (and (cvs-match "nothing known about \\(.*\\)$" (path 1)) | 375 | (and (cvs-match "nothing known about \\(.*\\)$" (path 1)) |
| 376 | (cvs-parsed-fileinfo 'DEAD path 'trust)) | 376 | (cvs-parsed-fileinfo 'DEAD path 'trust)) |
| @@ -492,12 +492,14 @@ The remaining KEYS are passed directly to `cvs-create-fileinfo'." | |||
| 492 | :head-rev head-rev)))) | 492 | :head-rev head-rev)))) |
| 493 | 493 | ||
| 494 | (defun cvs-parse-commit () | 494 | (defun cvs-parse-commit () |
| 495 | (let (path base-rev subtype) | 495 | (let (path file base-rev subtype) |
| 496 | (cvs-or | 496 | (cvs-or |
| 497 | 497 | ||
| 498 | (and | 498 | (and |
| 499 | (cvs-match "\\(Checking in\\|Removing\\) \\(.*\\);$" (path 2)) | 499 | (cvs-or |
| 500 | (cvs-match ".*,v <-- .*$") | 500 | (cvs-match "\\(Checking in\\|Removing\\) \\(.*\\);$" (path 2)) |
| 501 | t) | ||
| 502 | (cvs-match ".*,v <-- \\(.*\\)$" (file 1)) | ||
| 501 | (cvs-or | 503 | (cvs-or |
| 502 | ;; deletion | 504 | ;; deletion |
| 503 | (cvs-match "new revision: delete; previous revision: \\([0-9.]*\\)$" | 505 | (cvs-match "new revision: delete; previous revision: \\([0-9.]*\\)$" |
| @@ -508,7 +510,7 @@ The remaining KEYS are passed directly to `cvs-create-fileinfo'." | |||
| 508 | ;; update | 510 | ;; update |
| 509 | (cvs-match "new revision: \\([0-9.]*\\); previous revision: .*$" | 511 | (cvs-match "new revision: \\([0-9.]*\\); previous revision: .*$" |
| 510 | (subtype 'COMMITTED) (base-rev 1))) | 512 | (subtype 'COMMITTED) (base-rev 1))) |
| 511 | (cvs-match "done$") | 513 | (cvs-or (cvs-match "done$") t) |
| 512 | (progn | 514 | (progn |
| 513 | ;; Try to remove the temp files used by VC. | 515 | ;; Try to remove the temp files used by VC. |
| 514 | (vc-delete-automatic-version-backups (expand-file-name path)) | 516 | (vc-delete-automatic-version-backups (expand-file-name path)) |
| @@ -516,7 +518,8 @@ The remaining KEYS are passed directly to `cvs-create-fileinfo'." | |||
| 516 | ;; because `cvs commit' might begin by a series of Examining messages | 518 | ;; because `cvs commit' might begin by a series of Examining messages |
| 517 | ;; so the processing of the actual checkin messages might begin with | 519 | ;; so the processing of the actual checkin messages might begin with |
| 518 | ;; a `current-dir' set to something different from "" | 520 | ;; a `current-dir' set to something different from "" |
| 519 | (cvs-parsed-fileinfo (cons 'UP-TO-DATE subtype) path 'trust | 521 | (cvs-parsed-fileinfo (cons 'UP-TO-DATE subtype) |
| 522 | (or path file) (if path 'trust) | ||
| 520 | :base-rev base-rev))) | 523 | :base-rev base-rev))) |
| 521 | 524 | ||
| 522 | ;; useless message added before the actual addition: ignored | 525 | ;; useless message added before the actual addition: ignored |
| @@ -525,5 +528,5 @@ The remaining KEYS are passed directly to `cvs-create-fileinfo'." | |||
| 525 | 528 | ||
| 526 | (provide 'pcvs-parse) | 529 | (provide 'pcvs-parse) |
| 527 | 530 | ||
| 528 | ;;; arch-tag: 35418375-1a23-40a0-957d-96b0262f91d6 | 531 | ;; arch-tag: 35418375-1a23-40a0-957d-96b0262f91d6 |
| 529 | ;;; pcvs-parse.el ends here | 532 | ;;; pcvs-parse.el ends here |