From 1e89864f92b3e1f29592ae914cf6fccce40d49d2 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 18 Dec 2017 19:38:25 -0500 Subject: [PATCH] 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. --- admin/gitmerge.el | 15 +++++++++++---- 1 file 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) -- 2.11.4.GIT