]> git.eshelyaron.com Git - emacs.git/commitdiff
Remove wash-log from the VC backend API.
authorEric S. Raymond <esr@snark.thyrsus.com>
Fri, 9 May 2008 17:30:49 +0000 (17:30 +0000)
committerEric S. Raymond <esr@snark.thyrsus.com>
Fri, 9 May 2008 17:30:49 +0000 (17:30 +0000)
lisp/ChangeLog
lisp/vc-cvs.el
lisp/vc-git.el
lisp/vc-hg.el
lisp/vc-mtn.el
lisp/vc-rcs.el
lisp/vc-sccs.el
lisp/vc-svn.el
lisp/vc.el

index 4b2d890ae413de56ec84c0ac119aa3fa16c51abd..8bb2f4809d2e376ed5426824925b1019962acf3e 100644 (file)
@@ -1,5 +1,11 @@
 2008-05-09  Eric S. Raymond  <esr@snark.thyrsus.com>
 
+       * vc-sccs.el, vc.svn.el, vc-git.el, vc-hg.el, vc-mtn.el: Remove
+       stub implementations of, and references to, wash-log.
+       * vc-rcs.el (vc-rcs-comment-history), 
+       vc-cvs.el (vc-cvs-comment-history):
+       Inline the code that used to be wash-log.
+
        * vc-scs.el (vc-sccs-checkin, vc-sccs-checkout, vc-sccs-rollback)
        (vc-sccs-revert, vc-sccs-steal-lock, vc-sccs-modify-change-comment)
        (vc-sccs-print-log, vc-sccs-diff): Grok directories.
index f8cf5804eb4e04e2ef0a80251f77bcb6a2e44c80..603b61d17301612e17a16639cd7890cbe8b6cff3 100644 (file)
@@ -492,10 +492,9 @@ Will fail unless you have administrative privileges on the repo."
    (if (vc-stay-local-p files) 'async 0)
    files "log"))
 
-(defun vc-cvs-wash-log ()
-  "Remove all non-comment information from log output."
-  (vc-call-backend 'RCS 'wash-log)
-  nil)
+(defun vc-cvs-comment-history (file)
+  "Get comment history of a file."
+  (vc-call-backend 'RCS 'comment-history file))
 
 (defun vc-cvs-diff (files &optional oldvers newvers buffer)
   "Get a difference report using CVS between two revisions of FILE."
index 27b35c4240b04c3b73094c593e8fc6ee5d63567c..bf58572a083c75bdfc7f4d57f67ce9b3e0b86fd3 100644 (file)
@@ -79,7 +79,6 @@
 ;; * print-log (files &optional buffer)                   OK
 ;; - log-view-mode ()                             OK
 ;; - show-log-entry (revision)                    OK
-;; - wash-log (file)                              COULD BE SUPPORTED
 ;; - comment-history (file)                       ??
 ;; - update-changelog (files)                     COULD BE SUPPORTED
 ;; * diff (file &optional rev1 rev2 buffer)       OK
index a66a9942b27f7614fe983464cdd258aee18fa8d5..3867c371e73fcdb6ae259283631cde1cd5865ed7 100644 (file)
@@ -68,7 +68,6 @@
 ;; * print-log (files &optional buffer)        OK
 ;; - log-view-mode ()                          OK
 ;; - show-log-entry (revision)                  NOT NEEDED, DEFAULT IS GOOD
-;; - wash-log (file)                           ??
 ;; - comment-history (file)                    NOT NEEDED
 ;; - update-changelog (files)                  NOT NEEDED
 ;; * diff (files &optional rev1 rev2 buffer)   OK
index d64f05c8091ac658bba5ec45caf00dc5f303b1c4..d4d1b1ff8e38f8cf3060f0bbf15a82c70247799a 100644 (file)
 ;; (defun vc-mtn-show-log-entry (revision)
 ;;   )
 
-(defun vc-mtn-wash-log (file))
-
 (defun vc-mtn-diff (files &optional rev1 rev2 buffer)
   (apply 'vc-mtn-command (or buffer "*vc-diff*") 1 files "diff"
          (append (if rev1 (list "-r" rev1)) (if rev2 (list "-r" rev2)))))
index 2df84eb3189fb70898f493c31e5cc191cb1797b7..227178d1c86ec1ff8d8033f9263524f82ac57fc4 100644 (file)
@@ -547,23 +547,29 @@ Needs RCS 5.6.2 or later for -M."
                        (and newvers (concat "-r" newvers)))
                  (vc-switches 'RCS 'diff))))
 
