The appearance of ChangeLog entries in the message is controlled by the
:change-logs-appearance
project option. Its value must be a
symbol from the following:
verbatim
pack
patch
nil
When the ChangeLogs appearance is either pack
or patch
,
the diff command used to generate the patch is controlled by the
:change-logs-diff-command
project option. The value can be
nil
, meaning that the same diff command is to be used as for the
sources (see Diff Command), or it can be a string specifying an
alternate command.
When diffing ChangeLog files, it is strongly recommended that you remove contexts from the diff, because otherwise, ChangeLog patches often fail to apply correctly.
The :change-logs-diff-command
project option supports the same
substitution constructs as the :diff-command
one (see Diff Command). For example, here is the ChangeLogs diff command used in the
git
built-in theme (see Themes): ‘git diff -U0
--no-prefix HEAD%?f{ -- }%f’.
When ChangeLog entries are written in advance (see Manual ChangeLogs), Patcher can (and does) insert them into the mail buffer
automatically. However, Patcher cannot tell when you're done filling in
skeletons (see Automatic ChangeLogs), so in such a case you need to
insert the ChangeLog entries explicitly. This is done by calling the
function patcher-mail-insert-change-logs
. It is bound to C-c
C-p l in the mail buffer.
With an additional prefix argument, or when your project is set to not normally include ChangeLogs in mail buffers, you will also be prompted for an alternate appearance (for this time only).
In fact, this function can also be used in all situations to reinsert the ChangeLog entries into the mail buffer, whatever their appearance. This comes in handy if you decide to further modify them after the initial insertion (it's never too late to fix a typo).
One last note: the same binding is available in ChangeLog buffers as
well. The effect is to call
patcher-change-log-insert-change-logs
, which in essence switches
to the mail buffer and performs insertion in a row. This saves you one
C-c C-p m keystroke.