branch: elpa/magit
commit 4fc60fdb36b74baca7421719f3a2e203ed16e6ed
Author: Jonas Bernoulli <[email protected]>
Commit: Jonas Bernoulli <[email protected]>
magit-rebase--todo: Deal with duplicated commits
Closes #5365.
---
lisp/magit-sequence.el | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/lisp/magit-sequence.el b/lisp/magit-sequence.el
index 1b3d08ecf96..e2fe295b27c 100644
--- a/lisp/magit-sequence.el
+++ b/lisp/magit-sequence.el
@@ -1004,7 +1004,7 @@ status buffer (i.e., the reverse of how they will be
applied)."
(forward-line)))
(let ((abbrevs
(magit-git-lines
- "log" "--no-walk" "--format=%h"
+ "log" "--no-walk" "--format=%H %h"
(mapcar (lambda (obj)
(if (eq (oref obj action) 'merge)
(let ((options (oref obj action-options)))
@@ -1012,9 +1012,13 @@ status buffer (i.e., the reverse of how they will be
applied)."
(match-string 1 options)))
(oref obj target)))
commits))))
- (while-let ((obj (pop commits))
- (val (pop abbrevs)))
- (oset obj abbrev val)))
+ (while-let ((obj (pop commits)))
+ (let* ((rev (oref obj target))
+ (elt (assoc rev abbrevs)))
+ (cond (elt
+ (setq abbrevs (delq elt abbrevs))
+ (oset obj abbrev (cadr elt)))
+ ((oset obj abbrev (magit-rev-abbrev rev)))))))
actions))
(defun magit-rebase-insert-merge-sequence (onto)