emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r99856: Add --author support to git c


From: Dan Nicolaescu
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r99856: Add --author support to git commit.
Date: Fri, 09 Apr 2010 08:35:30 -0700
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 99856
committer: Dan Nicolaescu <address@hidden>
branch nick: trunk
timestamp: Fri 2010-04-09 08:35:30 -0700
message:
  Add --author support to git commit.
  * vc-git.el (vc-git-checkin): Pass extra-args to the commit command.
  (vc-git-log-edit-mode): New minor mode.
  (log-edit-mode, log-edit-extra-flags, log-edit-mode): New
  declarations.
modified:
  etc/NEWS
  lisp/ChangeLog
  lisp/vc-git.el
=== modified file 'etc/NEWS'
--- a/etc/NEWS  2010-04-08 16:20:32 +0000
+++ b/etc/NEWS  2010-04-09 15:35:30 +0000
@@ -107,6 +107,10 @@
 Author: NAME
 line will add "--author NAME" to the "bzr commit" command.
 
+**** For Git, adding an
+Author: NAME
+line will add "--author NAME" to the "git commit" command.
+
 **** For Hg, adding an
 Author: NAME
 line will add "--user NAME" to the "hg commit" command.

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-04-09 14:17:52 +0000
+++ b/lisp/ChangeLog    2010-04-09 15:35:30 +0000
@@ -1,3 +1,11 @@
+2010-04-09  Dan Nicolaescu  <address@hidden>
+
+       Add --author support to git commit.
+       * vc-git.el (vc-git-checkin): Pass extra-args to the commit command.
+       (vc-git-log-edit-mode): New minor mode.
+       (log-edit-mode, log-edit-extra-flags, log-edit-mode): New
+       declarations.
+
 2010-04-09  Eric Raymond  <address@hidden>
 
        * vc-hooks.el, vc-git.el: Improve documentation comments.

=== modified file 'lisp/vc-git.el'
--- a/lisp/vc-git.el    2010-04-09 14:17:52 +0000
+++ b/lisp/vc-git.el    2010-04-09 15:35:30 +0000
@@ -548,10 +548,10 @@
   (vc-git-command nil 0 file "rm" "-f" "--cached" "--"))
 
 
-(defun vc-git-checkin (files rev comment  &optional extra-args-ignored)
+(defun vc-git-checkin (files rev comment  &optional extra-args)
   (let ((coding-system-for-write git-commits-coding-system))
-    (vc-git-command nil 0 files "commit"
-                   "-m" comment "--only" "--")))
+    (apply 'vc-git-command nil 0 files
+          (nconc (list "commit" "-m" comment) extra-args (list "--only" 
"--")))))
 
 (defun vc-git-find-revision (file rev buffer)
   (let* (process-file-side-effects
@@ -790,6 +790,21 @@
                    (progn (forward-line 1) (1- (point)))))))))
     (or (vc-git-symbolic-commit next-rev) next-rev)))
 
+(declare-function log-edit-mode "log-edit" ())
+(defvar log-edit-extra-flags)
+(defvar log-edit-before-checkin-process)
+
+(define-derived-mode vc-git-log-edit-mode log-edit-mode "Git-log-edit"
+  "Mode for editing Git commit logs.
+If a line like:
+Author: NAME
+is present in the log, it is removed, and
+--author=NAME
+is passed to the git commit command."
+  (set (make-local-variable 'log-edit-extra-flags) nil)
+  (set (make-local-variable 'log-edit-before-checkin-process)
+       '(("^Author:[ \t]+\\(.*\\)[ \t]*$" . (list "--author" (match-string 
1))))))
+
 (defun vc-git-delete-file (file)
   (vc-git-command nil 0 file "rm" "-f" "--"))
 


reply via email to

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