Ask The Source

I recently converted my CVS repository to a Subversion repository. Ever since the RCS days, we've used the "$Log$" keyword in our source files to automatically insert our log messages each commit. Since switching to Subversion, this no longer works. Why is that? --J.R.

A: After checking into this issue for you, I discovered that the Subversion developers intentionally omitted support for the $Log$ keyword. There are several reasons why they did this, including:

Contents of the log message in the source files are very likely to cause conflicts when merging from a branch

Log message contents are duplicated across many files in the repository, increasing repetition and wasted space

Subversion uses the svn:log property to store the log message, and since it is mutable, the contents of a $Log$ keyword would not stay in sync with the actual log message, if the property value is changed.