1 |
;;; pcvs-parse.el --- the CVS output parser |
;;; pcvs-parse.el --- the CVS output parser |
2 |
|
|
3 |
;; Copyright (C) 1991,92,93,94,95,96,97,98,99,2000,02,2003 |
;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
4 |
;; Free Software Foundation, Inc. |
;; 2000, 2002, 2003, 2004 Free Software Foundation, Inc. |
5 |
|
|
6 |
;; Author: Stefan Monnier <monnier@cs.yale.edu> |
;; Author: Stefan Monnier <monnier@cs.yale.edu> |
7 |
;; Keywords: pcl-cvs |
;; Keywords: pcl-cvs |
370 |
;; File you removed still exists. Ignore (will be noted as removed). |
;; File you removed still exists. Ignore (will be noted as removed). |
371 |
(cvs-match ".* should be removed and is still there$") |
(cvs-match ".* should be removed and is still there$") |
372 |
;; just a note |
;; just a note |
373 |
(cvs-match "use '.+ commit' to \\sw+ th\\sw+ files? permanently$") |
(cvs-match "use ['`].+ commit' to \\sw+ th\\sw+ files? permanently$") |
374 |
;; [add,status] followed by a more complete status description anyway |
;; [add,status] followed by a more complete status description anyway |
375 |
(and (cvs-match "nothing known about \\(.*\\)$" (path 1)) |
(and (cvs-match "nothing known about \\(.*\\)$" (path 1)) |
376 |
(cvs-parsed-fileinfo 'DEAD path 'trust)) |
(cvs-parsed-fileinfo 'DEAD path 'trust)) |
492 |
:head-rev head-rev)))) |
:head-rev head-rev)))) |
493 |
|
|
494 |
(defun cvs-parse-commit () |
(defun cvs-parse-commit () |
495 |
(let (path base-rev subtype) |
(let (path file base-rev subtype) |
496 |
(cvs-or |
(cvs-or |
497 |
|
|
498 |
(and |
(and |
499 |
(cvs-match "\\(Checking in\\|Removing\\) \\(.*\\);$" (path 2)) |
(cvs-or |
500 |
(cvs-match ".*,v <-- .*$") |
(cvs-match "\\(Checking in\\|Removing\\) \\(.*\\);$" (path 2)) |
501 |
|
t) |
502 |
|
(cvs-match ".*,v <-- \\(.*\\)$" (file 1)) |
503 |
(cvs-or |
(cvs-or |
504 |
;; deletion |
;; deletion |
505 |
(cvs-match "new revision: delete; previous revision: \\([0-9.]*\\)$" |
(cvs-match "new revision: delete; previous revision: \\([0-9.]*\\)$" |
510 |
;; update |
;; update |
511 |
(cvs-match "new revision: \\([0-9.]*\\); previous revision: .*$" |
(cvs-match "new revision: \\([0-9.]*\\); previous revision: .*$" |
512 |
(subtype 'COMMITTED) (base-rev 1))) |
(subtype 'COMMITTED) (base-rev 1))) |
513 |
(cvs-match "done$") |
(cvs-or (cvs-match "done$") t) |
514 |
(progn |
(progn |
515 |
;; Try to remove the temp files used by VC. |
;; Try to remove the temp files used by VC. |
516 |
(vc-delete-automatic-version-backups (expand-file-name path)) |
(vc-delete-automatic-version-backups (expand-file-name path)) |
518 |
;; because `cvs commit' might begin by a series of Examining messages |
;; because `cvs commit' might begin by a series of Examining messages |
519 |
;; so the processing of the actual checkin messages might begin with |
;; so the processing of the actual checkin messages might begin with |
520 |
;; a `current-dir' set to something different from "" |
;; a `current-dir' set to something different from "" |
521 |
(cvs-parsed-fileinfo (cons 'UP-TO-DATE subtype) path 'trust |
(cvs-parsed-fileinfo (cons 'UP-TO-DATE subtype) |
522 |
|
(or path file) (if path 'trust) |
523 |
:base-rev base-rev))) |
:base-rev base-rev))) |
524 |
|
|
525 |
;; useless message added before the actual addition: ignored |
;; useless message added before the actual addition: ignored |
528 |
|
|
529 |
(provide 'pcvs-parse) |
(provide 'pcvs-parse) |
530 |
|
|
531 |
;;; arch-tag: 35418375-1a23-40a0-957d-96b0262f91d6 |
;; arch-tag: 35418375-1a23-40a0-957d-96b0262f91d6 |
532 |
;;; pcvs-parse.el ends here |
;;; pcvs-parse.el ends here |