Support portfolio IDs for Assembla Perforce repositories.

Review Request #8940 — Created May 12, 2017 and submitted — Latest diff uploaded

Information

Review Board
release-2.5.x
d36193c...

Reviewers

Assembla has recently added a namespacing concept called "Portfolios,"
which require slashes in the P4HOST value. Since Perforce defaults a
P4CLIENT to the value of the P4HOST, and P4CLIENT doesn't support
slashes, we now need to manually specify a sanitized P4CLIENT.

The Perforce SCMTool now allows for specifying a custom P4CLIENT value.
The Assembla support now generates a suitable value based on the Review
Board server's hostname and the project ID, converting all slashes to
dashes.

This should allow Review Board to work with modern, paid Assembla
repositories.

Unit tests pass.

Tested adding an Assembla repository and verifying that the custom
P4HOST and P4CLIENTs were being used for repository verification and
all other communication.