The MANAGEDEXTENT parameter can be set to 0 (zero) to cause the Extent Manager
to ignore this class. If set to 1 then the Extent Manager will register globals used by
the class and detect collisions. Unmanaged extents (MANAGEDEXTENT = 0) are not checked.
Currently, only classes using default storage (%Storage.Persistent) can be managed.
This is required since each Namespace will have it's own Change extent
This Parameter should be updated when synced from Perforce
parameter Version = 28;
Revision number of this class when compiled as part of the //custom_ccrs/_common/config/... branch.
This version will not be updated (by design) when the class is integrated to other branches.
This allows the user to tell what version of the Studio client tools are in use.
property Action as %String (VALUELIST = ",add,edit,predelete,delete,revert") [ Required ];
property ActivelyCommitted as %Boolean [ InitialExpression = 0 ];
Flag indicating whether or not this change was committed to Perforce via Source/Change control tools.
If ActivelyCommitted = 0 for a committed change, then it might have been either reverted or committed directly by a Perforce client and the
Perforce history should be checked to see whether or not it was committed
Time of when the P4 command was issued to Perforce
NOTE - a change can have a non-null P4Issued and still have Committed=0 because a 'p4 edit' will check it out but it is not committed until 'p4 submit'
This callback method is invoked when the current object is added to the SaveSet,
either because %Save() was invoked on this object or on an object that references this object.
%OnAddToSaveSet can modify the current object. It can also add other objects to the current
SaveSet by invoking %AddToSaveSet or remove objects by calling %RemoveFromSaveSet.
If this method returns an error status then %Save() will fail and the transaction
will be rolled back.
classmethod DisplayUncommitted(ByRef UncommittedList, IncludeRevert=0) as %Status [ Language = objectscript ]
Displays a list of Uncommitted items from the Uncommitted queue to the output device
Only lists items with action of type 'revert' if the IncludeRevert flag is passed as true
classmethod RefreshUncommitted(Display=1, IncludeRevert=0) as %Status [ Language = objectscript ]
Goes through Uncommitted queue and removes any items of action 'edit' or 'add' which are ReadOnly or non-existent on the filesystem
classmethod RemoveAllUncommitted(Display=1, IncludeRevert=1) as %Status [ Language = objectscript ]
Removes all Uncommitted items from the Uncommitted queue
classmethod RemoveUncommitted(FileList, Display=1, Revert=0, ActiveCommit=1, CommitCCR) as %Status [ Language = objectscript ]
Removes one or more Uncommitted items from the Uncommitted queue and changes the exported file to Reaonly (except for reverts of Adds, or new CSP files within the Perforce root)
Default assumed behavior is that the the change was not reverted, and that it was actively committed to Perforce
If the method calling does not know whether it was reverted or committed to Perforce, then it should pass Revert = 0 and ActiveCommit = 0,
indicating that the change might have been reverted and the Perforce history should be checked for the definitive answer.
The Revert, ActiveCommit, and CommitCCR arguments only impact the behavior if ^SYS("SourceControl","ChangeConfig","KeepHistory")=1,
which means Change objects should have their Committed flag set to 1 and be saved for historical reference, rather than just deleting the Change objects
when RemoveUncommitted() is called.
Arguments are as follows:
FileList - the name of the file to revert, or an array subscripted by filenames (e.g. FileList("C:\Perforce\custom_ccrs\us\ISCX\TESTSYS\cls\User\Test.xml")="")
Display - boolean flag controlling whether to display the results to standard output (defaults to '1')
Revert - boolean flag controlling whether to revert a checkout which would delete the change from the change history table (defaults to '0')
ActiveCommit - used for historical tracking purposes for the %Studio_SourceControl.Change table
CommitCCR - used for historical tracking purposes for the %Studio_SourceControl.Change table
classmethod SetUncommitted(Filename, Action, InternalName, ChangedBy, Source, P4Issued As %Boolean, CCR, Name, EnforceSourcesPath=1) as %Status [ Language = objectscript ]
Sets the details for a new Uncommitted item into the Uncommitted queue
classmethod UpdateUncommitted(Filename, Action, InternalName, ChangedBy, Source, Updated, P4Issued, CCR, Name) as %Status [ Language = objectscript ]
Update the details for an Uncommitted item in the Uncommitted queue
index ($Change on ) [Extent, Type = bitmap];
index (ChangeList on ItemFile,CommittedTime) [Data = Action, Unique];