I asked brion on #mediawiki if he ever had problems merging between branches due to the CVS keywords we have embedded in the source code. Keywords in source make merging between branches kinda hard; you get a lot of spurious conflicts, and it's consequently harder to find and resolve the real ones. See this URL for details:
https://www.cvshome.org/docs/manual/cvs-1.11.18/cvs_5.html#SEC64
Brion said that, yes, he did have problems with them, and said to remove CVS keywords when I saw them. I then did a global search-and-replace across the codebase, removing all the CVS keywords I could find (almost all were $Id:$; I found one or two $Revision:$ ones).
I realize that having CVS keywords in source files can be convenient; I don't think that convenience outweighs the burden put on release managers when merging across branches. Life's hard enough for our release managers, and if a release manager misses a real conflict because a merge caused 65 false ones, we've got a quality problem.
I've added notes to this effect in the coding standards in docs/design.doc; I'll try to find a place on meta.w.o to add it, too. I should have posted to the list about it earlier; sorry I didn't.
~ESP
wikitech-l@lists.wikimedia.org