rbtools.clients.plastic¶
A client for Plastic SCM.
Classes
|
A client for Plastic SCM. |
- class rbtools.clients.plastic.PlasticClient(**kwargs)[source]¶
Bases:
BaseSCMClient
A client for Plastic SCM.
This is a wrapper around the cm executable that fetches repository information and generates compatible diffs.
- scmclient_id: str = 'plastic'[source]¶
The unique ID of the client.
New in version 4.0: This will be required in RBTools 5.0.
- Type:
- server_tool_names: ClassVar[Optional[str]] = 'Plastic SCM'[source]¶
A comma-separated list of SCMClient names on the server.
New in version 3.0.
- Type:
- server_tool_ids: ClassVar[Optional[List[str]]] = ['plastic'][source]¶
A comma-separated list of SCMClient IDs on the server.
This supersedes
server_tool_names
when running on a version of Review Board that supports passing tool IDs to the repositories list API.New in version 5.0.1.
- Type:
- supports_changesets: bool = True[source]¶
Whether the SCM uses server-side changesets
New in version 3.0.
- Type:
- supports_patch_revert: bool = True[source]¶
Whether the SCM client supports reverting patches.
- Type:
- __init__(**kwargs)[source]¶
Initialize the client.
- Parameters:
**kwargs (
dict
) – Keyword arguments to pass through to the superclass.
- check_dependencies() None [source]¶
Check whether all base dependencies are available.
This checks for the presence of cm in the system path.
New in version 4.0.
- Raises:
rbtools.clients.errors.SCMClientDependencyError – A cm tool could not be found.
- get_local_path() Optional[str] [source]¶
Return the local path to the working tree.
- Returns:
The filesystem path of the repository on the client system.
- Return type:
- get_repository_info() Optional[RepositoryInfo] [source]¶
Return repository information for the current working tree.
- Returns:
The repository info structure.
- Return type:
- parse_revision_spec(revisions: List[str] = []) SCMClientRevisionSpec [source]¶
Parse the given revision spec.
These will be used to generate the diffs to upload to Review Board (or print). The Plastic implementation requires that one and only one revision is passed in. The diff for review will include the changes in the given changeset or branch.
- Parameters:
revisions (
list
ofstr
, optional) – A list of revisions as specified by the user.- Returns:
The parsed revision spec.
See
SCMClientRevisionSpec
for the format of this dictionary.This always populates
tip
.base
will always beNone
.- Return type:
- Raises:
rbtools.clients.errors.InvalidRevisionSpecError – The given revisions could not be parsed.
rbtools.clients.errors.TooManyRevisionsError – The specified revisions list contained too many revisions.
- diff(revisions: SCMClientRevisionSpec, **kwargs) SCMClientDiffResult [source]¶
Perform a diff across all modified files in a Plastic workspace.
Parent diffs are not supported.
- Parameters:
revisions (
dict
) – A dictionary of revisions, as returned byparse_revision_spec()
.**kwargs (
dict
, unused) – Unused keyword arguments.
- Returns:
A dictionary containing keys documented in
SCMClientDiffResult
.- Return type: