Have you ever made comments when committing in to source control that you wish you
could take back? Perhaps in a rage, you entered "Jimmy's code was a pile of fermenting
humus that didn't work. So I fixed it!" Now you realize that Jimmy will see it, your
boss is going to see it, and you want to change the comments to something that has
a bit more tact. Or maybe your reason is far less malicious: you identified a major
bug that you just committed, and you would like to update the comment log to say "Don't
use this revision. It has a major bug."
In Subversion, the comments can be updated long after the original commit. Log messages
are just a property on the repository revision.
svn propset --revision <REVISION> --revprop <MESSAGE> <URL>
-
<REVISION> : The revision number of the target log message.
-
<MESSAGE> : The value of the new log message, wrapped in quotes if necessary.
-
<URL> : The base URL of your repository. Since this applies to a revision property,
rather than a file property, only the base URL of the repository is needed, rather
than a URL directly to a file.
Now your malicious revision comment can be overwritten by:
svn propset --revision 123 --revprop "Fixed issue #17" http://svnserver/myrepos/
But next time, do try to be nice to Jimmy.