From 8c25e016ee06b2c2246986690af7ba779b9f0af8 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 22 Mar 2016 16:42:28 -0700 Subject: [PATCH] Compute a better commit message for merges MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- admin/gitmerge.el | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/admin/gitmerge.el b/admin/gitmerge.el index 74e6f80..6a52f7a 100644 --- a/admin/gitmerge.el +++ b/admin/gitmerge.el @@ -331,6 +331,10 @@ gitmerge-commit-message (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 @@ gitmerge-maybe-resume (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)))) -- 2.5.5