Merge branch 'maint'
* maint: Start preparing Release Notes for 1.5.0.3 Documentation: git-remote add [-t <branch>] [-m <branch>] [-f] name url Include config.mak in doc/Makefile git.el: Set the default commit coding system from the repository config. git-archimport: support empty summaries, put summary on a single line. http-push.c::lock_remote(): validate all remote refs. git-cvsexportcommit: don't cleanup .msg if not yet committed to cvs.
This commit is contained in:
@ -75,10 +75,11 @@ then to `add-log-mailing-address' and then to `user-mail-address'."
|
||||
:type '(choice (const :tag "Default" nil)
|
||||
(string :tag "Email")))
|
||||
|
||||
(defcustom git-commits-coding-system 'utf-8
|
||||
(defcustom git-commits-coding-system nil
|
||||
"Default coding system for the log message of git commits."
|
||||
:group 'git
|
||||
:type 'coding-system)
|
||||
:type '(choice (const :tag "From repository config" nil)
|
||||
(coding-system)))
|
||||
|
||||
(defcustom git-append-signed-off-by nil
|
||||
"Whether to append a Signed-off-by line to the commit message before editing."
|
||||
@ -236,6 +237,15 @@ and returns the process output as a string."
|
||||
(and (fboundp 'user-mail-address) (user-mail-address))
|
||||
(and (boundp 'user-mail-address) user-mail-address)))
|
||||
|
||||
(defun git-get-commits-coding-system ()
|
||||
"Return the coding system to use for commits."
|
||||
(let ((repo-config (git-config "i18n.commitencoding")))
|
||||
(or git-commits-coding-system
|
||||
(and repo-config
|
||||
(fboundp 'locale-charset-to-coding-system)
|
||||
(locale-charset-to-coding-system repo-config))
|
||||
'utf-8)))
|
||||
|
||||
(defun git-escape-file-name (name)
|
||||
"Escape a file name if necessary."
|
||||
(if (string-match "[\n\t\"\\]" name)
|
||||
@ -327,7 +337,7 @@ and returns the process output as a string."
|
||||
"Call git-commit-tree with buffer as input and return the resulting commit SHA1."
|
||||
(let ((author-name (git-get-committer-name))
|
||||
(author-email (git-get-committer-email))
|
||||
author-date log-start log-end args)
|
||||
author-date log-start log-end args coding-system-for-write)
|
||||
(when head
|
||||
(push "-p" args)
|
||||
(push head args))
|
||||
@ -350,12 +360,12 @@ and returns the process output as a string."
|
||||
(push "-p" args)
|
||||
(push (match-string 1) args))))
|
||||
(setq log-start (point-min)))
|
||||
(setq log-end (point-max)))
|
||||
(setq log-end (point-max))
|
||||
(setq coding-system-for-write buffer-file-coding-system))
|
||||
(git-get-string-sha1
|
||||
(with-output-to-string
|
||||
(with-current-buffer standard-output
|
||||
(let ((coding-system-for-write git-commits-coding-system)
|
||||
(env `(("GIT_AUTHOR_NAME" . ,author-name)
|
||||
(let ((env `(("GIT_AUTHOR_NAME" . ,author-name)
|
||||
("GIT_AUTHOR_EMAIL" . ,author-email)
|
||||
("GIT_COMMITTER_NAME" . ,(git-get-committer-name))
|
||||
("GIT_COMMITTER_EMAIL" . ,(git-get-committer-email)))))
|
||||
@ -888,6 +898,7 @@ and returns the process output as a string."
|
||||
(let ((buffer (get-buffer-create "*git-commit*"))
|
||||
(merge-heads (git-get-merge-heads))
|
||||
(dir default-directory)
|
||||
(coding-system (git-get-commits-coding-system))
|
||||
(sign-off git-append-signed-off-by))
|
||||
(with-current-buffer buffer
|
||||
(when (eq 0 (buffer-size))
|
||||
@ -912,6 +923,7 @@ and returns the process output as a string."
|
||||
(git-get-committer-name) (git-get-committer-email)))))))
|
||||
(log-edit #'git-do-commit nil #'git-log-edit-files buffer)
|
||||
(setq font-lock-keywords (font-lock-compile-keywords git-log-edit-font-lock-keywords))
|
||||
(setq buffer-file-coding-system coding-system)
|
||||
(re-search-forward (regexp-quote (concat git-log-msg-separator "\n")) nil t)))
|
||||
|
||||
(defun git-find-file ()
|
||||
|
Reference in New Issue
Block a user