diff options
author | Glenn Morris <rgm@gnu.org> | 2017-12-18 19:38:25 -0500 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2017-12-18 19:38:25 -0500 |
commit | 1e89864f92b3e1f29592ae914cf6fccce40d49d2 (patch) | |
tree | b00bfa77972997ce4dc862d38ef0c56f6c9f5b37 /admin/gitmerge.el | |
parent | 91031a2cfd6b6a3b17c0f8724fd5cccf7c32ed5b (diff) | |
download | emacs-1e89864f92b3e1f29592ae914cf6fccce40d49d2.tar.gz |
Make gitmerge usable in batch mode
* admin/gitmerge.el (gitmerge-missing): Add progress messages.
(gitmerge-maybe-resume): In batch mode, never resume.
(gitmerge): Handle batch mode.
Diffstat (limited to 'admin/gitmerge.el')
-rw-r--r-- | admin/gitmerge.el | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/admin/gitmerge.el b/admin/gitmerge.el index 5e7d8c3e33f..efb7d08501c 100644 --- a/admin/gitmerge.el +++ b/admin/gitmerge.el @@ -198,6 +198,7 @@ Will detect a default set of skipped revision by looking at cherry mark and search for `gitmerge-skip-regexp'. The result is a list with entries of the form (SHA1 . SKIP), where SKIP denotes if and why this commit should be skipped." + (message "Finding missing commits...") (let (commits) ;; Go through the log and remember all commits that match ;; `gitmerge-skip-regexp' or are marked by --cherry-mark. @@ -220,6 +221,7 @@ if and why this commit should be skipped." (when (re-search-forward gitmerge-skip-regexp nil t) (setcdr (car commits) "R")))))) (delete-region (point) (point-max)))) + (message "Finding missing commits...done") (nreverse commits))) (defun gitmerge-setup-log-buffer (commits from) @@ -474,7 +476,7 @@ If so, add no longer conflicted files and commit." (not (gitmerge-repo-clean))) (user-error "Repository is not clean")) (when statusexist - (if (not (y-or-n-p "Resume merge? ")) + (if (or noninteractive (not (y-or-n-p "Resume merge? "))) (progn (delete-file gitmerge-status-file) ;; No resume. @@ -540,8 +542,12 @@ Branch FROM will be prepended to the list." (list (if (gitmerge-maybe-resume) 'resume - (completing-read "Merge branch: " (gitmerge-get-all-branches) - nil t (gitmerge-default-branch))))))) + (if noninteractive + (or (pop command-line-args-left) + (gitmerge-default-branch)) + (completing-read "Merge branch: " + (gitmerge-get-all-branches) + nil t (gitmerge-default-branch)))))))) (let ((default-directory (vc-git-root default-directory))) (if (eq from 'resume) (progn @@ -563,7 +569,8 @@ Branch FROM will be prepended to the list." "(C) Detected backport (cherry-mark), (R) Log matches " "regexp, (M) Manually picked\n\n") (gitmerge-mode) - (pop-to-buffer (current-buffer)))))) + (pop-to-buffer (current-buffer)) + (if noninteractive (gitmerge-start-merge)))))) (defun gitmerge-start-merge () (interactive) |