aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG7
-rw-r--r--lisp/magit-sequence.el15
2 files changed, 13 insertions, 9 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 52ec379..d79074b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,11 @@
# -*- mode: org -*-
+* v4.3.4 UNRELEASED
+
+Bugfixes:
+
+- Fixed a v4.3.3 regression in inserting rebase actions into the
+ status buffer when ~--rebase-merges~ is specified. #5365
+
* v4.3.3 2025-05-01
- ~magit-section-show-level~ now acts on all selected sections. #5354
diff --git a/lisp/magit-sequence.el b/lisp/magit-sequence.el
index 79560bf..5711525 100644
--- a/lisp/magit-sequence.el
+++ b/lisp/magit-sequence.el
@@ -1004,21 +1004,18 @@ status buffer (i.e., the reverse of how they will be applied)."
(forward-line)))
(let ((abbrevs
(magit-git-lines
- "log" "--no-walk" "--format=%H %h"
+ "log" "--no-walk=unsorted" "--format=%h"
(mapcar (lambda (obj)
- (if (eq (oref obj action) 'merge)
+ (if (eq (oref obj action-type) 'merge)
(let ((options (oref obj action-options)))
(and (string-match "-[cC] \\([^ ]+\\)" options)
(match-string 1 options)))
(oref obj target)))
commits))))
- (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)))))))
+ (cl-assert (equal (length commits) (length abbrevs)))
+ (while-let ((obj (pop commits))
+ (val (pop abbrevs)))
+ (oset obj abbrev val)))
actions))
(defun magit-rebase-insert-merge-sequence (onto)