1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-01 11:14:55 +00:00

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.
This commit is contained in:
Dan Nicolaescu 2010-04-09 08:35:30 -07:00
parent f6d9077216
commit 6aebd58cd2
3 changed files with 30 additions and 3 deletions

View File

@ -107,6 +107,10 @@ choose a color via list-colors-display.
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.

View File

@ -1,3 +1,11 @@
2010-04-09 Dan Nicolaescu <dann@ics.uci.edu>
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 <esr@snark.thyrsus.com>
* vc-hooks.el, vc-git.el: Improve documentation comments.

View File

@ -548,10 +548,10 @@ or an empty string if none."
(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 @@ or BRANCH^ (where \"^\" can be repeated)."
(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" "--"))