AcUtils
A high performance abstraction layer for AccuRev
|
A depot object that defines the attributes of an AccuRev depot. More...
Public Member Functions | |
AcStream | getStream (string name) |
Get the AcStream object for stream name. More... | |
AcStream | getStream (int ID) |
Get the AcStream object with stream ID number. More... | |
AcStream | getBasis (string name) |
Get the basis (parent) stream for stream name. More... | |
AcStream | getBasis (int ID) |
Get the basis (parent) stream for stream ID number. More... | |
async Task< bool > | forStreamAndAllChildrenAsync (AcStream stream, Action< AcStream > cb, bool includeWSpaces=false) |
Run the specified action cb for stream and all child streams in its hierarchy. More... | |
async Task< Tuple< bool?, IList< AcStream > > > | getChildrenAsync (AcStream stream, bool includeWSpaces=false) |
Get the list of child streams that have stream as their immediate parent (basis) stream. More... | |
string | ToString (string format, IFormatProvider provider) |
The ToString implementation. More... | |
Equality comparison | |
bool | Equals (AcDepot other) |
IEquatable implementation to determine the equality of instances of type AcDepot. Uses the depot ID number to compare instances. More... | |
override bool | Equals (object other) |
Overridden to determine equality. More... | |
override int | GetHashCode () |
Override appropriate for type AcDepot. More... | |
Internal Functions | |
string | listFile () |
When this file exists (created manually), it is used as the list-file to populate the depot with select streams. This function is called internally and not by user code. More... | |
Properties | |
int | ID [get, set] |
Depot ID number. More... | |
string | Name [get, set] |
Depot name. More... | |
int | Slice [get, set] |
Depot's slice number. More... | |
bool | ExclusiveLocking [get, set] |
Whether or not all workspaces created for this depot use exclusive file locking. More... | |
CaseSensitivity | Case [get, set] |
Whether the depot is case sensitive or insensitive. More... | |
IEnumerable< AcStream > | Streams [get] |
The list of streams in this depot. More... | |
Private Member Functions | |
async Task< MultiValueDictionary< int, int > > | getHierarchyAsync (bool includeWSpaces=false) |
Get the depot's stream and workspace (optional) hierarchy relationship data from AccuRev. This method is called internally and not by user code. More... | |
Object construction: | |
AcDepot (bool dynamicOnly, bool includeHidden) | |
Constructor used during AcDepots list construction. It is called internally and not by user code. More... | |
AcDepot (string name, bool dynamicOnly=false, bool includeHidden=false) | |
Constructor for specifying the depot name. More... | |
AcDepot (int id, bool dynamicOnly=false, bool includeHidden=false) | |
Constructor for specifying the depot ID number. More... | |
async Task< bool > | initAsync () |
Initialize this AcDepot object with data from AccuRev as per constructor parameter's depot name or ID number. More... | |
Order comparison | |
int | CompareTo (AcDepot other) |
Generic IComparable implementation (default) for comparing AcDepot objects to sort by depot name. More... | |
int IComparable. | CompareTo (object other) |
Pre-generic interface implementation for code using reflection. More... | |
A depot object that defines the attributes of an AccuRev depot.
Definition at line 49 of file AcDepots.cs.
|
inlinepackage |
Constructor used during AcDepots list construction. It is called internally and not by user code.
dynamicOnly | true for dynamic streams only, false for all stream types. |
includeHidden | true to include hidden (removed) streams, otherwise do not include hidden streams. |
Definition at line 73 of file AcDepots.cs.
Referenced by AcUtils.AcDepot.CompareTo().
|
inline |
Constructor for specifying the depot name.
name | Depot name. |
dynamicOnly | true for dynamic streams only, false for all stream types. |
includeHidden | true to include hidden (removed) streams, otherwise do not include hidden streams. |
Definition at line 86 of file AcDepots.cs.
|
inline |
Constructor for specifying the depot ID number.
id | Depot ID number. |
dynamicOnly | true for dynamic streams only, false for all stream types. |
includeHidden | true to include hidden (removed) streams, otherwise do not include hidden streams. |
Definition at line 99 of file AcDepots.cs.
|
inline |
Generic IComparable implementation (default) for comparing AcDepot objects to sort by depot name.
other | An AcDepot object to compare with this instance. |
Definition at line 211 of file AcDepots.cs.
Referenced by AcUtils.AcProperty.CompareTo(), AcUtils.AcWorkspace.CompareTo(), and AcUtils.AcDepot.CompareTo().
|
inlineprivate |
Pre-generic interface implementation for code using reflection.
other | An AcDepot object to compare with this instance. |
ArgumentException | thrown if argument is not an AcDepot object. |
Definition at line 228 of file AcDepots.cs.
|
inline |
IEquatable implementation to determine the equality of instances of type AcDepot. Uses the depot ID number to compare instances.
other | The AcDepot object being compared to this instance. |
Definition at line 172 of file AcDepots.cs.
Referenced by AcUtils.AcDepot.Equals().
|
inline |
Overridden to determine equality.
Definition at line 183 of file AcDepots.cs.
|
inline |
Run the specified action cb for stream and all child streams in its hierarchy.
stream | Top-level stream to begin the operation with. |
cb | Delegate to invoke for each stream. |
includeWSpaces | true to include workspaces in the list. |
Definition at line 366 of file AcDepots.cs.
|
inline |
Get the basis (parent) stream for stream name.
name | Stream name to query. |
Definition at line 318 of file AcDepots.cs.
Referenced by AcUtils.AcStream.getBasis(), and AcUtils.AcWorkspace.getBasis().
|
inline |
Get the basis (parent) stream for stream ID number.
ID | Stream ID number to query. |
Definition at line 334 of file AcDepots.cs.
|
inline |
Get the list of child streams that have stream as their immediate parent (basis) stream.
stream | Stream to query for child streams. |
includeWSpaces | true to include workspaces in the list that have stream as their backing stream. |
Definition at line 408 of file AcDepots.cs.
Referenced by AcUtils.AcDepot.forStreamAndAllChildrenAsync().
|
inline |
Override appropriate for type AcDepot.
Definition at line 195 of file AcDepots.cs.
|
inlineprivate |
Get the depot's stream and workspace (optional) hierarchy relationship data from AccuRev. This method is called internally and not by user code.
includeWSpaces | true to include workspaces in the list. |
AcUtilsException | caught and logged in %LOCALAPPDATA%\AcTools\Logs\<prog_name>-YYYY-MM-DD.log on show command failure. |
Exception | caught and logged in same on failure to handle a range of exceptions. |
show -p <depot> [-fix | -fx] -s 1 -r streams
Definition at line 453 of file AcDepots.cs.
Referenced by AcUtils.AcDepot.getChildrenAsync().
|
inline |
Get the AcStream object for stream name.
name | Stream name to query. |
Definition at line 296 of file AcDepots.cs.
Referenced by AcUtils.AcDepot.getBasis(), and AcUtils.AcDepot.getChildrenAsync().
|
inline |
Get the AcStream object with stream ID number.
ID | Stream ID number to query. |
Definition at line 307 of file AcDepots.cs.
|
inline |
Initialize this AcDepot object with data from AccuRev as per constructor parameter's depot name or ID number.
AcUtilsException | caught and logged in %LOCALAPPDATA%\AcTools\Logs\<prog_name>-YYYY-MM-DD.log on show command failure. |
Exception | caught and logged in same on failure to handle a range of exceptions. |
show -fx depots
Definition at line 114 of file AcDepots.cs.
|
inlinepackage |
When this file exists (created manually), it is used as the list-file to populate the depot with select streams. This function is called internally and not by user code.
Implemented with show -l <list-file> streams
-l <list-file> Process the streams listed in the specified file. The file must be text only, containing one stream name or number per line. Extra whitespace is not allowed; make sure there are no empty lines and no leading or trailing whitespace around the filenames. There is no provision for comment lines in a list-file. This option can also be used with one of -1 ("dash-one"), -r, or -R. You cannot also specify streams using the -s option.
%APPDATA%\AcTools\<prog_name>\<depot_name>.streams
if found, otherwise null."C:\Users\barnyrd\AppData\Roaming\AcTools\FooApp\NEPTUNE.streams"
Exception | caught and logged in %LOCALAPPDATA%\AcTools\Logs\<prog_name>-YYYY-MM-DD.log on failure to handle a range of exceptions. |
Definition at line 529 of file AcDepots.cs.
Referenced by AcUtils.AcDepot.initAsync(), and AcUtils.AcDepots.initAsync().
|
inline |
The ToString implementation.
format | The format specifier to use, e.g. Console.WriteLine(depot.ToString("c")); |
provider | Allow clients to format output for their own types using ICustomFormatter. |
FormatException | thrown if an invalid format string is specified. |
G
Depot name. Default when not using a format specifier. LV
Long version (verbose). I
Depot ID number. S
Depot's slice number. E
Exclusive locking status: true or false. C
Case sensitivity: Sensitive or Insensitive. Definition at line 573 of file AcDepots.cs.
|
getset |
Whether the depot is case sensitive or insensitive.
Definition at line 278 of file AcDepots.cs.
Referenced by AcUtils.AcDepot.initAsync(), and AcUtils.AcDepots.initAsync().
|
getset |
Whether or not all workspaces created for this depot use exclusive file locking.
Definition at line 269 of file AcDepots.cs.
Referenced by AcUtils.AcDepot.initAsync(), and AcUtils.AcDepots.initAsync().
|
getset |
Depot ID number.
Definition at line 242 of file AcDepots.cs.
Referenced by AcUtils.AcDepot.GetHashCode(), AcUtils.AcDepot.initAsync(), and AcUtils.AcDepots.initAsync().
|
getset |
Depot name.
Definition at line 251 of file AcDepots.cs.
Referenced by AcUtils.AcDepots.canViewAsync(), AcUtils.AcDepot.CompareTo(), AcUtils.AcDepot.initAsync(), AcUtils.AcDepots.initAsync(), AcUtils.AcDepot.listFile(), and AcUtils.AcWorkspaces.storeWSpaces().
|
getset |
Depot's slice number.
Definition at line 260 of file AcDepots.cs.
Referenced by AcUtils.AcDepot.initAsync(), and AcUtils.AcDepots.initAsync().
|
get |
The list of streams in this depot.
Definition at line 287 of file AcDepots.cs.
Referenced by AcUtils.AcRules.initAsync(), and AcUtils.AcLocks.initAsync().