From: Paul Eggert Date: Tue, 22 Mar 2016 23:42:28 +0000 (-0700) Subject: Compute a better commit message for merges X-Git-Tag: emacs-26.0.90~2298 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ddd9111a90f59abedd5065bfb7ac53454f816780;p=emacs.git Compute a better commit message for merges Problem reported by David Engster in: http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01270.html * admin/gitmerge.el (gitmerge-commit-message): Truncate the computed commit message to at most 72 characters per line. (gitmerge-maybe-resume): Don’t use "-" as the commit message for merges; use the computed commit message instead. --- diff --git a/admin/gitmerge.el b/admin/gitmerge.el index 74e6f80487b..6a52f7a60a9 100644 --- a/admin/gitmerge.el +++ b/admin/gitmerge.el @@ -331,6 +331,10 @@ is nil, only the single commit BEG is merged." (if end (list (concat beg "~.." end)) `("-1" ,beg))) (insert "\n") + ;; Truncate to 72 chars so that the resulting ChangeLog line fits in 80. + (goto-char (point-min)) + (while (re-search-forward "^\\(.\\{69\\}\\).\\{4,\\}" nil t) + (replace-match "\\1...")) (buffer-string))) (defun gitmerge-apply (missing from) @@ -432,14 +436,8 @@ If so, add no longer conflicted files and commit." (when mergehead (with-current-buffer (get-buffer-create gitmerge-output-buffer) (erase-buffer) - ;; FIXME: We add "-m-" because the default commit message - ;; apparently tickles our commit hook: - ;; Line longer than 78 characters in commit message - ;; Line longer than 78 characters in commit message - ;; Line longer than 78 characters in commit message - ;; Commit aborted; please see the file CONTRIBUTE (unless (zerop (call-process "git" nil t nil - "commit" "--no-edit" "-m-")) + "commit" "--no-edit")) (error "Git error during merge - fix it manually")))) ;; Successfully resumed. t))))