Collapse CVS/RCS keywords for diffs and files in CVS.

Review Request #6702 — Created Dec. 18, 2014 and submitted — Latest diff uploaded

Information

Review Board
release-2.0.x
d003b97...

Reviewers

CVS suffered from the same problems as Subversion when it came to
handling keywords in fetched files or diffs, resulting in failed
patches.

We now pass -kk when fetching a file, which will tell CVS to collapse
all keywords. This gives us a sane diff we can apply a patch to.

We then collapse keywords in CVS diffs, similarly to how we handle it
with Subversion. It's a bit simpler in CVS, though, since there are a
set of pre-defined keywords, and they're in a specific format, with no
aliases.

Unit tests were added to ensure that keywords were collapsed when
fetching files, and that collapsing keywords in diffs works fine.

Unit tests pass.

Prior to the fix, both unit tests failed in the expected ways.