Ever wonder how people keep such organized ChangeLog files in the root of their source trees? I’m sure some are just anal enough to manually manage them. I know I’ve done so on smaller projects, but I find it too much of a hassle for anything larger.
So, what do people use on larger projects? Believe it or not, there are actually GNU conventions for styling these files, and emacs includes an
add-log package to help adhere to these conventions.
C-x 4 a) automatically adds a new entry to the closest change log file found up the parent directory hierarchy. If none exists, a new change log file is created in your current directory, and the formatting is organized for you:
C-x v a) finds the change log file and add entries from the recent version control logs. Apparently, this only works with RCS or CVS. For subversion, you can try
vc-comment-to-change-log (Emacs 21) or
log-edit-comment-to-change-log (Emacs 22), but this might require some customization to suit you.
To change the email address listed in your change log entries, edit the
user-mail-address variable. To change the default change log file name, edit the
(setq user-mail-address "email@example.com") ;; default: user@host (setq change-log-default-name "CHANGELOG") ;; default: ChangeLog
Some might say that keeping a ChangeLog file is defeated by public subversion repositories. I tend to agree for most circumstances, but there are some cases where a local, easily readable ChangeLog file is a good idea. Besides, it’s the cool thing to do.