Regarding the new patch, it's great to see the list of examples, but
could you instead move it to a test or several inside
test/lisp/vc/vc-cvs-tests.el? This file does not exist yet, but you can
use vc-git-test.el as an example, in the same directory.
Yes, having a test for this would be most welcome.
The examples in the commit messages have been removed and replaced by a test
file.
New patch attached. The only new functional change is to test for an empty
hostname in `vc-cvs-repository-hostname', in an attempt to make it easier for
you to see that nothing can be broken as long as `vc-cvs-parse-root' works
correctly. Compared to the old code, the new implementation can, on an
*invalid* CVS/Root specifications, return an empty hostname where the older
would return nil (assuming a correct parsing case). This has no real practical
consequences since 'cvs' commands are anyway bound to fail at a later point in
such a case, but may reassure you about the innocuity of this change.