diff options
| -rw-r--r-- | CHANGELOG | 7 | ||||
| -rw-r--r-- | lisp/magit-sequence.el | 15 |
2 files changed, 13 insertions, 9 deletions
@@ -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) |
