emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master b5a0603: Use vc-switches on vc-*-annotate-command


From: Oscar Fuentes
Subject: [Emacs-diffs] master b5a0603: Use vc-switches on vc-*-annotate-command
Date: Thu, 26 Feb 2015 14:51:25 +0000

branch: master
commit b5a0603eb41c7a350c16a1b3ec5c1b8d8c84a4eb
Author: Oscar Fuentes <address@hidden>
Commit: Oscar Fuentes <address@hidden>

    Use vc-switches on vc-*-annotate-command
    
    This also removes switch "-C -C" from vc-git-annotate-command.
    
    Fixes: debbugs:17945
    
    * vc/vc.el (vc-annotate-switches): New defcustom.
    * vc/vc-bzr.el (vc-bzr-annotate-switches): New defcustom.
    (vc-bzr-annotate-command): Use it.
    * vc/vc-cvs.el (vc-cvs-annotate-switches): New defcustom.
    (vc-cvs-annotate-command): Use it.
    * vc/vc-git.el (vc-git-annotate-switches): New defcustom.
    (vc-git-annotate-command): Use it.
    * vc/vc-hg.el (vc-hg-annotate-switches): New defcustom.
    (vc-hg-annotate-command): Use it.
    * vc/vc-mtn.el (vc-mtn-annotate-switches): New defcustom.
    (vc-mtn-annotate-command): Use it.
    * vc/vc-svn.el (vc-svn-annotate-switches): New defcustom.
    (vc-svn-annotate-command): Use it.
---
 lisp/ChangeLog    |   16 ++++++++++++++++
 lisp/vc/vc-bzr.el |   13 ++++++++++++-
 lisp/vc/vc-cvs.el |   22 +++++++++++++++++-----
 lisp/vc/vc-git.el |   14 +++++++++++++-
 lisp/vc/vc-hg.el  |   16 ++++++++++++++--
 lisp/vc/vc-mtn.el |   16 ++++++++++++++--
 lisp/vc/vc-svn.el |   15 ++++++++++++++-
 lisp/vc/vc.el     |   20 ++++++++++++++++++++
 8 files changed, 120 insertions(+), 12 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 8ccc2c3..749bd34 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,19 @@
