diff options
| author | Glenn Morris | 2017-12-18 19:38:25 -0500 |
|---|---|---|
| committer | Glenn Morris | 2017-12-18 19:38:25 -0500 |
| commit | 1e89864f92b3e1f29592ae914cf6fccce40d49d2 (patch) | |
| tree | b00bfa77972997ce4dc862d38ef0c56f6c9f5b37 /admin/gitmerge.el | |
| parent | 91031a2cfd6b6a3b17c0f8724fd5cccf7c32ed5b (diff) | |
| download | emacs-1e89864f92b3e1f29592ae914cf6fccce40d49d2.tar.gz emacs-1e89864f92b3e1f29592ae914cf6fccce40d49d2.zip | |
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 | |||
| 198 | cherry mark and search for `gitmerge-skip-regexp'. The result is | 198 | cherry mark and search for `gitmerge-skip-regexp'. The result is |
| 199 | a list with entries of the form (SHA1 . SKIP), where SKIP denotes | 199 | a list with entries of the form (SHA1 . SKIP), where SKIP denotes |
| 200 | if and why this commit should be skipped." | 200 | if and why this commit should be skipped." |
| 201 | (message "Finding missing commits...") | ||
| 201 | (let (commits) | 202 | (let (commits) |
| 202 | ;; Go through the log and remember all commits that match | 203 | ;; Go through the log and remember all commits that match |
| 203 | ;; `gitmerge-skip-regexp' or are marked by --cherry-mark. | 204 | ;; `gitmerge-skip-regexp' or are marked by --cherry-mark. |
| @@ -220,6 +221,7 @@ if and why this commit should be skipped." | |||
| 220 | (when (re-search-forward gitmerge-skip-regexp nil t) | 221 | (when (re-search-forward gitmerge-skip-regexp nil t) |
| 221 | (setcdr (car commits) "R")))))) | 222 | (setcdr (car commits) "R")))))) |
| 222 | (delete-region (point) (point-max)))) | 223 | (delete-region (point) (point-max)))) |
| 224 | (message "Finding missing commits...done") | ||
| 223 | (nreverse commits))) | 225 | (nreverse commits))) |
| 224 | 226 | ||
| 225 | (defun gitmerge-setup-log-buffer (commits from) | 227 | (defun gitmerge-setup-log-buffer (commits from) |
| @@ -474,7 +476,7 @@ If so, add no longer conflicted files and commit." | |||
| 474 | (not (gitmerge-repo-clean))) | 476 | (not (gitmerge-repo-clean))) |
| 475 | (user-error "Repository is not clean")) | 477 | (user-error "Repository is not clean")) |
| 476 | (when statusexist | 478 | (when statusexist |
| 477 | (if (not (y-or-n-p "Resume merge? ")) | 479 | (if (or noninteractive (not (y-or-n-p "Resume merge? "))) |
| 478 | (progn | 480 | (progn |
| 479 | (delete-file gitmerge-status-file) | 481 | (delete-file gitmerge-status-file) |
| 480 | ;; No resume. | 482 | ;; No resume. |
| @@ -540,8 +542,12 @@ Branch FROM will be prepended to the list." | |||
| 540 | (list | 542 | (list |
| 541 | (if (gitmerge-maybe-resume) | 543 | (if (gitmerge-maybe-resume) |
| 542 | 'resume | 544 | 'resume |
| 543 | (completing-read "Merge branch: " (gitmerge-get-all-branches) | 545 | (if noninteractive |
| 544 | nil t (gitmerge-default-branch))))))) | 546 | (or (pop command-line-args-left) |
| 547 | (gitmerge-default-branch)) | ||
| 548 | (completing-read "Merge branch: " | ||
| 549 | (gitmerge-get-all-branches) | ||
| 550 | nil t (gitmerge-default-branch)))))))) | ||
| 545 | (let ((default-directory (vc-git-root default-directory))) | 551 | (let ((default-directory (vc-git-root default-directory))) |
| 546 | (if (eq from 'resume) | 552 | (if (eq from 'resume) |
| 547 | (progn | 553 | (progn |
| @@ -563,7 +569,8 @@ Branch FROM will be prepended to the list." | |||
| 563 | "(C) Detected backport (cherry-mark), (R) Log matches " | 569 | "(C) Detected backport (cherry-mark), (R) Log matches " |
| 564 | "regexp, (M) Manually picked\n\n") | 570 | "regexp, (M) Manually picked\n\n") |
| 565 | (gitmerge-mode) | 571 | (gitmerge-mode) |
| 566 | (pop-to-buffer (current-buffer)))))) | 572 | (pop-to-buffer (current-buffer)) |
| 573 | (if noninteractive (gitmerge-start-merge)))))) | ||
| 567 | 574 | ||
| 568 | (defun gitmerge-start-merge () | 575 | (defun gitmerge-start-merge () |
| 569 | (interactive) | 576 | (interactive) |