Undocumented Plastic “cm status –hiddenchanged” to show hidden changes like the Plastic SCM GUI does by default
Posted by jpluimers on 2021/03/16
[WayBack] Undo changes to a hidden changes item from CLI – General – Plastic SCM Community.
Maybe I should start an undocumented Plastic SCM series just like I did for Delphi. (:
As soon as you have entries in your hidden_changes.conf
, then entries matching will show up in your Plastic SCM GUI, but not included in the cm status --all
command.
Luckily there is an the --hiddenchanged
switch (maybe to keep naming inconsistent with the hidden_changes.conf
file) which is only documented in cm changed --help
, not on-line).
So my new cm-show-status.bat
file contains this line:
cm status --all --hiddenchanged %*
Maybe more switches can be deducted from [WayBack] Plastic SCM version control · The Plastic SCM API: GET PENDING CHANGES IN WORKSPACE:
GET PENDING CHANGES IN WORKSPACE
GET /api/v1/wkspaces/:wkname/changes
Parameters
Name Type Description types string A comma-separated list detailing the desired change types to display in the response. Available types: added
,checkout
,changed
,copied
,replaced
,deleted
,localdeleted
,moved
,localmoved
,private
,ignored
,hiddenchanged
,controlledchanged
,all
Documentation at time of writing
For my own sanity:
D:\Temp>cm status --help Show changes in the workspace. Usage: cm status [wk_path] [--changelist=name | --changelists] [--cutignored] [--nochanges] [--noheaders] [--nomergesinfo] [--nostatus] [--selector] [--short] [--symlink] [--wkconfig] [--dirwithchanges] [--xml[=output_file]] [--encoding=name] [--wrp] [--fullpaths | --fp] [search_types] Options: wk_path Path of the workspace where the search will be performed. --changelist Shows changes in the selected changelist. --changelists Shows changes grouped in client changelists. --cutignored Skips the contents of ignored directories. Requires the --ignored search type. --nochanges Only prints the loaded changeset. --noheaders The changes group information will not be printed. --nomergesinfo The merge info for changes is not printed. --nostatus Only prints the modified item search result. --selector Prints the changeset on the repository that should be loaded. The modified item search will be omitted. --short Lists only paths that contains changes. --symlink Applies the operation to the symlink and not to the target. --wkconfig Prints the workspace configuration (current branch, label or changeset where the workspace points to). --dirwithchanges Shows directories that contain changes inside them (added, moved, removed items inside). --xml Prints the output in XML format to the standard output. It is possible to specify an output file. --encoding Used with the --xml option, specifies the encoding to use in the XML output, i.e.: utf-8. See the MSDN documentation at http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx to get the table of supported encodings and its format, (at the end of the page, in the "Name" column). --wrp Print workspace root relative paths instead of current directory relative paths.("--wkrootrelativepaths" flag does the same). --fullpaths, --fp Force printing absolute paths, overriding any other path printing setting. Search types: --added Prints added items. --checkout Prints checkedout items. --changed Prints changed items. --copied Prints copied items. --replaced Prints replaced items. --deleted Prints deleted items. --localdeleted Prints locally deleted items. --moved Prints moved items. --localmoved Prints locally moved items. --percentofsimilarity=value Percent of similarity between two files in order to consider them the same item. Used in the locally moved search. Its default value is 20%. --txtsameext Only those text files that have the same extension will be taken into account by the similarity content matching process during the moved items search. By default any text file will be processed. --binanyext Any binary file will be taken into account by the similarity content matching process during the moved items search. By default only those binary files that have the same extension will be processed. --private Prints non controlled items. --ignored Prints ignored items. --hiddenchanged Prints hidden changed items. (Includes '--changed') --controlledchanged This modifier substitutes the following options: '--added' '--checkout' '--copied' '--replaced' '--deleted' '--moved'. --all This modifier substitutes the following parameters: '--controlledchanged' '--changed' '--localdeleted' '--localmoved' '--private'. Remarks: The status command prints the loaded changeset on a workspace and gets the changed elements inside the workspace. This command can be used to show the pending changes in a workspace; the type of changes that can be searched can be modified by using the command parameters. The default option is '--controlledchanged'; this option will print controlled items that are changed. The percent of similarity parameter '--percentofsimilarity' (-p) is used by the locally moved search to decide if two elements are the same item. The default value is 20% but it can be adjusted. It is possible to show workspace changes grouped by client changelists. The 'default' changelist includes the changes that are not included in other changelists. That being said, the changes the default changelist will show depends on the search types flags specified. Showing changes grouped by changelists requires showing controlled changes too (items with status = 'added', 'checkout', 'copied', 'replaced', 'deleted' or 'moved'). So, the '--controlledchanged' option will be automatically enabled when changelists are shown. The default encoding for XML output is utf-8. By default, this command will print current directory relative paths, unless the '--machinereadable' or '--short' flags are specified. If any of them are specified, the command will print absolute paths. If '--xml' flag is specified, workspace root relative paths will be printed (unless the '--fp' flag is also specified, printing absolute paths instead). Examples: cm status (The command will print the working changeset and also the items that are checkedout, added, copied, replaced, deleted and moved.) cm status --all (The command will print all item types changed in the workspace but not the ignored ones.) cm status --added (The command will only print the working changeset and the added items inside the workspace.) cm status c:\workspaceLocation\code\client --added (The command will only print the working changeset and the added items under the path specified recursively.) cm status --changelists --all cm status --changelist --all (The command will show all the workspace changes grouped by client changelists.) cm status --changelist=pending_to_review (The command will show the changes on the changelist named 'pending_to_review'.) cm status --changelist=default --private (The command will show the changes in the 'default' changelist, showing private items, along with items with controlled changes, if any.) cm status --short --changelist=pending_to_review | cm checkin - (The command will check-in the changes in the changelist 'pending_to_review'.) cm status C:\workspaceLocation --xml=output.xml (Gets the status information in XML format and using utf-8 in the file output.xml.) cm status --ignored (This command will show all ignored items) Output: IG src IG src/version.c IG out/app.exe cm status --ignored --cutignored (This command will show ignored files whose parent directory is not ignored and ignored directories -but not their contents) Output: IG src IG out/app.exe
–jeroen
Leave a Reply