(vc-git-add-signoff): New variable.
authorDan Nicolaescu <dann@ics.uci.edu>
Thu, 23 Jul 2009 05:17:27 +0000 (05:17 +0000)
committerDan Nicolaescu <dann@ics.uci.edu>
Thu, 23 Jul 2009 05:17:27 +0000 (05:17 +0000)
(vc-git-checkin): Use it.
(vc-git-toggle-signoff): New function.
(vc-git-extra-menu-map): Bind it to menu.

lisp/ChangeLog
lisp/vc-git.el

index b227250..b0f249d 100644 (file)
@@ -1,3 +1,10 @@
+2009-07-22  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * vc-git.el (vc-git-add-signoff): New variable.
+       (vc-git-checkin): Use it.
+       (vc-git-toggle-signoff): New function.
+       (vc-git-extra-menu-map): Bind it to menu.
+
 2009-07-23  Glenn Morris  <rgm@gnu.org>
 
        * help-fns.el (describe-variable): Describe ignored and risky local
index 12441c8..d8e9603 100644 (file)
@@ -118,6 +118,13 @@ If nil, use the value of `vc-diff-switches'.  If t, use no switches."
   :version "23.1"
   :group 'vc)
 
+(defcustom vc-git-add-signoff nil
+  "Add a Signed-off-by line when committing."
+  :type 'boolean
+  :version "23.2"
+  :group 'vc)
+
+
 (defvar git-commits-coding-system 'utf-8
   "Default coding system for git commits.")
 
@@ -420,7 +427,8 @@ If nil, use the value of `vc-diff-switches'.  If t, use no switches."
 
 (defun vc-git-checkin (files rev comment)
   (let ((coding-system-for-write git-commits-coding-system))
-    (vc-git-command nil 0 files "commit" "-m" comment "--only" "--")))
+    (vc-git-command nil 0 files "commit"
+                   (if vc-git-add-signoff "-s" "") "-m" comment "--only" "--")))
 
 (defun vc-git-find-revision (file rev buffer)
   (let ((coding-system-for-read 'binary)
@@ -633,12 +641,20 @@ or BRANCH^ (where \"^\" can be repeated)."
     (define-key map [git-grep]
       '(menu-item "Git grep..." vc-git-grep
                  :help "Run the `git grep' command"))
+    (define-key map [git-sig]
+      '(menu-item "Add Signed-off-by on commit" vc-git-toggle-signoff
+             :help "Add Add Signed-off-by when commiting (i.e. add the -s flag)"
+             :button (:toggle . vc-git-add-signoff)))
     map))
 
 (defun vc-git-extra-menu () vc-git-extra-menu-map)
 
 (defun vc-git-extra-status-menu () vc-git-extra-menu-map)
 
+(defun vc-git-toggle-signoff ()
+  (interactive)
+  (setq vc-git-add-signoff (not vc-git-add-signoff)))
+
 ;; Derived from `lgrep'.
 (defun vc-git-grep (regexp &optional files dir)
   "Run git grep, searching for REGEXP in FILES in directory DIR.