+2015-02-26  Oscar Fuentes  <address@hidden>
+
+       * vc/vc.el (vc-annotate-switches): New defcustom.
+       * vc/vc-bzr.el (vc-bzr-annotate-switches): New defcustom.
+       (vc-bzr-annotate-command): Use it.
+       * vc/vc-cvs.el (vc-cvs-annotate-switches): New defcustom.
+       (vc-cvs-annotate-command): Use it.
+       * vc/vc-git.el (vc-git-annotate-switches): New defcustom.
+       (vc-git-annotate-command): Use it.
+       * vc/vc-hg.el (vc-hg-annotate-switches): New defcustom.
+       (vc-hg-annotate-command): Use it.
+       * vc/vc-mtn.el (vc-mtn-annotate-switches): New defcustom.
+       (vc-mtn-annotate-command): Use it.
+       * vc/vc-svn.el (vc-svn-annotate-switches): New defcustom.
+       (vc-svn-annotate-command): Use it.
+
 2015-02-26  Alan Mackenzie  <address@hidden>
 
        Handle "#" operator properly inside macro.  Fix coding bug.
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el
index 96d6d1d..811f9e8 100644
--- a/lisp/vc/vc-bzr.el
+++ b/lisp/vc/vc-bzr.el
@@ -73,6 +73,16 @@ If nil, use the value of `vc-diff-switches'.  If t, use no 
switches."
                  (repeat :tag "Argument List" :value ("") string))
   :group 'vc-bzr)
 
+(defcustom vc-bzr-annotate-switches nil
+  "String or list of strings specifying switches for bzr annotate under VC.
+If nil, use the value of `vc-annotate-switches'.  If t, use no switches."
+  :type '(choice (const :tag "Unspecified" nil)
+                (const :tag "None" t)
+                (string :tag "Argument String")
+                (repeat :tag "Argument List" :value ("") string))
+  :version "25.1"
+  :group 'vc-bzr)
+
 (defcustom vc-bzr-log-switches nil
   "String or list of strings specifying switches for bzr log under VC."
   :type '(choice (const :tag "None" nil)
@@ -826,7 +836,8 @@ If LIMIT is non-nil, show no more than this many entries."
 Each line is tagged with the revision number, which has a `help-echo'
 property containing author and date information."
   (apply #'vc-bzr-command "annotate" buffer 'async file "--long" "--all"
-         (if revision (list "-r" revision)))
+         (append (vc-switches 'bzr 'annotate)
+                (if revision (list "-r" revision))))
   (let ((table (make-hash-table :test 'equal)))
     (set-process-filter
      (get-buffer-process buffer)
diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el
index 707090a..232dcc2 100644
--- a/lisp/vc/vc-cvs.el
+++ b/lisp/vc/vc-cvs.el
@@ -96,6 +96,17 @@ If nil, use the value of `vc-diff-switches'.  If t, use no 
switches."
   :version "21.1"
   :group 'vc-cvs)
 
+(defcustom vc-cvs-annotate-switches nil
+  "String or list of strings specifying switches for cvs annotate under VC.
+If nil, use the value of `vc-annotate-switches'.  If t, use no
+switches."
+  :type '(choice (const :tag "Unspecified" nil)
+                (const :tag "None" t)
+                (string :tag "Argument String")
+                (repeat :tag "Argument List" :value ("") string))
+  :version "25.1"
+  :group 'vc-cvs)
+
 (defcustom vc-cvs-header '("\$Id\$")
   "Header keywords to be inserted by `vc-insert-headers'."
   :version "24.1"     ; no longer consult the obsolete vc-header-alist
@@ -623,11 +634,12 @@ Remaining arguments are ignored."
 (defun vc-cvs-annotate-command (file buffer &optional revision)
   "Execute \"cvs annotate\" on FILE, inserting the contents in BUFFER.
 Optional arg REVISION is a revision to annotate from."
-  (vc-cvs-command buffer
-                  (if (vc-cvs-stay-local-p file)
-                     'async 0)
-                  file "annotate"
-                  (if revision (concat "-r" revision)))
+  (apply #'vc-cvs-command buffer
+        (if (vc-cvs-stay-local-p file)
+            'async 0)
+        file "annotate"
+        (append (vc-switches 'cvs 'annotate)
+                (if revision (list (concat "-r" revision)))))
   ;; Strip the leading few lines.
   (let ((proc (get-buffer-process buffer)))
     (if proc
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index a31c121..48e22c8 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -120,6 +120,16 @@ If nil, use the value of `vc-diff-switches'.  If t, use no 
switches."
   :version "23.1"
   :group 'vc-git)
 
+(defcustom vc-git-annotate-switches nil
+  "String or list of strings specifying switches for Git blame under VC.
+If nil, use the value of `vc-annotate-switches'.  If t, use no switches."
+  :type '(choice (const :tag "Unspecified" nil)
+                (const :tag "None" t)
+                (string :tag "Argument String")
+                (repeat :tag "Argument List" :value ("") string))
+  :version "25.1"
+  :group 'vc-git)
+
 (defcustom vc-git-program "git"
   "Name of the Git executable (excluding any arguments)."
   :version "24.1"
@@ -1013,7 +1023,9 @@ or BRANCH^ (where \"^\" can be repeated)."
 
 (defun vc-git-annotate-command (file buf &optional rev)
   (let ((name (file-relative-name file)))
-    (vc-git-command buf 'async nil "blame" "--date=iso" "-C" "-C" rev "--" 
name)))
+    (apply #'vc-git-command buf 'async nil "blame" "--date=iso"
+          (append (vc-switches 'git 'annotate)
+                  (list rev "--" name)))))
 
 (declare-function vc-annotate-convert-time "vc-annotate" (time))
 
diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index 8b4067f..c841dfc 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -131,6 +131,17 @@ If nil, use the value of `vc-diff-switches'.  If t, use no 
switches."
   :version "23.1"
   :group 'vc-hg)
 
+(defcustom vc-hg-annotate-switches nil
+  "String or list of strings specifying switches for hg annotate under VC.
+If nil, use the value of `vc-annotate-switches'.  If t, use no
+switches."
+  :type '(choice (const :tag "Unspecified" nil)
+                (const :tag "None" t)
+                (string :tag "Argument String")
+                (repeat :tag "Argument List" :value ("") string))
+  :version "25.1"
+  :group 'vc-hg)
+
 (defcustom vc-hg-program "hg"
   "Name of the Mercurial executable (excluding any arguments)."
   :type 'string
@@ -358,8 +369,9 @@ If LIMIT is non-nil, show no more than this many entries."
 (defun vc-hg-annotate-command (file buffer &optional revision)
   "Execute \"hg annotate\" on FILE, inserting the contents in BUFFER.
 Optional arg REVISION is a revision to annotate from."
-  (vc-hg-command buffer 0 file "annotate" "-d" "-n" "--follow"
-                 (when revision (concat "-r" revision))))
+  (apply #'vc-hg-command buffer 0 file "annotate" "-d" "-n" "--follow"
+        (append (vc-switches 'hg 'annotate)
+                 (if revision (list (concat "-r" revision))))))
 
 (declare-function vc-annotate-convert-time "vc-annotate" (time))
 
diff --git a/lisp/vc/vc-mtn.el b/lisp/vc/vc-mtn.el
index d783572..cd84ebe 100644
--- a/lisp/vc/vc-mtn.el
+++ b/lisp/vc/vc-mtn.el
@@ -49,6 +49,17 @@ If nil, use the value of `vc-diff-switches'.  If t, use no 
switches."
   :version "23.1"
   :group 'vc-mtn)
 
+(defcustom vc-mtn-annotate-switches nil
+  "String or list of strings specifying switches for mtn annotate under VC.
+If nil, use the value of `vc-annotate-switches'.  If t, use no
+switches."
+  :type '(choice (const :tag "Unspecified" nil)
+                (const :tag "None" t)
+                (string :tag "Argument String")
+                (repeat :tag "Argument List" :value ("") string))
+  :version "25.1"
+  :group 'vc-mtn)
+
 (define-obsolete-variable-alias 'vc-mtn-command 'vc-mtn-program "23.1")
 (defcustom vc-mtn-program "mtn"
   "Name of the monotone executable."
@@ -246,8 +257,9 @@ If LIMIT is non-nil, show no more than this many entries."
            (if rev1 (list "-r" rev1)) (if rev2 (list "-r" rev2)))))
 
 (defun vc-mtn-annotate-command (file buf &optional rev)
-  (apply 'vc-mtn-command buf 'async file "annotate"
-         (if rev (list "-r" rev))))
+  (apply #'vc-mtn-command buf 'async file "annotate"
+        (append (vc-switches 'mtn 'annotate)
+                (if rev (list "-r" rev)))))
 
 (declare-function vc-annotate-convert-time "vc-annotate" (time))
 
diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el
index d74daf9..5ce9afa 100644
--- a/lisp/vc/vc-svn.el
+++ b/lisp/vc/vc-svn.el
@@ -95,6 +95,17 @@ If you want to force an empty list of arguments, use t."
   :version "22.1"
   :group 'vc-svn)
 
+(defcustom vc-svn-annotate-switches nil
+  "String or list of strings specifying switches for svn annotate under VC.
+If nil, use the value of `vc-annotate-switches'.  If t, use no
+switches."
+  :type '(choice (const :tag "Unspecified" nil)
+                (const :tag "None" t)
+                (string :tag "Argument String")
+                (repeat :tag "Argument List" :value ("") string))
+  :version "25.1"
+  :group 'vc-svn)
+
 (defcustom vc-svn-header '("\$Id\$")
   "Header keywords to be inserted by `vc-insert-headers'."
   :version "24.1"     ; no longer consult the obsolete vc-header-alist
@@ -736,7 +747,9 @@ Set file properties accordingly.  If FILENAME is non-nil, 
return its status."
 ;; Support for `svn annotate'
 
 (defun vc-svn-annotate-command (file buf &optional rev)
-  (vc-svn-command buf 'async file "annotate" (if rev (concat "-r" rev))))
+  (apply #'vc-svn-command buf 'async file "annotate"
+        (append (vc-switches 'svn 'annotate)
+                (if rev (list (concat "-r" rev))))))
 
 (defun vc-svn-annotate-time-of-rev (rev)
   ;; Arbitrarily assume 10 commits per day.
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 54b2214..e8e8202 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -780,6 +780,26 @@ not specific to any particular backend."
   :group 'vc
   :version "21.1")
 
+(defcustom vc-annotate-switches nil
+  "A string or list of strings specifying switches for annotate under VC.
+When running annotate under a given BACKEND, VC uses the first
+non-nil value of `vc-BACKEND-annotate-switches', `vc-annotate-switches',
+and `annotate-switches', in that order.  Since nil means to check the
+next variable in the sequence, either of the first two may use
+the value t to mean no switches at all.  `vc-annotate-switches'
+should contain switches that are specific to version control, but
+not specific to any particular backend.
+
+As very few switches (if any) are used across different VC tools,
+please consider using the specific `vc-BACKEND-annotate-switches'
+for the backend you use."
+  :type '(choice (const :tag "Unspecified" nil)
+                (const :tag "None" t)
+                (string :tag "Argument String")
+                (repeat :tag "Argument List" :value ("") string))
+  :group 'vc
+  :version "25.1")
+
 (defcustom vc-log-show-limit 2000
   "Limit the number of items shown by the VC log commands.
 Zero means unlimited.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]