Intelligently handle :pserver: paths for CVS repositories.

Review Request #6060 — Created July 4, 2014 and submitted — Latest diff uploaded

Information

Review Board
release-2.0.x
3eecf05...

Reviewers

Our CVS repository path handling was pretty bad. We only injecting the
form's username and password if not specifying a repository type (such
as :pserver:). This led to a lot of confusion.

Now, our regex and CVSROOT building are a lot smarter. The user can
provide a :pserver: (or equivalent) CVSROOT, and either include or leave
out the username or password. Those will then be provided based on the
form input.

The workaround for using hostname:port/path format has been removed from
the docs, since it's far more natural to use a valid CVSROOT.

Tested some combinations by hand against a real CVS repository, and looked
at debug output for the generated CVSROOT.

Added new unit tests for the various combinations, which pass.