[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
33.1 Change Logs
A change log file contains a chronological record of when and why you have changed a program, consisting of a sequence of entries describing individual changes. Normally it is kept in a file called ‘ChangeLog’ in the same directory as the file you are editing, or one of its parent directories. A single ‘ChangeLog’ file can record changes for all the files in its directory and all its subdirectories.
The Emacs command C-x 4 a adds a new entry to the change log
file for the file you are editing
(add-change-log-entry-other-window
). If that file is actually
a backup file, it makes an entry appropriate for the file's
parent—that is useful for making log entries for functions that
have been deleted in the current version.
C-x 4 a visits the change log file and creates a new entry unless the most recent entry is for today's date and your name. It also creates a new item for the current file. For many languages, it can even guess the name of the function or other object that was changed.
When the variable add-log-keep-changes-together
is
non-nil
, C-x 4 a adds to any existing item for the file
rather than starting a new item.
If add-log-always-start-new-record
is non-nil
,
C-x 4 a always makes a new entry, even if the last entry
was made by you and on the same date.
If the value of the variable change-log-version-info-enabled
is non-nil
, C-x 4 a adds the file's version number to the
change log entry. It finds the version number by searching the first
ten percent of the file, using regular expressions from the variable
change-log-version-number-regexp-list
.
The change log file is visited in Change Log mode. In this major mode, each bunch of grouped items counts as one paragraph, and each entry is considered a page. This facilitates editing the entries. C-j and auto-fill indent each new line like the previous line; this is convenient for entering the contents of an entry.
You can use the command M-x change-log-merge to merge other log files into a buffer in Change Log Mode, preserving the date ordering of entries.
Version control systems are another way to keep track of changes in your program and keep a change log. See section Features of the Log Entry Buffer.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |