summaryrefslogtreecommitdiff
path: root/admin/gitmerge.el
diff options
context:
space:
mode:
Diffstat (limited to 'admin/gitmerge.el')
-rw-r--r--admin/gitmerge.el22
1 files changed, 15 insertions, 7 deletions
diff --git a/admin/gitmerge.el b/admin/gitmerge.el
index a08a36937b1..ae863fdecb5 100644
--- a/admin/gitmerge.el
+++ b/admin/gitmerge.el
@@ -48,7 +48,9 @@
(require 'smerge-mode)
(defvar gitmerge-skip-regexp
- "back[- ]?port\\|merge\\|sync\\|re-?generate\\|bump version\\|from trunk\\|\
+ ;; We used to include "sync" in there, but in my experience it only
+ ;; caused false positives. --Stef
+ "back[- ]?port\\|merge\\|re-?generate\\|bump version\\|from trunk\\|\
Auto-commit"
"Regexp matching logs of revisions that might be skipped.
`gitmerge-missing' will ask you if it should skip any matches.")
@@ -65,7 +67,7 @@ Auto-commit"
'((t (:strike-through t)))
"Face for skipped commits.")
-(defconst gitmerge-default-branch "origin/emacs-24"
+(defconst gitmerge-default-branch "origin/emacs-25"
"Default for branch that should be merged.")
(defconst gitmerge-buffer "*gitmerge*"
@@ -183,8 +185,8 @@ if and why this commit should be skipped."
;; Go through the log and remember all commits that match
;; `gitmerge-skip-regexp' or are marked by --cherry-mark.
(with-temp-buffer
- (call-process "git" nil t nil "log" "--cherry-mark" from
- (concat "^" (car (vc-git-branches))))
+ (call-process "git" nil t nil "log" "--cherry-mark" "--left-only"
+ (concat from "..." (car (vc-git-branches))))
(goto-char (point-max))
(while (re-search-backward "^commit \\(.+\\) \\([0-9a-f]+\\).*" nil t)
(let ((cherrymark (match-string 1))
@@ -206,9 +208,9 @@ if and why this commit should be skipped."
"Create the buffer for choosing commits."
(with-current-buffer (get-buffer-create gitmerge-buffer)
(erase-buffer)
- (call-process "git" nil t nil "log"
+ (call-process "git" nil t nil "log" "--left-only"
"--pretty=format:%h %<(20,trunc) %an: %<(100,trunc) %s"
- from (concat "^" (car (vc-git-branches))))
+ (concat from "..." (car (vc-git-branches))))
(goto-char (point-min))
(while (looking-at "^\\([a-f0-9]+\\)")
(let ((skipreason (gitmerge-skip-commit-p (match-string 1) commits)))
@@ -429,8 +431,14 @@ 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"))
+ "commit" "--no-edit" "-m-"))
(error "Git error during merge - fix it manually"))))
;; Successfully resumed.
t))))