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 mailing list
Wikitech-l(a)wikimedia.org
http://mail.wikipedia.org/mailman/listinfo/wikitech-l
Use option -kk when merging. This disables RCS keyword expansion.