diff lisp/vc-git.el @ 104039:1416a5bb9353

(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.
author Dan Nicolaescu <dann@ics.uci.edu>
date Thu, 23 Jul 2009 05:17:27 +0000
parents 0c5de07aff62
children 772f278e1024
line wrap: on
line diff
--- a/lisp/vc-git.el	Thu Jul 23 02:56:06 2009 +0000
+++ b/lisp/vc-git.el	Thu Jul 23 05:17:27 2009 +0000
@@ -118,6 +118,13 @@
   :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 @@
 
 (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 @@
     (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.