Function: magit-commit-absorb-modules

magit-commit-absorb-modules is an interactive and natively compiled function defined in magit-commit.el.

Signature

(magit-commit-absorb-modules PHASE COMMIT)

Documentation

Spread modified modules across recent commits.

Key Bindings

This command is not in any keymaps.

Source Code

;; Defined in /nix/store/irvbdy0zra0dn8fpd008f32x5ix6qm5v-emacs-packages-deps/share/emacs/site-lisp/elpa/magit-20261005.508/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)))))