Function: magit-commit-absorb-modules

magit-commit-absorb-modules is an autoloaded, interactive and byte-compiled function defined in magit-commit.el.

Signature

(magit-commit-absorb-modules PHASE COMMIT)

Documentation

Spread modified modules across recent commits.

Key Bindings

Source Code

;; Defined in ~/.emacs.d/elpa/magit-20260411.1452/magit-commit.el
;;;; Spread

;;;###autoload
(defun magit-commit-absorb-modules (phase commit)
  "Spread modified modules across recent commits."
  (interactive (list 'select (magit-get-upstream-branch)))
  (let ((modules (magit-list-modified-modules)))
    (unless modules
      (user-error "There are no modified modules that could be absorbed"))
    (when commit
      (setq commit (magit-rebase-interactive-assert commit t)))
    (cond ((and commit (eq phase 'run))
           (dolist (module modules)
             (when-let ((msg (magit-git-string
                              "log" "-1" "--format=%s"
                              (concat commit "..") "--" module)))
               (magit-git "commit" "-m" (concat "fixup! " msg)
                          "--only" "--" module)))
           (magit-refresh)
           t)
          ((magit-log-select
             (lambda (commit)
               (magit-commit-absorb-modules 'run commit))
             nil nil nil nil commit)))))