Add support for VersionVault

Review Request #11582 — Created April 7, 2021 and submitted — Latest diff uploaded

Information

RBTools
master

Reviewers

We will soon be adding a new SCMTool implementation to Power Pack to connect to
HCL VersionVault and IBM ClearCase, supplanting the old community-driven
ClearCase support. This change adds RBTools-side support for this.

This is based on code delivered to us in partnership with HCL, but has had
significant changes. The largest change is that instead of having a completely
separate SCMClient implementation in RBTools, this is built into the same
ClearCase client. Most of the code paths are the same between the two types of
backends, and the major difference is that the diff output for VersionVault
includes additional information in the headers (the VOB OID for each changed
element, and a JSON-encoded blob to drop into the FileDiff's extra_data in order
to do better post-processing on the diff display).

There's still more to do for unit testing but functionality should be
relatively complete at this point.

  • Posted changes from the current checkout (rbt post with no args) including
    new, modified, deleted, renamed, and binary files.
  • Posted changes that spanned multiple VOBs.
  • Posted a change that spanned multiple VOBs, including one that was not
    configured as part of the server-side repository. Saw expected
    warning.
  • Posted changes for UCM activities for both a single and multiple
    revisions.
  • Ran unit tests.

Diff Revision 13

This is not the most recent revision of the diff. The latest diff is revision 14. See what's changed.

orig
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Commits

First Last Summary ID Author
Add support for VersionVault
We will soon be adding a new SCMTool implementation to Power Pack to connect to HCL VersionVault and IBM ClearCase, supplanting the old community-driven ClearCase support. This change adds RBTools-side support for this. This is based on code delivered to us in partnership with HCL, but has had significant changes. The largest change is that instead of having a completely separate SCMClient implementation in RBTools, this is built into the same ClearCase client. Most of the code paths are the same between the two types of backends, and the major difference is that the diff output for VersionVault includes additional information in the headers (the VOB OID for each changed element, and a JSON-encoded blob to drop into the FileDiff's extra_data in order to do better post-processing on the diff display). There's still more to do for unit testing but functionality should be relatively complete at this point. Testing Done: - Posted changes from the current checkout (rbt post with no args) including new, modified, deleted, renamed, and binary files. - Posted changes that spanned multiple VOBs. - Posted a change that spanned multiple VOBs, including one that was not configured as part of the server-side repository. Saw expected warning. - Posted changes for UCM activities for both a single and multiple revisions. - Ran unit tests.
f6f6a0a273e9b710c22650ec0611d1f07ba1a6cf David Trowbridge
dev-requirements.txt
setup.py
docs/rbtools/rbt/commands/post.rst
rbtools/clients/__init__.py
rbtools/clients/clearcase.py
rbtools/clients/tests/test_clearcase.py
rbtools/commands/diff.py
rbtools/commands/post.py
Loading...