emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 1e89864: Make gitmerge usable in batch mode


From: Glenn Morris
Subject: [Emacs-diffs] master 1e89864: Make gitmerge usable in batch mode
Date: Mon, 18 Dec 2017 19:38:30 -0500 (EST)

branch: master
commit 1e89864f92b3e1f29592ae914cf6fccce40d49d2
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>

    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 5e7d8c3..efb7d08 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]