If you want to refer to a git refspec that has characters that are not allowed by CVS, you have two options.First, it may just work to supply the git refspec directly to the appropriate CVS -r argument; some CVS clients don’t seem to do much sanity checking of the argument.Tradeoffs (as currently implemented): Each new "module" creates a new database on disk with a history for the given module, and after the database is created, operations against that main branch are fast.Or alternatively, -r doesn’t take any extra disk space, but may be significantly slower for many operations, like cvs update.CVS is a source file version control system optimised for wide area networks, concurrent editing, and reuse of 3rd party source libraries.
The tools discussed here are most functional in a unix environment but windows users can obtain similar functions by using a posix shell available from
It remains the main branch for a given sandbox even if you temporarily make another branch sticky with cvs update -r.
Alternatively, the -r argument can indicate some other branch to actually checkout, even though the module is still the "main" branch.
This is a public/private keypair algorithm which means that the secret private key need never be communicated to anyone and can stay safe on the clients hard disk (protected by a passphrase).
The public key can be advertised to anyone with no loss of security.
Second, if that fails, you can use a special character escape mechanism that only uses characters that are valid in CVS tags.