-(defun vc-rcs-wash-log ()
-  "Remove all non-comment information from log output."
-  (let ((separator (concat "^-+\nrevision [0-9.]+\ndate: .*\n"
-                          "\\(branches: .*;\n\\)?"
-                          "\\(\\*\\*\\* empty log message \\*\\*\\*\n\\)?")))
-    (goto-char (point-max)) (forward-line -1)
-    (while (looking-at "=*\n")
-      (delete-char (- (match-end 0) (match-beginning 0)))
-      (forward-line -1))
-    (goto-char (point-min))
-    (if (looking-at "[\b\t\n\v\f\r ]+")
-       (delete-char (- (match-end 0) (match-beginning 0))))
-    (goto-char (point-min))
-    (re-search-forward separator nil t)
-    (delete-region (point-min) (point))
-    (while (re-search-forward separator nil t)
-      (delete-region (match-beginning 0) (match-end 0)))))
+(defun vc-rcs-comment-history (file)
+  "Return a string with all log entries stored in BACKEND for FILE."
+  (with-current-buffer "*vc*"
+    ;; Has to be written this way, this function is used by the CVS backend too
+    (vc-call-backend (vc-backend file) 'print-log (list file))
+    ;; Remove cruft
+    (let ((separator (concat "^-+\nrevision [0-9.]+\ndate: .*\n"
+                            "\\(branches: .*;\n\\)?"
+                            "\\(\\*\\*\\* empty log message \\*\\*\\*\n\\)?")))
+      (goto-char (point-max)) (forward-line -1)
+      (while (looking-at "=*\n")
+       (delete-char (- (match-end 0) (match-beginning 0)))
+       (forward-line -1))
+      (goto-char (point-min))
+      (if (looking-at "[\b\t\n\v\f\r ]+")
+         (delete-char (- (match-end 0) (match-beginning 0))))
+      (goto-char (point-min))
+      (re-search-forward separator nil t)
+      (delete-region (point-min) (point))
+      (while (re-search-forward separator nil t)
+       (delete-region (match-beginning 0) (match-end 0))))
+    ;; Return the de-crufted comment list
+    (buffer-string)))
 
 (defun vc-rcs-annotate-command (file buffer &optional revision)
   "Annotate FILE, inserting the results in BUFFER.
index af3a226052a33dced201b6fcd88575840d04d340..d6e50defdd8a7cc0099f901fb7395bad674c34a8 100644 (file)
@@ -332,11 +332,6 @@ revert all subfiles."
   (setq files (vc-expand-dirs files))
   (vc-sccs-do-command buffer 0 "prs" (mapcar 'vc-name files)))
 
-(defun vc-sccs-wash-log ()
-  "Remove all non-comment information from log output."
-  ;; FIXME: not implemented for SCCS
-  nil)
-
 (defun vc-sccs-diff (files &optional oldvers newvers buffer)
   "Get a difference report using SCCS between two filesets."
   (setq files (vc-expand-dirs files))
index 49c4c4153e6a1a8e8bc63a7861ec1fe0f80423be..7b12717dd817bc96d131f7b4e8907c22046324c4 100644 (file)
@@ -431,11 +431,6 @@ or svn+ssh://."
        ;; Dump log for the entire directory.
        (vc-svn-command buffer 0 nil "log" "-rHEAD:0")))))
 
-(defun vc-svn-wash-log ()
-  "Remove all non-comment information from log output."
-  ;; FIXME: not implemented for SVN
-  nil)
-
 (defun vc-svn-diff (files &optional oldvers newvers buffer)
   "Get a difference report using SVN between two revisions of fileset FILES."
   (and oldvers
index 052ee7ce9e1050044a2c6c1d2a718ca668e265e3..55126cf5cfa23263f059937377eb0a0854cd9aef 100644 (file)
@@ -55,7 +55,7 @@
 ;; This mode is fully documented in the Emacs user's manual.
 ;;
 ;; Supported version-control systems presently include CVS, RCS, GNU
-;; Arch, Subversion, Bzr, Git, Mercurial, Meta-CVS, Monotone and SCCS
+;; Arch, Subversion, Bzr, Git, Mercurial, Monotone and SCCS
 ;; (or its free replacement, CSSC).
 ;;
 ;; Some features will not work with old RCS versions.  Where
 ;;   and make sure it is displayed in the buffer's window.  The default
 ;;   implementation of this function works for RCS-style logs.
 ;;
-;; - wash-log (file)
-;;
-;;   Remove all non-comment information from the output of print-log.
-;;
 ;; - comment-history (file)
 ;;
 ;;   Return a string containing all log entries that were made for FILE.
 ;;   This is used for transferring a file from one backend to another,
-;;   retaining comment information.  The default implementation of this
-;;   function does this by calling print-log and then wash-log, and
-;;   returning the resulting buffer contents as a string.
+;;   retaining comment information. 
 ;;
 ;; - update-changelog (files)
 ;;
@@ -2709,7 +2703,6 @@ to provide the `find-revision' operation instead."
   (when (vc-find-backend-function backend 'print-log)
     (with-current-buffer "*vc*"
       (vc-call-backend backend 'print-log (list file))
-      (vc-call-backend backend 'wash-log)
       (buffer-string))))
 
 (defun vc-default-receive-file (backend file rev)