CVS and the $Log keyword
There are various problems with the $Log keyword in CVS:
- It leads to conflicts on merges, and -kk doesn't solve the problem as it does for other keywords.
- Some people find the output from "cvs annotate" confusing (it appears to be off by one revision, because keywords get expanded on checkout, and so the log message for 1.41 will get checked in, and thus later annotated, with 1.42).
One idea which would have the potential to help is to treat log messages like other keywords, in the sense that the start and end of the keyword is delimited and the whole keyword is expanded every time. For example, there would be a $StartLog (not $Log, so $Log can remain compatible) and the beginning and an $EndLog at the end.
This is makes it possible to provide the ability to keep only log messages for a given number of revisions ($StartLog10 for 10 revisions, or whatever syntax seems best).
Since the keyword would be expanded every time, would need to figure out how branches work. I think the answer is that it starts from the revision being checked out, goes backwards to the branchpoint, and continues on the parent branch. That is roughly what ends up happening if you use $Log in the straightforward way with the status quo (see "keywordlog" in sanity.sh).
![[Cyclic Home]](../cyclic-pages/cyclichome.gif)
![[ Valid XHTML 1.0! ]](/branding/w3c-valid-xhtml10-44x16.png)
![[ Valid CSS! ]](/branding/w3c-valid-css-44x16.png)
