Don't hard-code gitmerge.el's default merge branch
* admin/gitmerge.el (gitmerge-default-branch): Make it a variable, defaulting to nil. (gitmerge-emacs-version, gitmerge-default-branch): New functions. (gitmerge): Guess the branch to merge from.
This commit is contained in:
parent
52097314c1
commit
7c95819de0
1 changed files with 19 additions and 3 deletions
|
@ -67,8 +67,9 @@ re-?generate\\|bump version\\|from trunk\\|Auto-commit"
|
|||
'((t (:strike-through t)))
|
||||
"Face for skipped commits.")
|
||||
|
||||
(defconst gitmerge-default-branch "origin/emacs-26"
|
||||
"Default for branch that should be merged.")
|
||||
(defvar gitmerge-default-branch nil
|
||||
"Default for branch that should be merged.
|
||||
If nil, the function `gitmerge-default-branch' guesses.")
|
||||
|
||||
(defconst gitmerge-buffer "*gitmerge*"
|
||||
"Working buffer for gitmerge.")
|
||||
|
@ -103,6 +104,21 @@ re-?generate\\|bump version\\|from trunk\\|Auto-commit"
|
|||
(defvar gitmerge--commits nil)
|
||||
(defvar gitmerge--from nil)
|
||||
|
||||
(defun gitmerge-emacs-version (&optional branch)
|
||||
"Return the major version of Emacs, optionally in BRANCH."
|
||||
(with-temp-buffer
|
||||
(if (not branch)
|
||||
(insert-file-contents "configure.ac")
|
||||
(call-process "git" nil t nil "show" (format "%s:configure.ac" branch))
|
||||
(goto-char (point-min)))
|
||||
(re-search-forward "^AC_INIT([^,]+, \\([0-9]+\\)\\.")
|
||||
(string-to-number (match-string 1))))
|
||||
|
||||
(defun gitmerge-default-branch ()
|
||||
"Default for branch that should be merged; eg \"origin/emacs-26\"."
|
||||
(or gitmerge-default-branch
|
||||
(format "origin/emacs-%s" (1- (gitmerge-emacs-version)))))
|
||||
|
||||
(defun gitmerge-get-sha1 ()
|
||||
"Get SHA1 from commit at point."
|
||||
(save-excursion
|
||||
|
@ -497,7 +513,7 @@ Branch FROM will be prepended to the list."
|
|||
(if (gitmerge-maybe-resume)
|
||||
'resume
|
||||
(completing-read "Merge branch: " (gitmerge-get-all-branches)
|
||||
nil t gitmerge-default-branch))))))
|
||||
nil t (gitmerge-default-branch)))))))
|
||||
(let ((default-directory (vc-git-root default-directory)))
|
||||
(if (eq from 'resume)
|
||||
(progn
|
||||
|
|
Loading…
Add table
Reference in a new issue