Next: , Up: Applying patches   [Contents][Index]


3.1 Applying patches contained in a message

M-x piem-am RET branch RET base

Apply the patch or patches in the current buffer to the associated code repository. Before applying, checkout a new branch branch starting at base.

You’ll be queried for the name of the new branch. The default name offered is generated by piem-name-branch-who-what-v, which uses the ‘From:’ and ‘Subject:’ headers to construct branch names like ‘km/b4-short-subj__v3’. To use a different function to generate the completion default, configure piem-default-branch-function.

Next you’ll be queried for the base to use as the starting point for the branch. If the sender specified a base commit for the series, that will be provided as the default completion candidate. Entering an empty base signals to use the current branch of the repository as the base.

Rather than applying the patches directly to the associated code repository, you can create a dedicated worktree by setting piem-am-create-worktree to a non-nil value. Giving a prefix argument to piem-am inverts the meaning of piem-am-create-worktree; that is, by default a prefix argument is useful if you generally prefer to work within the configured code repository but would like to trigger the one-off creation of a worktree for a particular call.

When piem loads, it detects whether Magit is loaded and sets piem-use-magit accordingly. If that option is non-nil, piem uses Magit for some operations, particularly those that are user-facing. This includes jumping to the Magit status buffer for a code repository after applying a patch.

Note that the piem-am command works only for buffers from which piem-am-ready-mbox can generate an am-ready mbox, which depends on the enabled integration libraries. Currently piem-notmuch and piem-gnus implement the necessary functionality.


Next: , Up: Applying patches   [Contents][Index]