28.1.12.1 Change Logs and VC
If you use RCS or CVS for a program with a ChangeLog
file
(see Change Logs),
you can generate change log entries from the version control log
entries of previous commits.
Note that this only works with RCS or CVS. This procedure would be
particularly incorrect on a modern changeset-based version control
system, where changes to the ChangeLog
file would normally be
committed as part of a changeset. In that case, you should write the
change log entries first, then pull them into the ‘ *vc-log*
’
buffer when you commit
(see Features of the Log Entry Buffer).
C-x v a
¶
Visit the current directory’s ChangeLog
file and, for
registered files in that directory, create new entries for versions
committed since the most recent change log entry
( vc-update-change-log
).
C-u C-x v a
As above, but only find entries for the current buffer’s file.
For example, suppose the first line of ChangeLog
is dated
1999-04-10, and that the only check-in since then was by Nathaniel
Bowditch to rcs2log
on 1999-05-22 with log entry ‘ Ignore log messages that start with '#'.
’. Then C-x v a
inserts this
ChangeLog
entry:
1999-05-22 Nathaniel Bowditch <[email protected]>
* rcs2log: Ignore log messages that start with '#'.
If the version control log entry specifies a function name (in
parenthesis at the beginning of a line), that is reflected in the
ChangeLog
entry. For example, if a log entry for vc.el
is ‘ (vc-do-command): Check call-process status.
’, the
ChangeLog
entry is:
1999-05-06 Nathaniel Bowditch <[email protected]>
* vc.el (vc-do-command): Check call-process status.
When C-x v a
adds several change log entries at once, it
groups related log entries together if they all are checked in by the
same author at nearly the same time. If the log entries for several
such files all have the same text, it coalesces them into a single
entry.