rbtools.clients.clearcase¶
A client for ClearCase.
Classes
| 
 | A client for ClearCase. | 
| 
 | A representation of a ClearCase source code repository. | 
| A difference between two directories. | |
| Information about an element in a label. | 
- class rbtools.clients.clearcase.DirectoryDiff[source]¶
- Bases: - TypedDict- A difference between two directories. - New in version 5.0. - added: set[tuple[str, str]]¶
- The added files. - Each entry is a tuple containing the new filename and new OID. 
 - deleted: set[tuple[str, str]]¶
- The deleted files. - Each entry is a tuple containing the old filename and old OID. 
 - renamed: set[tuple[str, str, str, str]]¶
- The renamed files. - Each entry is a tuple containing the old filename, old OID, new filename, and new OID. 
 - __closed__ = False¶
 - __extra_items__ = None¶
 - __mutable_keys__ = frozenset({'added', 'deleted', 'renamed'})¶
 - __optional_keys__ = frozenset({})¶
 - __orig_bases__ = (<function TypedDict>,)¶
 - __readonly_keys__ = frozenset({})¶
 - __required_keys__ = frozenset({'added', 'deleted', 'renamed'})¶
 - __total__ = True¶
 
- class rbtools.clients.clearcase.LabelElementInfo[source]¶
- Bases: - TypedDict- Information about an element in a label. - New in version 5.0. - __closed__ = False¶
 - __extra_items__ = None¶
 - __mutable_keys__ = frozenset({'oid', 'version'})¶
 - __optional_keys__ = frozenset({})¶
 - __orig_bases__ = (<function TypedDict>,)¶
 - __readonly_keys__ = frozenset({})¶
 - __required_keys__ = frozenset({'oid', 'version'})¶
 - __total__ = True¶
 
- class rbtools.clients.clearcase.ClearCaseClient(**kwargs)[source]¶
- Bases: - BaseSCMClient- A client for ClearCase. - This is a wrapper around the clearcase tool that fetches repository information and generates compatible diffs. This client assumes that cygwin is installed on Windows. - scmclient_id: str = 'clearcase'[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]] = 'ClearCase,VersionVault / ClearCase'[source]¶
- A comma-separated list of SCMClient names on the server. - New in version 3.0. - Type:
 
 - server_tool_ids: ClassVar[Optional[List[str]]] = ['clearcase', 'versionvault'][source]¶
- A comma-separated list of SCMClient IDs on the server. - This supersedes - server_tool_nameswhen running on a version of Review Board that supports passing tool IDs to the repositories list API.- New in version 5.0.1. - Type:
 
 - requires_diff_tool: Union[bool, List[str]] = True[source]¶
- Whether this tool requires a command line diff tool. - This may be a boolean or a list. - If a boolean, then this must be - Falseif no command line tool is required, or- Trueif any command line tool supported by RBTools is available (in which case the SCMClient is responsible for ensuring compatibility).- If a list, then this must be a list of registered diff tool IDs that are compatible. - New in version 4.0. 
 - supports_patch_revert: bool = True[source]¶
- Whether the SCM client supports reverting patches. - Type:
 
 - __init__(**kwargs) None[source]¶
- Initialize the client. - Parameters:
- **kwargs ( - dict) – Keyword arguments to pass through to the superclass.
 
 - vobtag: Optional[str]¶
- The current repository’s VOB tag. - This is only used for matching the Review Board server repository. 
 - property host_properties: _HostProperties[source]¶
- A dictionary containing host properties. - This will fetch the properties on first access, and cache for future usage. - The contents are the results of cleartool hostinfo -l, with the addition of: - Keys:
 - Callers must call - setup()or- has_dependencies()before accessing this.- They also must check for - Noneresponses and exceptions.- Changed in version 4.0: Made this a lazily-loaded caching property. - Type:
- Raises:
- rbtools.clients.errors.SCMError – There was an error fetching host property information. 
 
 - check_dependencies() None[source]¶
- Check whether all dependencies for the client are available. - This will check for cleartool in the path. - New in version 4.0. - Raises:
- rbtools.clients.errors.SCMClientDependencyError – cleartool 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:
 
 - find_matching_server_repository(repositories: ListResource) tuple[Optional[ItemResource], Optional[ItemResource]][source]¶
- Find a match for the repository on the server. - Parameters:
- repositories ( - rbtools.api.resource.ListResource) – The fetched repositories.
- Returns:
- A 2-tuple of - ItemResource. The first item is the matching repository, and the second is the repository info resource.
- 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). - There are many different ways to generate diffs for ClearCase, because there are so many different workflows. This method serves more as a way to validate the passed-in arguments than actually parsing them in the way that other clients do. - Parameters:
- revisions ( - listof- str, optional) – A list of revisions as specified by the user.
- Returns:
- The parsed revision spec. - See - SCMClientRevisionSpecfor the format of this dictionary.- This always populates - baseand- tip.
- 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, *, include_files: list[str] = [], exclude_patterns: list[str] = [], repository_info: ClearCaseRepositoryInfo, extra_args: list[str] = [], **kwargs) SCMClientDiffResult[source]¶
- Perform a diff using the given revisions. - Parameters:
- revisions ( - dict) – A dictionary of revisions, as returned by- parse_revision_spec().
- include_files ( - listof- str, optional) – A list of files to whitelist during the diff generation.
- exclude_patterns ( - listof- str, optional) – A list of shell-style glob patterns to blacklist during diff generation.
- repository_info ( - ClearCaseRepositoryInfo, optional) – The repository info structure.
- extra_args ( - list, unused) – Additional arguments to be passed to the diff generation. Unused for ClearCase.
- **kwargs ( - dict, optional) – Unused keyword arguments.
 
- Returns:
- A dictionary containing the following keys: - diff(- bytes):
- The contents of the diff to upload. 
 
- Return type:
 
 
- class rbtools.clients.clearcase.ClearCaseRepositoryInfo(path: str, vobtag: str)[source]¶
- Bases: - RepositoryInfo- A representation of a ClearCase source code repository. - This version knows how to find a matching repository on the server even if the URLs differ. - tool: ClearCaseClient¶
- The SCM client. - Type:
 
 - update_from_remote(repository: ItemResource, info: ItemResource) None[source]¶
- Update the info from a remote repository. - Parameters:
- repository ( - rbtools.api.resource.ItemResource) – The repository resource.
- info ( - rbtools.api.resource.ItemResource) – The repository info resource.
 
 
 
