A game about forced loneliness, made by TACStudios
1== CMD_DESCRIPTION_ACCESS_TOKEN ==
2Allows the user to manage Access Tokens.
3
4== CMD_USAGE_ACCESS_TOKEN ==
5Usage:
6
7 cm ^accesstoken <command> [options]
8
9Commands:
10
11 - ^create
12 - ^list
13 - ^reveal
14 - ^revoke
15
16 To get more information about each command run:
17 cm ^accesstoken <command> --^usage
18 cm ^accesstoken <command> --^help
19
20== CMD_HELP_ACCESS_TOKEN ==
21Examples:
22
23 cm ^accesstoken ^create "To be used by the Build Server"
24 cm ^accesstoken ^list
25 cm ^accesstoken ^reveal 19c57d0f-c525-4767-8670-82f7ecc2ccdb
26 cm ^accesstoken ^revoke 19c57d0f-c525-4767-8670-82f7ecc2ccdb
27
28== CMD_DESCRIPTION_ACCESS_TOKEN_CREATE ==
29Creates a new access token.
30
31== CMD_USAGE_ACCESS_TOKEN_CREATE ==
32Usage:
33
34 cm ^accesstoken ^create <description> [<repserverspec>]
35 [--^format=<str_format>] [--dateformat=<str_date_format>]
36
37 description A description that helps identify the purpose
38 of the access token.
39 repserverspec Repository server specification.
40 (Use 'cm ^help ^objectspec' to learn more about rep server
41 specs.)
42 --^format Retrieves the output message in a specific format. See
43 Remarks for more info.
44 --^dateformat Sets the output format to print dates.
45
46== CMD_HELP_ACCESS_TOKEN_CREATE ==
47Remarks:
48
49 The access token lifespan will be determined by the server configuration.
50 It is not possible to set the token lifespan at creation time.
51
52 Output format parameters (--^format option):
53
54 This command accepts a format string to show the output.
55
56 The output parameters of this command are the following:
57 {^id} | {0} ID of the access token.
58 {^description} | {1} Description of the access token.
59 {^owner} | {2} Owner of the access token.
60 {^creationdate} | {3} Creation date of the access token.
61 {^expirationdate} | {4} Expiration date of the access token.
62 {^lastusedate} | {5} Last use date of the access token.
63 {^tab} Inserts a tab space.
64 {^newline} Inserts a new line.
65
66 If the format parameter is not specified, the output will be printed
67 using a table format.
68
69Examples:
70
71 cm ^accesstoken ^create "Token for Build Server"
72 (Creates a new access token with the provided description against the default
73 repserver.)
74
75 cm ^accesstoken ^create "Token for Build Server" skull:8087
76 (Creates a new access token with the provided description on repserver skull:8087.)
77
78 cm ^accesstoken ^create "Token for Build Server" --^format="{^id}"
79 (Creates a new access token with the provided description against the default
80 repserver and only displays its ID.)
81
82== CMD_DESCRIPTION_ACCESS_TOKEN_LIST ==
83Lists access tokens.
84
85== CMD_USAGE_ACCESS_TOKEN_LIST ==
86Usage:
87
88 cm ^accesstoken ^list [<repserverspec>]
89 [--^format=<str_format>] [--^dateformat=<str_date_format>]
90
91 repserverspec Repository server specification.
92 (Use 'cm ^help ^objectspec' to learn more about rep server
93 specs.)
94 --^format Retrieves the output message in a specific format. See
95 Remarks for more info.
96 --^dateformat Sets the output format to print dates.
97
98== CMD_HELP_ACCESS_TOKEN_LIST ==
99Remarks:
100
101 You can only list your own access tokens. Revoked access tokens will not be
102 returned as part of the result. On the other hand, expired access tokens will.
103
104 Output format parameters (--^format option):
105
106 This command accepts a format string to show the output.
107
108 The output parameters of this command are the following:
109 {^id} | {0} ID of the access token.
110 {^description} | {1} Description of the access token.
111 {^owner} | {2} Owner of the access token.
112 {^creationdate} | {3} Creation date of the access token.
113 {^expirationdate} | {4} Expiration date of the access token.
114 {^lastusedate} | {5} Last use date of the access token.
115 {^tab} Inserts a tab space.
116 {^newline} Inserts a new line.
117
118 If the format parameter is not specified, the output will be printed
119 using a table format.
120
121Examples:
122
123 cm ^accesstoken ^list
124 (Lists access tokens on the default repserver.)
125
126 cm ^accesstoken ^list skull:8087
127 (Lists access tokens on repserver skull:8087.)
128
129 cm ^accesstoken ^list --^format="{^id}"
130 (Lists access tokens on the default repserver and only displays their IDs.)
131
132== CMD_DESCRIPTION_ACCESS_TOKEN_REVOKE ==
133Revokes an existing access token.
134
135== CMD_USAGE_ACCESS_TOKEN_REVOKE ==
136Usage:
137
138 cm ^accesstoken ^revoke <id> [<repserverspec>]
139
140 id The ID of the access token to be revoked.
141 repserverspec Repository server specification.
142 (Use 'cm ^help ^objectspec' to learn more about rep server
143 specs.)
144
145== CMD_HELP_ACCESS_TOKEN_REVOKE ==
146Remarks:
147
148 You can only revoke your own access tokens. Trying to revoke an access token
149 that does not exist or does not belong to you will result in an error.
150 (See '^cm ^accesstoken ^list --^help' for further information.)
151
152 To revoke an access token you need to provide the full ID.
153
154 Revoking an access token does not mean that the already revealed Unity VCS
155 tokens will stop functioning immediately.
156 The maximum amount of time that can pass between revoking an access token
157 and the revealed Unity VCS token stopping working depends on the
158 'TokenExpirationTimeSpan' configuration key in your server.conf.
159 By default, it is 1 hour.
160 If you need to know the exact value configured for your Unity VCS server,
161 please contact your repository server administrator.
162 (See '^cm ^accesstoken ^reveal --^help' for further information.)
163
164Examples:
165
166 cm ^accesstoken ^revoke de0be8a4-2a7a-44c6-9c4c-82c8222dbc6f
167 (Revokes the access token with the provided ID from the default repserver.)
168
169 cm ^accesstoken ^revoke de0be8a4-2a7a-44c6-9c4c-82c8222dbc6f skull:8087
170 (Revokes the access token with the provided ID from repserver skull:8087.)
171
172== CMD_DESCRIPTION_ACCESS_TOKEN_REVEAL ==
173Reveals an access token so it can be used as the authentication credentials.
174
175== CMD_USAGE_ACCESS_TOKEN_REVEAL ==
176Usage:
177
178 cm ^accesstoken ^reveal <id> [<repserverspec>]
179
180 id The ID of the access token to be revealed.
181 repserverspec Repository server specification.
182 (Use 'cm ^help ^objectspec' to learn more about rep server
183 specs.)
184
185
186== CMD_HELP_ACCESS_TOKEN_REVEAL ==
187Remarks:
188
189 You can only reveal your own access tokens. Trying to reveal an access token
190 that does not exist or does not belong to you will result in an error.
191 (See '^cm ^accesstoken ^list --^help' for further information.)
192
193 To reveal an access token you need to provide the full ID.
194
195 The revealed token can be used for automation purposes. You can pass it down
196 in subsequent 'cm' commands (either in the same machine or a different one)
197 by using the following 'cm' arguments (replace accordingly):
198
199 $ cm ^repo ^list \
200 --^username=^Peter \
201 --^workingmode=^OIDCWorkingMode \
202 --^token="the revealed token" \
203 --^server=skull:8087
204
205 The revealed token will be valid from the very moment it was revealed, and
206 will be automatically renewed as long as the related access token is not
207 expired nor revoked.
208
209Examples:
210
211 cm ^accesstoken ^reveal d2f43753-f612-4e51-b9b4-3c2883d7cf95
212 (Reveals the access token with the provided ID on the default repserver.)
213
214 cm ^accesstoken ^reveal d2f43753-f612-4e51-b9b4-3c2883d7cf95 skull:8087
215 (Reveals the access token with the provided ID on repserver skull:8087.)
216
217== CMD_DESCRIPTION_ACL ==
218Sets permissions on an object.
219
220== CMD_USAGE_ACL ==
221Usage:
222
223 cm ^acl (--^user=<usr_name> | --^group=<group_name>)
224 (-^allowed|-^denied|-^overrideallowed|-^overridedenied=+|-<permission>[,...])[,...]
225 <objectspec>
226
227Options:
228 --^user User name.
229 --^group Group name.
230 -^allowed Enables the specified permission or permissions. Use a
231 comma to separate permissions. (Use 'cm ^showpermissions'
232 to display all the available permissions.)
233 -^denied Denies the specified permission or permission. Use a
234 comma to separate permissions. (Use 'cm ^showpermissions'
235 to display all the available permissions.)
236 -^overrideallowed Overrides the allowed permission or permissions. Use a
237 comma to separate permissions. (Use 'cm ^showpermissions'
238 to display all the available permissions.)
239 -^overridedenied Overrides the denied permission or permissions. Use a
240 comma to separate permissions. (Use 'cm ^showpermissions'
241 to display all the available permissions.)
242 objectspec The object whose permissions will be set.
243 The valid objects for this command are:
244 repserver, repository, branch, label, and attribute.
245 (Use 'cm ^help ^objectspec' to learn more about specs.)
246
247Special usage for secured paths:
248 cm ^acl [(--^user=<usr_name> | --^group=<group_name>)
249 (-^allowed|-^denied|-^overrideallowed|-^overridedenied=+|-<permission>[,...])[,...]]
250 [--^delete] [--^branches=[+ | -]<branch>[,...]]
251 <spec>
252
253 --^delete Removes a secured path.
254 See Remarks for more info.
255 --^branches Sets the secured path permissions to a group of branches.
256 Use a comma to separate branches.
257 Optionally, each branch can be preceded by the + or -
258 sign to specify whether a branch must be added or deleted
259 to the list when editing.
260 See Remarks for more info.
261 spec The secured path where to set the permissions.
262
263== CMD_HELP_ACL ==
264Configuring permissions requires understanding how Unity VCS security works.
265Check the Security Guide to learn how permissions work:
266https://www.plasticscm.com/download/help/securityguide
267
268Remarks:
269
270 This command sets permissions for a user or group on the specified objects,
271 repositories, branches, labels and/or server paths.
272
273 Object specs:
274 (Use 'cm ^help ^objectspec' to learn how to specify objects.)
275 The '^acl' command uses a special type of spec: secured paths.
276
277 Secured paths specs: ^path:server_path[#tag]
278 Examples:
279 - ^path:/src/foo.c
280 - ^path:/doc/pdf
281 - ^path:/doc/pdf#documents
282
283 Permission action:
284 Use -^allowed and -^denied to specify what permissions to set.
285 Use -^overrideallowed and -^overridedenied arguments to specify what
286 permissions to override.
287
288 Each action requires a permission list separated by commas.
289
290 Permission names:
291 Each permission name is preceded by + or - symbol.
292 The + symbol sets the permission and the - symbol clears it.
293 To see the permissions of an object, use the 'cm ^showacl' command.
294
295 Overridden permissions:
296 Overriding a permission using -^overrideallowed and -^overridedenied
297 allows you to bypass inheritance.
298 It is helpful to bypass permissions set at the repository or server
299 level.
300 Example:
301 cm ^acl --^user=vio -^allowed=+^ci -^overrideallowed=+^ci ^br:qa@test
302 (Allows user 'vio' to checkin on the branch 'qa' on repo 'test'
303 even if she has the permission denied at the repo level.)
304
305 Server path permissions (a.k.a. secured paths):
306 - It is possible to specify permissions for a given server path.
307 - These permissions are checked during the checkin operation.
308 - These permissions can also be checked during the update operation,
309 and can be used as a way to prevent certain directories and files to
310 be downloaded to the workspace.
311 - For every item to checkin, the server tries to match the item path
312 with a secured path. If it matches, the checkin operation checks
313 whether the item has permissions to be checked in.
314
315 The permissions that can be defined for a secured path are the
316 following:
317 '^ci', '^change', '^add', '^move', '^rm', '^read'
318
319 If the permissions check is not successful for any of the involved
320 items, the checkin operation will be rolled back.
321
322 To set secured path permissions to a group of branches, use the
323 --^branches option.
324 Example:
325 cm ^acl --^user=jo -^denied=+^ci ^path:/src#rule0 --^branches=main,main/rel0
326
327 To edit the ACL associated to the secured path, the tag is useful.
328 Example:
329 cm ^acl --^user=jo -^denied=+^rm ^path:/src#rule0
330 (Without the tag, the list of branches would need to be specified
331 again.)
332
333 The list of branches of the secured path can be edited.
334 Example:
335 cm ^acl ^path:/src#rule0 --^branches=-main,+main/rel1
336 (Removes 'main' from the list and adds 'main/rel1'.)
337
338 To remove a secured path, use the --^delete argument.
339 Example:
340 cm ^acl --^user=jo --^delete ^path:/src#rule0
341
342 Inheritance:
343 Inheritance is an option that comes from the days of Plastic SCM 3.0.
344 It is advanced, but almost deprecated.
345 It lets an object inherit its permissions from any other object,
346 overriding the default inheritance relationships.
347
348 Use the option -^cut to cut the inheritance chain.
349 Use the option -^cutncpy to cut and copy the current inherited
350 permissions. (This is inspired on the Windows filesystem permissions
351 where you can cut inheritance but retain the actual permissions.)
352
353 The -^inherit option allows the user to inherit from an object spec.
354 Example: '-^inherit=object_spec'
355
356Examples:
357
358 cm ^acl --^user=danipen -^denied=+^ci ^rep:core
359 (Denies checkin for user 'danipen' on repo 'core'.)
360
361 cm ^acl --^group=developers -^allowed=+^view,-^read -^denied=+^chgperm ^br:main
362 (The command grants view permission, clears read permission,
363 and denies chgperm permission to 'developers' group in 'main' branch.)
364
365Secured path examples:
366
367 cm ^acl --^group=devs -^denied=+^ci ^path:/server#rel --^branches=main,main/2.0
368 (The command denies the checkin permission to 'devs' group for any path
369 that matches '/server' in the branches 'main' and 'main/2.0'. The tag '#rel'
370 is created to be able to refer to it later.)
371
372 cm ^acl ^path:/server#rel --^branches=-/main,+/main/Rel2.1
373 (Updates the secured path '/server' whose tag is 'rel', removing the
374 'main' branch and adding the branch 'main/Rel2.1' to the branch
375 group the secured path applies to. Considering the previous example,
376 now the branches list will contain 'main/Rel2.1' and 'main/2.0'.)
377
378 cm ^acl --^user=vsanchezm -^allowed=-^read -^overrideallowed=+^read ^path:/doc
379 (Removes '^read' permission to 'vsanchezm' overriding it in '/doc' path.)
380
381== CMD_DESCRIPTION_ACTIVATEUSER ==
382Activates a licensed user.
383
384== CMD_USAGE_ACTIVATEUSER ==
385Usage:
386
387 cm ^activateuser | ^au <user-name>[ ...] [--^server=<rep-server-spec>]
388
389Options:
390 --^server=<rep-server-spec> Activates the user in the specified server.
391 If no server is specified, executes the command
392 in the default server in the client.conf file.
393 (Use 'cm ^help ^objectspec' to learn more about
394 repserver specs.)
395 user-name The user name or user names to activate. Use double quotes (" ")
396 to specify user names containing spaces. Use a whitespace to
397 separate user names.
398
399== CMD_HELP_ACTIVATEUSER ==
400Remarks:
401
402 To activate a user, it must have been previously deactivated.
403 By default, a user is activated the first time they perform a write
404 operation in Unity VCS. The user is automatically activated only if
405 the maximum number of users has not been exceeded.
406
407 (See the 'cm ^help ^deactivateuser' command for more information about
408 deactivating Unity VCS users.)
409
410Examples:
411
412 cm ^activateuser john
413 cm ^activateuser david "mary collins"
414 cm ^au peter --^server=localhost:8087
415
416== CMD_DESCRIPTION_ADD ==
417Adds an item to version control.
418
419== CMD_USAGE_ADD ==
420Usage:
421
422 cm ^add [-^R | -^r | --^recursive] [--^silent] [--^ignorefailed]
423 [--^skipcontentcheck] [--^coparent] [--^filetypes=<file>] [--^noinfo]
424 [--^format=<str-format>] [--^errorformat=<str-format>]
425 <item-path>[ ...]
426
427Options:
428
429 -^R | -^r | --^recursive Adds items recursively.
430 --^silent Does not show any output.
431 --^ignorefailed If an item cannot be added, the add operation will
432 continue without it. Note: If a directory cannot be
433 added, its content is not added.
434 --^skipcontentcheck When the extension is not enough to set the file as
435 text or binary, it will be set as binary instead of
436 checking the content to detect the type. This is done
437 to increase performance on huge checkins.
438 --^coparent Runs a checkout of the parent of the item being added.
439 --^filetypes The filetypes file to use. Check the following link for
440 more information:
441 http://blog.plasticscm.com/2008/03/custom-file-types.html
442 --^noinfo Doesn't print progress information.
443 --^format Retrieves the output message in a specific format. Check
444 the examples for more information.
445 --^errorformat Retrieves the error message (if any) in a specific
446 format. Check the examples for more information.
447 item-path The item or items to add. Use double quotes (" ") to specify
448 paths containing spaces. Use a whitespace to separate items.
449 Use * to add all the contents of the current directory.
450
451== CMD_HELP_ADD ==
452Remarks:
453
454 Requirements to add items:
455 - The parent directory of the item to add must have been previously added.
456
457Reading input from stdin:
458
459 The '^add' command can read paths from stdin. To do this, pass a single dash
460 "-".
461 Example:
462 cm ^add -
463
464 Paths will be read until an empty line is entered.
465 This allows you to use pipe to specify which files to add.
466 Example:
467 dir /S /B *.c | cm ^add -
468 (In Windows, adds all .c files in the workspace.)
469
470Examples:
471
472 cm ^add file1.txt file2.txt
473 (Adds 'file1.txt' and 'file2.txt' items.)
474
475 cm ^add c:\workspace\file.txt
476 (Adds 'file.txt' item in path 'c:\workspace'.)
477
478 cm ^add -^R c:\workspace\src
479 (Recursively adds 'src'.)
480
481 cm ^add -^R *
482 (Recursively adds all the contents of the current directory.)
483
484 cm ^add -^R * --^filetypes=filetypes.conf
485 (Recursively adds all the contents of the current directory, using
486 'filetypes.conf' to assign a type to each file based on its extension,
487 instead of checking its content.)
488
489 cm ^add --^coparent c:\workspace\dir\file.txt
490 (Adds 'file.txt' to source control, and performs a checkout of 'dir'.)
491
492 cm ^add -^R * --^format="ADD {0}" --^errorformat="ERR {0}"
493 (Recursively adds all the contents of the current directory, printing
494 '^ADD <item>' for successfully added files, and '^ERR <item>' for items that
495 could not be added.)
496
497== CMD_DESCRIPTION_ADMIN ==
498Executes administrative commands on the server.
499
500== CMD_USAGE_ADMIN ==
501Usage:
502
503 cm ^admin <command> [options]
504
505Commands:
506
507 - ^readonly
508
509 To get more information about each command run:
510 cm ^admin <command> --^usage
511 cm ^admin <command> --^help
512
513== CMD_HELP_ADMIN ==
514Remarks:
515 Only the server administrator can execute administrative commands.
516
517Examples:
518
519 cm ^admin ^readonly ^enter
520 cm ^admin ^readonly ^status
521
522== CMD_DESCRIPTION_ADMIN_READONLY ==
523Enables/disables the server readonly mode.
524
525== CMD_USAGE_ADMIN_READONLY ==
526Usage:
527
528 cm ^admin ^readonly (^enter | ^leave | ^status) [<server>]
529
530Options:
531
532 ^enter The server enters read-only mode. Write operations will be rejected.
533 ^leave The server leaves read-only mode.
534 ^status Shows the server read-only mode status.
535 server Executes the command in the specified server (server:port). (Use
536 'cm ^help ^objectspec' to learn more about server specs.)
537 If no server is specified, the command works with the server of the
538 current workspace.
539 If the current path is not in a workspace, the command works with
540 the default server defined in the client.conf config file.
541
542== CMD_HELP_ADMIN_READONLY ==
543Remarks:
544 Only the server administrator can enter the server readonly mode.
545
546Examples:
547
548 cm ^admin ^readonly ^enter diana:8086
549 cm ^admin ^readonly ^leave
550
551== CMD_DESCRIPTION_ANNOTATE ==
552Shows the changeset where each line of a file was last modified and its author.
553
554== CMD_USAGE_ANNOTATE ==
555Usage:
556
557 cm ^annotate | ^blame <spec>[ ...]
558 [--^format=<str_format>]
559 [--^comparisonmethod=(^ignoreeol | ^ignorewhitespaces
560 | ^ignoreeolandwhitespaces | ^recognizeall)]
561 [--^dateformat=<str_date_format>]
562 [--^encoding=<name>]
563 [--^stats]
564 [--^repository=<repspec>]
565
566Options:
567
568 --^format Retrieves the output message in a specific format. See
569 Remarks for more info.
570 --^comparisonmethod Sets the specified comparison method. See Remarks for more info.
571 --^dateformat Sets the output format to print dates.
572 --^encoding Specifies the output encoding, i.e.: utf-8.
573 See the MSDN documentation at
574 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
575 to get the table of supported encodings and its format,
576 (at the end of the page, in the "Name" column).
577 --^stats Shows statistics information.
578 --^repository Specifies a repository spec used to calculate
579 the annotations. By default, this command uses the
580 repository where the loaded revision repository in the
581 workspace is stored. (Use 'cm ^help ^objectspec' to learn
582 more about repspecs.)
583 spec The spec of the file to annotate.
584 (Use 'cm ^help ^objectspec' to learn more about specs.)
585 Use double quotes (" ") to specify paths containing spaces.
586
587== CMD_HELP_ANNOTATE ==
588Remarks:
589
590 Binary files can't be annotated.
591
592 Comparison methods (--^comparisonmethod option):
593 - ^ignoreeol Ignores the end of line differences.
594 - ^ignorewhitespaces Ignores the whitespace differences.
595 - ^ignoreeolandwhitespaces Ignores the end of line and whitespace differences.
596 - ^recognizeall Detects the end of line and whitespace differences.
597
598 Output format parameters (--^format option):
599 This command accepts a format string to show the output.
600 The output parameters of this command are the following:
601 - {^owner} User who changed the line the last time.
602 - {^rev} Source revision specification of the line.
603 - {^content} Line content.
604 - {^date} Date when the line was checked in.
605 - {^comment} Comment of the source revision of the line.
606 - {^changeset} Changeset of the source revision of the line.
607 - {^line} Line number of the file.
608 - {^id} Item id.
609 - {^parentid} Parent id of the item.
610 - {^rep} Repository of the item.
611 - {^branch} Branch of the source revision of the line.
612 - {^ismergerev} Whether the revision of the line was created in a merge.
613
614 Date format parameters (--^dateformat):
615 To specify the output format in which dates will be printed.
616 See the supported formats specified at:
617 https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
618
619 Repository specification (--^repository):
620 To retrieve data from a remote repository. Useful for distributed
621 scenarios.
622
623Examples:
624
625 cm ^blame c:\workspace\src --^comparisonmethod=^ignoreeolandwhitespaces --^encoding=utf-8
626 cm ^annotate c:\workspace\file.txt --^comparisonmethod=^ignoreeol
627
628 cm ^annotate c:\workspace\file.txt --^format="{^owner} {^date, 10} {^content}"
629 (Writes the owner field, then a blank, then the date field (aligned to
630 right), then a blank, and the content.)
631
632 cm ^blame c:\workspace\file.txt --^format="{^owner, -7} {^comment} {^date}" \
633 --^dateformat=yyyyMMdd
634 (Writes the owner field in 7 spaces (aligned to the left) followed by
635 a blank, then the comment, followed by another blank, and ending with the
636 formatted date (for example, 20170329).)
637
638 cm ^annotate c:\workspace\file.txt --^repository=centralRep@myserver:8084
639
640 cm ^blame ^serverpath:/src/client/checkin/Checkin.cs#^cs:73666
641 (Annotates the file starting in changeset 73666 using a server path.)
642
643== CMD_DESCRIPTION_APPLYLOCAL ==
644Checks for local changes (locally moved, locally deleted, and locally changed) and applies them, so that Unity VCS starts tracking those changes.
645
646== CMD_USAGE_APPLYLOCAL ==
647Usage:
648
649 cm ^applylocal | ^al [--^dependencies] [<item_path>[ ...]]
650 [--^machinereadable [--^startlineseparator=<sep>]
651 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]]
652
653Options:
654
655 --^dependencies Adds local change dependencies into the items to
656 apply.
657 item_path Items to be applied. Use a whitespace to separate
658 paths. Use double quotes (" ") to specify paths
659 containing spaces.
660 --^machinereadable Outputs the result in an easy-to-parse format.
661 --^startlineseparator Used with the '--^machinereadable' flag, specifies how
662 the lines should start.
663 --^endlineseparator Used with the '--^machinereadable' flag, specifies how
664 the lines should end.
665 --^fieldseparator Used with the '--^machinereadable' flag, specifies how
666 the fields should be separated.
667
668== CMD_HELP_APPLYLOCAL ==
669Remarks:
670
671 - If --^dependencies and <item_path> are not specified, the operation involves
672 all the local changes in the workspace.
673
674 - It is always applied recursively from the given path.
675
676Examples:
677
678 cm ^applylocal foo.c bar.c
679
680 cm ^applylocal .
681 (Applies all local changes in the current directory.)
682
683 cm ^applylocal
684 (Applies all local changes in the workspace.)
685
686 cm ^applylocal --^machinereadable
687 (Applies all local changes in the workspace, and prints the result in a
688 simplified, easier-to-parse format.)
689
690 cm ^applylocal --^machinereadable --^startlineseparator=">" \
691 --^endlineseparator="<" --^fieldseparator=","
692 (Applies all local changes in the workspace, and prints the result in a
693 simplified, easier-to-parse format, starting and ending the lines and
694 separating the fields with the specified strings.)
695
696== CMD_DESCRIPTION_ARCHIVE ==
697Archives data in external storage.
698
699== CMD_USAGE_ARCHIVE ==
700Usage:
701
702 cm ^archive | ^arch <revspec>[ ...] [-^c=<str_comment>]
703 [--^file=<base_file>]
704 (Extracts data from the repository and stores it on external storage.)
705
706 cm ^archive | ^arch <revspec>[ ...] --^restore
707 (Restores previously archived revisions back into the repository.)
708
709Options:
710
711 -^c Sets a comment in the archive storage files to create.
712 --^file Name prefix and (optional) path for the new archive
713 data files.
714 --^restore Restores previously archived data from generated archive
715 files. The external storage location and the
716 externaldata.conf file must be available at the moment
717 of the revision restoration. See Remarks for more
718 information.
719 revspec One or more revision specs. (Use 'cm ^help ^objectspec'
720 to learn more about revspecs.)
721
722== CMD_HELP_ARCHIVE ==
723Remarks:
724
725 This command extracts data from the repository database and store it on
726 external storage, saving database space.
727 The command can also restore (--^restore) previously archived revisions back
728 into the repository database.
729
730 Use 'cm ^help ^objectspec' to learn how to specify a revspec.
731
732 The user running this command must be the Unity VCS server administrator
733 (repository server owner) to be allowed to complete the operation.
734
735 Every data segment from the specified revisions will be stored in a
736 different file, with a name starting with the value defined by the --^file
737 argument. This argument can contain either a full path value including a
738 prefix for future archive files or just this prefix value.
739
740 Once archived, the data from the specified revisions will be accessible in
741 two ways:
742
743 1. From the client: The client will detect if the data was archived and it
744 will prompt the user to enter the location of the files.
745 Users can configure the external data location by creating a file named
746 externaldata.conf (at the standard configuration files locations, using
747 the same rules that apply for the client.conf file) containing the paths
748 where archived data have been located.
749 2. From the server: This way users won't have to know whether the data was
750 archived or not, since requests will be transparently resolved by the
751 server. To do so, the administrator will create a file called
752 externaldata.conf in the server directory and will fill it with the
753 paths where the archived volumes are.
754
755 To unarchive (restore) a revision (or set of revisions), the archived
756 files must be accessible from the client. Hence, it is not possible to
757 unarchive data being resolved by the server (method 2) because the client
758 will not be able to identify it as archived.
759 If method 2 is used, to unarchive successfully, the administrator will have
760 to edit the externaldata.conf server file first to remove access to the
761 archived files which have to be unarchived.
762
763 Archive example:
764 1) Archive one revision:
765 cm ^archive Assets/RoofTextures/Textures/Wooden_Roof_05.png --^file=/Users/ruben/archive/battle
766 2) See the archived revision in the specified output path:
767 ^ls -^al /Users/ruben/archive/battle*
768 -rw-r--r-- 1 ruben staff 2220039 Nov 9 10:52 /Users/ruben/archive/battle-100280-167
769
770 Unarchive (restore) example:
771 1) Add the output archive folder to the externaldata.conf file:
772 ^vi /Users/ruben/.plastic4/externaldata.conf
773 /Users/ruben/archive
774 2) Unarchive the revision:
775 cm ^archive Assets/RoofTextures/Textures/Wooden_Roof_05.png --^restore
776
777 Set the PLASTICEDITOR environment variable to specify an editor for
778 entering comments. If the PLASTICEDITOR environment variable is set, and
779 the comment is empty, the editor will be automatically launched to allow
780 you to specify the comment.
781
782Reading input from stdin:
783
784 The '^archive' command can read paths from stdin. To do this, pass a single
785 dash "-".
786 Example: cm ^archive -
787
788 Paths will be read until an empty line is entered.
789 This allows you to use pipe to specify which files to archive.
790 Example:
791 dir /S /B *.c | cm ^archive -
792 (In Windows, archives all .c files in the workspace.)
793
794Examples:
795
796 cm ^archive bigfile.zip#^br:/^main
797 (Archives the last revision of 'bigfile.zip' in branch 'main'.)
798
799 cm ^archive bigfile.zip#^br:/^main --^restore
800 (Restores the archived revision.)
801
802 cm ^archive ^rev:myfile.pdf#^cs:2 -^c="big pdf file" --^file=c:\arch_files\arch
803 (Archives the revision with changeset 2 of myfile.pdf in 'c:\archived_files'
804 folder. The archived file name will start with 'arch' (for example, arch_11_56).)
805
806 cm ^find "^revs ^where ^size > 26214400" --^format="{^item}#{^branch}" \
807 --^nototal | cm ^archive -^c="volume00" --^file="volume00" -
808 (Archives all the files bigger than 25Mb on files starting with name
809 'volume00'.)
810
811
812== CMD_DESCRIPTION_ATTRIBUTE ==
813Allows the user to manage attributes.
814
815== CMD_USAGE_ATTRIBUTE ==
816Usage:
817
818 cm ^attribute | ^att <command> [options]
819
820Commands:
821
822 - ^create | ^mk
823 - ^delete | ^rm
824 - ^set
825 - ^unset
826 - ^rename
827 - ^edit
828
829 To get more information about each command run:
830 cm ^attribute <command> --^usage
831 cm ^attribute <command> --^help
832
833== CMD_HELP_ATTRIBUTE ==
834Examples:
835
836 cm ^attribute ^create status
837 cm ^attribute ^set ^att:status ^br:/main/SCM105 open
838 cm ^attribute ^unset ^att:status ^br:/main/SCM105
839 cm ^attribute ^delete ^att:status
840 cm ^attribute ^rename ^att:status "buildStatus"
841 cm ^attribute ^edit ^att:status "Status of the task in the CI pipeline"
842
843== CMD_DESCRIPTION_CHANGELIST ==
844Groups pending changes in changelists.
845
846== CMD_USAGE_CHANGELIST ==
847Usage:
848
849 cm ^changelist | ^clist [--^symlink]
850 (Displays all changelists.)
851
852 cm ^changelist | ^clist ^create <clist_name>
853 [<clist_desc>] [--^persistent | --^notpersistent] [--^symlink]
854 (Creates a changelist.)
855
856 cm ^changelist | ^clist ^delete <clist_name> [--^symlink]
857 (Deletes the selected changelist. If this changelist contains pending
858 changes, then these will be moved to the ^default changelist.)
859
860 cm ^changelist | ^clist ^edit <clist_name> [<action_name> <action_value>]
861 [--^persistent | --^notpersistent] [--^symlink]
862 (Edits the selected changelist.)
863
864 cm ^changelist | ^clist <clist_name> (^add | ^rm) <path_name>[ ...]
865 [--^symlink]
866 (Edits the selected changelist by adding ('^add') or removing ('^rm') the
867 change(s) that match with the given path_name(s). Use a whitespace to
868 separate path_names. Use double quotes (" ") to specify paths containing
869 spaces. The status of the paths must be '^Added' or '^Checked-out'.)
870
871Options:
872
873 clist_name The name of the changelist. A path to a file containing
874 the name can be used instead. More info at --^namefile.
875 clist_desc The description of the changelist. A path to a file
876 containing the description can be used instead. More
877 info at --^descriptionfile.
878 action_name Choose between '^rename' or '^description' to edit the
879 changelist.
880 action_value Applies the new name or new description when editing
881 the changelist.
882 --^persistent The changelist will remain in the workspace even if its
883 contents are checked-in or reverted.
884 --^notpersistent (Default) The changelist will not remain in the
885 workspace even if its contents are checked-in or
886 reverted.
887 --^symlink Applies the operation to the symlink and not to the
888 target.
889 --^namefile A valid path to a file containing the name of the
890 changelist. Bear in mind the file must exist and its
891 content cannot be neither empty nor multiline.
892 --^newnamefile A valid path to a file containing the new name of the
893 changelist when renaming. Bear in mind the file must exist
894 and its content cannot be neither empty nor multiline.
895 --^descriptionfile A valid path to a file containing the description for the
896 changelist. Bear in mind the file must exist.
897
898== CMD_HELP_CHANGELIST ==
899Remarks:
900
901 The '^changelist' command handles both the workspace pending changelists and
902 the changes contained in a changelist.
903
904Examples:
905
906 cm ^changelist
907 (Shows the current workspace changelists.)
908
909 cm ^changelist ^create config_changes "dotConf files" --^persistent
910 (Creates a new changelist named 'config_changes' and description 'dotConf
911 files' which will remain persistent in the current workspace once the
912 pending changelist is either checked-in or reverted.)
913
914 cm ^changelist ^create --^namefile="name.txt" --^descriptionfile="desc.txt"
915 (Creates a new changelist which name and description are both taken from files.)
916
917 cm ^changelist ^edit config_changes ^rename config_files --^notpersistent
918 (Edits the changelist named 'config_changes' and renames it to
919 'config_files'. Also, it turns the changelist into "not persistent".)
920
921 cm ^changelist ^edit config_changes --^notpersistent
922 (Edits the changelist named 'config_changes' by turning it into "not persistent".)
923
924 cm ^changelist ^delete config_files
925 (Removes the pending changelist 'config_files' from the current workspace.)
926
927 cm ^changelist ^delete --namefile="name.txt"
928 (Removes the changelist identified by the content of 'name.txt' file from the current
929 workspace.)
930
931 cm ^changelist config_files ^add foo.conf
932 (Adds the file 'foo.conf' to the 'config_files' changelist.)
933
934 cm ^changelist config_files ^rm foo.conf readme.txt
935 (Removes the files 'foo.conf' and 'readme.txt' from the 'config_files'
936 changelist and moves the files to the system default changelist.)
937
938 cm ^changelist ^edit --^namefile="name.txt" ^description --^descriptionfile="desc.txt"
939 (Edits the changelist identified by the content of 'name.txt' file, changing its
940 description to the text content of the 'desc.txt' file.)
941
942 cm ^changelist ^edit --^namefile="name.txt" ^rename --^newnamefile="newname.txt"
943 (Edits the changelist identified by the content of 'name.txt' file, renaming it to
944 the text content of the 'newname.txt' file.)
945
946== CMD_DESCRIPTION_CHANGESET ==
947Executes advanced operations on changesets.
948
949== CMD_USAGE_CHANGESET ==
950Usage:
951
952 cm ^changeset <command> [options]
953
954Commands:
955
956 - ^move | ^mv
957 - ^delete | ^rm
958 - ^editcomment | ^edit
959
960 To get more information about each command run:
961 cm ^changeset <command> --^usage
962 cm ^changeset <command> --^help
963
964== CMD_HELP_CHANGESET ==
965Examples:
966
967 cm ^changeset ^move ^cs:15@myrepo ^br:/main/scm005@myrepo
968 cm ^changeset ^delete ^cs:2b55f8aa-0b29-410f-b99c-60e573a309ca@devData
969 cm ^changeset ^editcomment ^cs:15@myrepo "I forgot to add the checkin details"
970
971== CMD_DESCRIPTION_CHANGESET_EDITCOMMENT ==
972Modifies the comment of a changeset.
973
974== CMD_USAGE_CHANGESET_EDITCOMMENT ==
975Usage:
976
977 cm ^changeset ^editcomment | ^edit <csetspec> <new_comment>
978
979Options:
980
981 csetspec The target changeset whose comment will be edited.
982 (Use 'cm ^help ^objectspec' to learn more about changeset
983 specs.)
984 new_comment The new comment that will be added to the targeted
985 changeset.
986
987== CMD_HELP_CHANGESET_EDITCOMMENT ==
988Remarks:
989
990 - The targeted changeset spec must be valid.
991
992Examples:
993
994 cm ^changeset ^editcomment ^cs:15@myrepo "I forgot to add the checkin details"
995 cm ^changeset ^edit ^cs:cb11ecdb-1aa9-4f11-8698-dcab14e5885a \
996 "This comment text will replace the previous one."
997 cm ^changeset ^edit "89095131-895d-4173-9440-ff9ef9b2538d@project@cloud" \
998 "Changing my comment"
999
1000== CMD_DESCRIPTION_CHANGESET_MOVE ==
1001Moves a changeset and all its descendants to a different branch.
1002
1003== CMD_USAGE_CHANGESET_MOVE ==
1004Usage:
1005
1006 cm ^changeset ^move | ^mv <csetspec> <branchspec>
1007
1008Options:
1009
1010 csetspec First changeset to be moved to a different branch. All
1011 descendant changesets in the same branch will be
1012 targeted by the command as well.
1013 (Use 'cm ^help ^objectspec' to learn more about changeset
1014 specs.)
1015 branchspec The target branch where the targeted changesets are
1016 stored. It needs to be empty or non-existing; if the
1017 destination branch doesn't exist, it will be created by
1018 the command.
1019 (Use 'cm ^help ^objectspec' to learn more about branch
1020 specs.)
1021
1022== CMD_HELP_CHANGESET_MOVE ==
1023Remarks:
1024
1025 - The targeted changeset spec must be valid.
1026 - The destination branch must be either empty or non-existing.
1027 - If the destination branch doesn't exist, it will created.
1028 - Merge links will be kept unchanged since branches don't affect them.
1029
1030Examples:
1031
1032 cm ^changeset ^move ^cs:15@myrepo ^br:/main/scm005@myrepo
1033 cm ^changeset ^move ^cs:cb11ecdb-1aa9-4f11-8698-dcab14e5885a ^br:/hotfix/TL-352
1034
1035== CMD_DESCRIPTION_CHANGESET_DELETE ==
1036Deletes a changeset from the repository.
1037
1038== CMD_USAGE_CHANGESET_DELETE ==
1039Usage:
1040
1041 cm ^changeset ^delete | ^rm <csetspec>
1042
1043Options:
1044
1045 csetspec The target changeset to be removed. It must fulfill
1046 some specific conditions. See Remarks for more info.
1047 (Use 'cm ^help ^objectspec' to learn more about changeset
1048 specs.)
1049
1050== CMD_HELP_CHANGESET_DELETE ==
1051Remarks:
1052
1053 - The target changeset must be the last in its branch.
1054 - The target changeset cannot be the parent of any other changeset.
1055 - The target changeset cannot be neither the source of a merge link nor
1056 part of an interval merge as source.
1057 - No label must be applied to the target changeset.
1058 - The target changeset must not be the root changeset ('^cs:0').
1059
1060Examples:
1061
1062 cm ^changeset ^rm ^cs:4525@myrepo@myserver
1063 cm ^changeset ^delete ^cs:cb11ecdb-1aa9-4f11-8698-dcab14e5885a
1064
1065== CMD_DESCRIPTION_CHANGEUSERPASSWORD ==
1066Changes the user's password (UP).
1067
1068== CMD_USAGE_CHANGEUSERPASSWORD ==
1069Usage:
1070
1071 cm ^changepassword | ^passwd
1072
1073== CMD_HELP_CHANGEUSERPASSWORD ==
1074Remarks:
1075
1076 This command is only available when the security configuration is UP
1077 (user/password).
1078 See the Administrator Guide for more information:
1079 https://www.plasticscm.com/download/help/adminguide
1080
1081 The old and new passwords are required.
1082
1083Examples:
1084
1085 cm ^passwd
1086
1087== CMD_DESCRIPTION_CHECKCONNECTION ==
1088Checks the connection to the server.
1089
1090== CMD_USAGE_CHECKCONNECTION ==
1091Usage:
1092
1093 cm ^checkconnection | ^cc [<repserverspec>]
1094
1095Options:
1096
1097 repserverspec Repositories server.
1098 (Use 'cm ^help ^objectspec' to learn more about repserver
1099 specs.)
1100
1101Examples:
1102
1103 cm ^checkconnection myorg@cloud
1104
1105== CMD_HELP_CHECKCONNECTION ==
1106Remarks:
1107
1108 - This command returns a message indicating whether there is a valid
1109 connection to the specified server. If repserverspec is not specified,
1110 the check will be performed with the server configured in client.conf.
1111 - The command checks checks the version compatibility with the server.
1112 - The command also checks whether the configured user is valid or not.
1113
1114== CMD_DESCRIPTION_CHECKDB ==
1115> **This command is deprecated.** Checks the repositories integrity.
1116
1117== CMD_USAGE_CHECKDB ==
1118Usage:
1119
1120 cm ^checkdatabase | ^chkdb [<repserverspec> | <repspec>]
1121
1122Options:
1123
1124 repserverspec Repositories server.
1125 (Use 'cm ^help ^objectspec' to learn more about repserver
1126 specs.)
1127 repspec Repository.
1128 (Use 'cm ^help ^objectspec' to learn more about rep specs.)
1129
1130== CMD_HELP_CHECKDB ==
1131Remarks:
1132
1133 - If neither repserverspec nor repspec are specified, the check will be
1134 performed in the server specified in the client.conf file.
1135
1136Examples:
1137
1138 cm ^checkdatabase ^repserver:localhost:8084
1139 cm ^chkdb ^rep:default@localhost:8084
1140
1141== CMD_DESCRIPTION_CHECKIN ==
1142Stores changes in the repository.
1143
1144== CMD_USAGE_CHECKIN ==
1145Usage:
1146
1147 cm ^checkin | ^ci [<item_path>[ ...]]
1148 [-^c=<str_comment> | -^commentsfile=<comments_file>]
1149 [--^all|-^a] [--^applychanged] [--^private] [--^update] [--^symlink]
1150 [--^noshowchangeset]
1151 [--^machinereadable [--^startlineseparator=<sep>]
1152 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]]
1153
1154Options:
1155
1156 item_path Items to be checked-in. Use double quotes (" ") to
1157 specify paths containing spaces. Use a whitespace to
1158 separate item paths.
1159 Use . to apply checkin to current directory.
1160 -^c Applies the specified comment to the changeset created
1161 in the checkin operation.
1162 -^commentsfile Applies the comment in the specified file to the
1163 changeset created in the checkin operation.
1164 --^all | -^a The items changed, moved and deleted locally on the
1165 given paths are also included.
1166 --^applychanged Applies the checkin operation to the changed items
1167 detected in the workspace along with the checked out
1168 items.
1169 --^private Private items detected in the workspace are also
1170 included.
1171 --^update Processes the update-merge automatically if it
1172 eventually happens.
1173 --^symlink Applies the checkin operation to the symlink and not
1174 to the target.
1175 --^noshowchangeset Doesn't print the result changeset.
1176 --^machinereadable Outputs the result in an easy-to-parse format.
1177 --^startlineseparator Used with the '--^machinereadable' flag, specifies how
1178 the lines should start.
1179 --^endlineseparator Used with the '--^machinereadable' flag, specifies how
1180 the lines should end.
1181 --^fieldseparator Used with the '--^machinereadable' flag, specifies how
1182 the fields should be separated.
1183
1184== CMD_HELP_CHECKIN ==
1185Remarks:
1186
1187 - If <item_path> is not specified, the checkin involves all the
1188 pending changes in the workspace.
1189 - The checkin operation is always applied recursively from the given path.
1190 - To checkin an item:
1191 - The item must be under source code control.
1192 - If the item is private (not under source code control), the --^private
1193 flag is necessary in order to checkin it.
1194 - The item must be checked out.
1195 - If the item is changed but not checked out, the --^applychanged flag
1196 is not necessary unless <item_path> is a directory or it contains
1197 wildcards ('*').
1198
1199 Revision content should be different from previous revision in order to be
1200 checked in.
1201
1202 Set the PLASTICEDITOR environment variable to specify an editor for
1203 entering comments. If the PLASTICEDITOR environment variable is set, and
1204 the comment is empty, the editor will be automatically launched to allow
1205 you to specify the comment.
1206
1207Reading input from stdin:
1208
1209 The '^checkin' command can read paths from stdin. To do this, pass a single
1210 dash "-".
1211 Example: cm ^checkin -
1212
1213 Paths will be read until an empty line is entered.
1214 This allows you to use pipe to specify which files to checkin.
1215 Example:
1216 dir /S /B *.c | cm ^checkin --^all -
1217 (In Windows, checkins all .c files in the workspace.)
1218
1219Examples:
1220
1221 cm ^checkin file1.txt file2.txt
1222 (Checkins the 'file1.txt' and 'file2.txt' checked-out files.)
1223
1224 cm ^checkin . -^commentsfile=mycomment.txt
1225 (Checkins the current directory and sets the comment in the
1226 'mycomment.txt' file.)
1227
1228 cm ^checkin link --^symlink
1229 (Checkins the symlink file and not the target.)
1230
1231 cm ^ci file1.txt -^c="my comment"
1232 (Checkins 'file1.txt' and includes a comment.)
1233
1234 cm ^status --^short --^compact --^changelist=pending_to_review | cm ^checkin -
1235 (Lists the paths in the changelist named 'pending_to_review' and redirects
1236 this list to the input of the checkin command.)
1237
1238 cm ^ci . --^machinereadable
1239 (Checkins the current directory, and prints the result in a simplified,
1240 easier-to-parse format.)
1241
1242 cm ^ci . --^machinereadable --^startlineseparator=">" --^endlineseparator="<" --^fieldseparator=","
1243 (Checkins the current directory, and prints the result in a simplified,
1244 easier-to-parse format, starting and ending the lines, and
1245 separating the fields with the specified strings.)
1246
1247== CMD_DESCRIPTION_CHECKOUT ==
1248Marks files as ready to modify.
1249
1250== CMD_USAGE_CHECKOUT ==
1251Usage:
1252
1253 cm ^checkout | ^co [<item_path>[ ...]] [-^R | -^r | --^recursive]
1254 [--^format=<str_format>]
1255 [--^errorformat=<str_format>] [--^resultformat=<str_format>]
1256 [--^silent] [--^symlink] [--^ignorefailed]
1257 [--^machinereadable [--^startlineseparator=<sep>]
1258 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]]
1259
1260Options:
1261
1262 item_path Items to be checked-out. Use double quotes (" ") to
1263 specify paths containing spaces. Use a whitespace to
1264 separate item paths.
1265 Use . to apply checkout to current directory.
1266 -^R Checks out files recursively.
1267 --^format Retrieves the output progress message in a specific
1268 format. Check the examples for more information.
1269 --^resultformat Retrieves the output result message in a specific
1270 format. Check the examples for more information.
1271 --^silent Does not show any output at all.
1272 --^symlink Applies the checkout operation to the symlink and not
1273 to the target.
1274 --^ignorefailed If an item cannot be locked (the exclusive checkout
1275 cannot be performed), the checkout operation will
1276 continue without it.
1277 --^machinereadable Outputs the result in an easy-to-parse format.
1278 --^startlineseparator Used with the '--^machinereadable' flag, specifies how
1279 the lines should start.
1280 --^endlineseparator Used with the '--^machinereadable' flag, specifies how
1281 the lines should end.
1282 --^fieldseparator Used with the '--^machinereadable' flag, specifies how
1283 the fields should be separated.
1284
1285== CMD_HELP_CHECKOUT ==
1286Remarks:
1287
1288 To checkout an item:
1289 - The item must be under source code control.
1290 - The item must be checked-in.
1291
1292 If locks are configured on the server (lock.conf exists), then each time
1293 a checkout on a path happens, Unity VCS checks if it meets any of the rules
1294 and if so, the path will be in exclusive checkout (locked) so that none can
1295 simultaneously checkout.
1296 You can get all the locks in the server by using 'cm ^lock ^list'.
1297 See the Administrator Guide for more information:
1298 https://www.plasticscm.com/download/help/adminguide
1299
1300 The format string replaces the placeholder '{0}' with the path of the item
1301 being checked out. Check the examples to see how to use it.
1302
1303Reading input from stdin:
1304
1305 The '^checkout' command can read paths from stdin. To do this, pass a single
1306 dash "-".
1307 Example: cm ^checkout -
1308
1309 Paths will be read until an empty line is entered.
1310 This allows you to use pipe to specify which files to checkout.
1311 Example:
1312 dir /S /B *.c | cm ^checkout -
1313 (In Windows, checkouts all .c files in the workspace.)
1314
1315Examples:
1316
1317 cm ^checkout file1.txt file2.txt
1318 (Checkouts 'file1.txt' and 'file2.txt' files.)
1319
1320 cm ^co *.txt
1321 (Checkouts all txt files.)
1322
1323 cm ^checkout .
1324 (Checkouts current directory.)
1325
1326 cm ^checkout -^R c:\workspace\src
1327 (Recursively checkouts 'src' folder.)
1328
1329 cm ^co file.txt --^format="Checking out item {0}"
1330 --^resultformat="Item {0} checked out"
1331 (Checkouts 'file.txt' using the specified formatting strings
1332 to show the progress and the result of the operation.)
1333
1334 cm ^checkout link --^symlink
1335 (Checkouts the symlink file and not the target.)
1336
1337 cm ^checkout . -^R --^ignorefailed
1338 (Recursively checkouts the current folder, ignoring those files that can
1339 not be checked out.)
1340
1341 cm ^co . --^machinereadable --^startlineseparator=">"
1342 (Checkouts the current directory, and prints the result in a simplified,
1343 easier-to-parse format, starting the lines with the specified strings.)
1344
1345== CMD_DESCRIPTION_CHECKSELECTORSYNTAX ==
1346Checks the syntax of a selector.
1347
1348== CMD_USAGE_CHECKSELECTORSYNTAX ==
1349Usage:
1350
1351 cm ^checkselectorsyntax | ^css --^file=<selector_file>
1352 (Checks the selector file syntax.)
1353
1354 ^cat <selector_file> | cm ^checkselectorsyntax | ^css -
1355 (Unix. Checks selector file from standard input.)
1356
1357 ^type <selector_file> | cm ^checkselectorsyntax | ^css -
1358 (Windows. Checks selector file from standard input.)
1359
1360Options:
1361
1362 --^file The file to read a selector from.
1363
1364== CMD_HELP_CHECKSELECTORSYNTAX ==
1365Remarks:
1366
1367 This command reads a selector on either a file or standard input, and
1368 checks it for valid syntax. If the syntax check fails, the reason is
1369 printed on standard output.
1370
1371Examples:
1372
1373 cm ^checkselectorsyntax --^file=myselector.txt
1374 (Checks the syntax of 'myselector.txt' file.)
1375
1376 ^cat myselector.txt | cm ^checkselectorsyntax
1377 (Checks the syntax of 'myselector.txt' from standard input.)
1378
1379== CMD_DESCRIPTION_CHANGEREVISIONTYPE ==
1380Changes an item revision type (binary or text).
1381
1382== CMD_USAGE_CHANGEREVISIONTYPE ==
1383Usage:
1384
1385 cm ^changerevisiontype | ^chgrevtype | ^crt <item_path>[ ...] --^type=(^bin | ^txt)
1386
1387Options:
1388
1389 item_path Items to change revision type. Use double quotes (" ")
1390 to specify paths containing spaces. Use a whitespace to
1391 separate item paths.
1392 --^type Target revisions type. Choose '^bin' or '^txt'.
1393
1394== CMD_HELP_CHANGEREVISIONTYPE ==
1395Remarks:
1396
1397 This command can only be applied to files, not directories.
1398 The specified type must be a system supported one: '^bin' or '^txt' (binary
1399 or text).
1400
1401Examples:
1402
1403 cm ^changerevisiontype c:\workspace\file.txt --^type=^txt
1404 (Changes 'file.txt' revision type to text.)
1405
1406 cm ^chgrevtype comp.zip "image file.jpg" --^type=^bin
1407 (Changes 'comp.zip' and "image file.jpg" revision type to binary.)
1408
1409 cm ^crt *.* --^type=^txt
1410 (Changes revision type of all files to text.)
1411
1412== CMD_DESCRIPTION_TRIGGER_EDIT ==
1413Edits a trigger.
1414
1415== CMD_USAGE_TRIGGER_EDIT ==
1416Usage:
1417
1418 cm ^trigger | ^tr ^edit <subtype_type> <position_number>
1419 [--^position=<new_position>]
1420 [--^name=<new_name>] [--^script=<script_path>]
1421 [--^filter=<str_filter>] [--^server=<repserverspec>]
1422
1423Options:
1424
1425 --^position New position of the specified trigger.
1426 This position must not be in use by another
1427 trigger of the same type.
1428 --^name New name of the specified trigger.
1429 --^script New execution path of the specified trigger script.
1430 If the script starts with "^webtrigger ", it will be
1431 considered as a web trigger. See Remarks for more
1432 further details.
1433 --^filter Checks only items that match the specified filter.
1434 --^server Modifies the trigger on the specified server.
1435 If no server is specified, executes the command on the
1436 one configured on the client.
1437 (Use 'cm ^help ^objectspec' to learn more about server
1438 specs.)
1439 subtype_type Trigger execution and trigger operation.
1440 (Use 'cm ^showtriggertypes' to see a list of trigger
1441 types.)
1442 position_number Position occupied by the trigger to be modified.
1443
1444== CMD_HELP_TRIGGER_EDIT ==
1445Remarks:
1446
1447 Web triggers: A web trigger is created by typing "^webtrigger <target-uri>"
1448 as the trigger command. In this case, the trigger will execute a POST query
1449 against the specified URI, where the request body contains a JSON
1450 dictionary with the trigger environment variables, and a fixed INPUT key
1451 pointing to an array of strings.
1452
1453Examples:
1454
1455 cm ^trigger ^edit ^after-setselector 6 --^name="Backup2 manager" --^script="/new/path/al/script"
1456 cm ^tr ^edit ^before-mklabel 7 --^position=4 --^server=myserver:8084
1457 cm ^trigger ^edit ^after-add 2 --^script="^webtrigger http://myserver.org/api"
1458
1459== CMD_DESCRIPTION_CODEREVIEW ==
1460Creates, edits, or deletes code reviews.
1461
1462== CMD_USAGE_CODEREVIEW ==
1463Usage:
1464
1465 cm ^codereview <spec> <title> [--^status=<status_name>]
1466 [--^assignee=<user_name>] [--^format=<str_format>]
1467 [--^repository=<rep_spec>]
1468 (Creates a code review.)
1469
1470 cm ^codereview -^e <id> [--^status=<status_name>] [--^assignee=<user_name>]
1471 [--^repository=<rep_spec>]
1472 (Edits a code review.)
1473
1474 cm ^codereview -^d <id> [ ...] [--^repository=<rep_spec>]
1475 (Deletes one or more code reviews.)
1476
1477
1478Options:
1479
1480 -^e Edits the parameters of an existing code review.
1481 -^d Deletes one or more existing code reviews. Use a
1482 whitespace to separate the code reviews IDs.
1483 --^status Sets the new status of a code review. See Remarks for
1484 additional information.
1485 --^assignee Sets the new assignee of a code review.
1486 --^format Retrieves the output message in a specific format. See
1487 Remarks for additional information.
1488 --^repository Sets the repository to be used as default. (Use
1489 'cm ^help ^objectspec' to learn more about repository specs.)
1490 spec It can be either a changeset spec, a shelve spec or a branch spec.
1491 It will be the target of the new code review. (Use 'cm ^help
1492 ^objectspec' to learn more about changeset or branch specs.)
1493 title A text string to be used as title of the new code review.
1494 id The code review identification number. A GUID can be used as
1495 well.
1496
1497== CMD_HELP_CODEREVIEW ==
1498Remarks:
1499
1500 This command allows users to manage code reviews: create, edit, and delete
1501 code reviews for changesets or branches.
1502
1503 To create a new code review, a changeset/branch spec and a title are
1504 required. The initial status and assignee can be set, too. An ID (or GUID
1505 if requested) will be returned as a result.
1506
1507 To edit or delete an existing code review, the target code review ID
1508 (or GUID) is required. No messages are displayed if there are no errors.
1509
1510 The 'status parameter' must only be one of the following: "^Under ^review"
1511 (default), "^Reviewed", or "^Rework ^required".
1512
1513 The 'repository' parameter is available to set the default working
1514 repository. This is useful when the user wants to manage reviews on
1515 a server different than the one associated to the current workspace, or
1516 when there is no current workspace at all.
1517
1518 Output format parameters (--^format option):
1519
1520 This command accepts a format string to show the output.
1521
1522 The output parameters of this command are the following:
1523
1524 {0} id
1525 {1} guid
1526
1527 Please note that the '--^format' parameter only takes effect when creating
1528 a new code review.
1529
1530Examples:
1531
1532 cm ^codereview ^cs:1856@myrepo@myserver:8084 "My code review" --^assignee=dummy
1533 cm ^codereview ^br:/main/task001@myrepo@myserver:8084 "My code review" \
1534 --^status=^"Rework required" --^assignee=newbie --^format="{^id} -> {^guid}"
1535
1536 cm ^codereview 1367 -^e --^assignee=new_assignee
1537 cm ^codereview -^e 27658884-5dcc-49b7-b0ef-a5760ae740a3 --^status=Reviewed
1538
1539 cm ^codereview -^d 1367 --^repository=myremoterepo@myremoteserver:18084
1540 cm ^codereview 27658884-5dcc-49b7-b0ef-a5760ae740a3 -^d
1541
1542== CMD_DESCRIPTION_CRYPT ==
1543Encrypts a password.
1544
1545== CMD_USAGE_CRYPT ==
1546Usage:
1547
1548 cm ^crypt <mypassword>
1549
1550 mypassword Password to be encrypted.
1551
1552== CMD_HELP_CRYPT ==
1553Remarks:
1554
1555 This command encrypts a given password passed as argument.
1556 It is designed to encrypt passwords in configuration files and increase
1557 safety.
1558
1559Examples:
1560
1561 cm ^crypt dbconfpassword -> ENCRYPTED: encrypteddbconfpassword
1562 (Encrypts the password in the database configuration file: 'db.conf'.)
1563
1564== CMD_DESCRIPTION_DEACTIVATEUSER ==
1565Deactivates a licensed user.
1566
1567== CMD_USAGE_DEACTIVATEUSER ==
1568Usage:
1569
1570 cm ^deactivateuser | ^du <usr_name>[ ...] [--^server=<name:port>]
1571 [--^nosolveuser]
1572
1573Options:
1574
1575 --^server Deactivates the user on the specified server.
1576 If no server is specified, executes the command on the
1577 one configured on the client.
1578 --^nosolveuser With this option, the command will not check whether
1579 the user name exists on the authentication system. The
1580 <usr_name> must be a user SID.
1581 usr_name The user name(s) to deactivate. Use a whitespace to
1582 separate user names. If SID, then '--^nosolveuser' is required.
1583
1584== CMD_HELP_DEACTIVATEUSER ==
1585Remarks:
1586
1587 This command sets a user to inactive, disabling the usage of Unity VCS
1588 for that user.
1589
1590 See the 'cm ^activateuser' command for more information about activating
1591 Unity VCS users.
1592
1593 This command checks whether the user exists on the underlying authentication
1594 system (e.g. ActiveDirectory, LDAP, User/Password...).
1595 To force the deactivation of a user that no longer exists on the
1596 authentication system, you can use the '--^nosolveuser' option.
1597
1598Examples:
1599
1600 cm ^deactivateuser john
1601 cm ^du peter "mary collins"
1602 cm ^deactivateuser john --^server=myserver:8084
1603 cm ^deactivateuser S-1-5-21-3631250224-3045023395-1892523819-1107 --^nosolveuser
1604
1605== CMD_DESCRIPTION_DIFF ==
1606Shows differences between files, changesets, and labels.
1607
1608== CMD_USAGE_DIFF ==
1609Usage:
1610
1611 cm ^diff <csetspec> | <lbspec> | <shspec> [<csetspec> | <lbspec> | <shspec>]
1612 [<path>]
1613 [--^added] [--^changed] [--^moved] [--^deleted]
1614 [--^repositorypaths] [--^download=<download_path>]
1615 [--^encoding=<name>]
1616 [--^comparisonmethod=(^ignoreeol | ^ignorewhitespaces |
1617 ^ignoreeolandwhitespaces | ^recognizeall)]
1618 [--^clean]
1619 [--^integration]
1620 [--^format=<str_format>] [--^dateformat=<str_format>]
1621 (Shows differences between a 'source' changeset or shelveset, and a
1622 'destination' changeset or shelveset. The changesets can be specified
1623 using either a changeset or label specification.
1624 Where two specifications are given, the first will be the 'source' of
1625 the diff; the second, the 'destination'.
1626 If only one specification is given, the 'source' will be the parent
1627 changeset of the specified 'destination'.
1628 If an optional path is specified, the Diff window will launch to show
1629 differences between the two revisions of that file.)
1630
1631 cm ^diff <revspec1> <revspec2>
1632 (Shows differences between a pair of revisions. The differences are
1633 shown in the Diff window. The first revision specified will appear on
1634 the left.)
1635
1636 cm ^diff <brspec> [--^added] [--^changed] [--^moved] [--^deleted]
1637 [--^repositorypaths] [--^download=<download_path>]
1638 [--^encoding=<name>]
1639 [--^comparisonmethod=(^ignoreeol | ^ignorewhitespaces |
1640 ^ignoreeolandwhitespaces | ^recognizeall)]
1641 [--^clean]
1642 [--^integration]
1643 [--^format=<str_format>] [--^dateformat=<str_format>]
1644 [--^fullpaths | --^fp]
1645 (Shows the branch differences. Use 'cm ^help ^objectspec' to learn more
1646 about specs.)
1647
1648Options:
1649
1650 --^added Prints only differences consisting of items added to
1651 the repository.
1652 --^changed Prints only differences consisting of items that
1653 changed.
1654 --^moved Prints only differences consisting of moved or renamed
1655 items.
1656 --^deleted Prints only differences consisting of items that were
1657 deleted.
1658 --^repositorypaths Prints repository paths instead of workspace paths.
1659 (This option overrides the '--^fullpaths' option.)
1660 --^download Stores the differences content in the specified output
1661 path.
1662 --^encoding Specifies the output encoding, i.e.: utf-8.
1663 See the MSDN documentation at
1664 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
1665 to get the table of supported encodings and its format,
1666 (at the end of the page, in the "Name" column).
1667 --^comparisonmethod Sets the specified comparison method. See Remarks for more info.
1668 --^clean Does not take into account the differences generated
1669 because of a merge, but only the differences created by
1670 simple checkins.
1671 --^integration Shows the branch changes that are pending to be merged into
1672 its parent branch. It takes into account any rebase or
1673 prior merge already done from/to its parent branch.
1674 --^format Retrieves the output message in a specific format. See
1675 Remarks for more info.
1676 --^dateformat Format used to output dates.
1677 --^fullpaths, --^fp Forces printing full workspace paths for files and
1678 directories when possible.
1679
1680== CMD_HELP_DIFF ==
1681Remarks:
1682 File status:
1683 If '--^added', '--^changed', '--^moved' or '--^deleted' are
1684 not specified, then the command prints all differences.
1685 '^A' means added items.
1686 '^C' means changed items.
1687 '^D' means deleted items.
1688 '^M' means moved items. The left item is the original, the right is the destination.
1689
1690 Comparison methods (--^comparisonmethod option):
1691 ^ignoreeol Ignores the end of line differences.
1692 ^ignorewhitespaces Ignores the whitespace differences.
1693 ^ignoreeolandwhitespaces Ignores the end of line and whitespace differences.
1694 ^recognizeall Detects the end of line and whitespace differences.
1695
1696 This command accepts a format string to show the output.
1697 The parameters of this command are the following:
1698 {^path} Item path.
1699 {^date} Change date/time.
1700 {^owner} Change author.
1701 {^revid} Revision id of the revision considered as the
1702 destination in the diff.
1703 {^parentrevid} Revision id of the parent of the revision considered
1704 as the destination of the diff.
1705 {^baserevid} Revision id of the revision considered as the source
1706 in the diff.
1707 {^srccmpath} Server path before moving the item (move operation).
1708 {^dstcmpath} Server path after moving the item (move operation).
1709 {^type} Item type: ^D (directory), ^B (binary file), ^F (text
1710 file), ^S (symlink), ^X (Xlink)
1711 {^repository} Repository of the item.
1712 {^status} Item status: ^A (added), ^D (deleted), ^M (moved), ^C
1713 (changed)
1714 {^fsprotection} Shows item permissions (Linux/Mac chmod).
1715 {^srcfsprotection} Shows parent revision item permissions.
1716 {^newline} Inserts a new line.
1717
1718Notes on '^revid':
1719 For added items, the '^baserevid' and '^parentrevid' will be -1, as no
1720 previous revision exists in this case.
1721 For deleted items, the '^revid' is the id of the source revision, and the
1722 '^baserevid' will be -1, as there is no destination revision.
1723 For Xlinks, both '^baserevid' and '^parentrevid' are always -1.
1724
1725Examples:
1726
1727 Comparing branches:
1728
1729 cm ^diff ^br:/main/task001
1730 cm ^diff ^br:/main/task001 \doc\readme.txt
1731 cm ^diff ^br:/main/task001 --^integration
1732
1733 Comparing changeset trees:
1734
1735 cm ^diff 19
1736 cm ^diff 19 25
1737 cm ^diff ^cs:19 ^cs:25 --^format="{^path} {^parentrevid}"
1738 cm ^diff ^cs:19 ^cs:23 --^format="{^date} {^path}" --^dateformat="yy/dd/MM HH:mm:ss"
1739 cm ^diff ^cs:19 ^cs:23 --^changed
1740 cm ^diff ^cs:19 ^cs:23 --^repositorypaths
1741 cm ^diff ^cs:19 ^cs:23 --^download="D:\temp"
1742 cm ^diff ^cs:19 ^cs:23 --^clean
1743 cm ^diff ^cs:19 ^cs:23 \doc\readme.txt
1744
1745 Comparing label trees:
1746
1747 cm ^diff ^lb:FirstReleaseLabel ^lb:SecondReleaseLabel
1748 cm ^diff ^lb:tag_193.2 ^cs:34214
1749 cm ^diff ^cs:31492 ^lb:tag_193.2
1750
1751 Comparing shelve trees:
1752
1753 cm ^diff ^sh:2
1754 cm ^diff ^sh:2 ^sh:4
1755
1756 Comparing revspecs:
1757
1758 cm ^diff ^rev:readme.txt#^cs:19 ^rev:readme.txt#^cs:20
1759 cm ^diff ^serverpath:/doc/readme.txt#^cs:19@myrepo \
1760 ^serverpath:/doc/readme.txt#^br:/main@myrepo@localhost:8084
1761 cm ^diff ^rev:foo.c#^cs:1 ^rev:foo.c#^cs:2 --^comparisonmethod=^ignoreeol
1762
1763== CMD_DESCRIPTION_DIFFMETRICS ==
1764Shows diff metrics between two revs.
1765
1766== CMD_USAGE_DIFFMETRICS ==
1767Usage:
1768
1769 cm ^diffmetrics | ^dm <revspec1> <revspec2> [--^format=<str_format>]
1770 [--^encoding=<name>]
1771 [--^comparisonmethod=(^ignoreeol | ^ignorewhitespaces |
1772 ^ignoreeolandwhitespaces | ^recognizeall)]
1773
1774Options:
1775
1776 --^format Retrieves the output message in a specific format. See
1777 Remarks for more info.
1778 --^encoding Specifies the output encoding, i.e.: utf-8.
1779 See the MSDN documentation at
1780 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
1781 to get the table of supported encodings and its format,
1782 (at the end of the page, in the "Name" column).
1783 --^comparisonmethod Sets the specified comparison method.
1784 See Remarks for more info.
1785 revspec Revisions used to compare.
1786 (Use 'cm ^help ^objectspec' to learn more about rev specs.)
1787
1788== CMD_HELP_DIFFMETRICS ==
1789Remarks:
1790
1791 The metrics are: number of changed, added, and deleted lines.
1792
1793 Output format parameters (--^format option):
1794 This command accepts a format string to show the output.
1795 The output parameters of this command are the following:
1796 {0} Number of changed lines.
1797 {1} Number of added lines.
1798 {2} Number of deleted lines.
1799
1800 Comparison methods (--^comparisonmethod option):
1801 ^ignoreeol Ignores the end of line differences.
1802 ^ignorewhitespaces Ignores the whitespace differences.
1803 ^ignoreeolandwhitespaces Ignores the end of line and whitespace differences.
1804 ^recognizeall Detects the end of line and whitespace differences.
1805
1806Examples:
1807
1808 cm ^diffmetrics file.txt#^cs:2 file.txt#^br:/main/scm0211 \
1809 --^format="There are {0} changed, {1} added and {2} deleted lines."
1810 (Retrieves diffmetrics results formatted.)
1811
1812 cm ^dm file.txt#^cs:2 file.txt#^cs:3 --^encoding=utf-8 --^comparisonmethod=^ignorewhitespaces
1813
1814== CMD_DESCRIPTION_FASTEXPORT ==
1815Exports a repository in fast-export format.
1816
1817== CMD_USAGE_FASTEXPORT ==
1818Usage:
1819
1820 cm ^fast-export | ^fe <repspec> <fast-export-file>
1821 [--^import-marks=<marks_file>]
1822 [--^export-marks=<marks_file>]
1823 [--^branchseparator=<chr_separator>]
1824 [--^nodata] [--^from=<changesetid>] [--^to=<changesetid>]
1825
1826Options:
1827
1828 repspec The repository which the data will be exported from.
1829 (Use 'cm ^help ^objectspec' to learn more about rep specs.)
1830 fast-export-file The file with the repository data in Git fast-export
1831 format.
1832 --^import-marks The marks file used for incremental imports. This file
1833 has been previously exported by '--^export-marks'. The
1834 changesets described in this file will not be imported
1835 because they were already in a previous import.
1836 --^export-marks The file where the imported changesets will be saved.
1837 This file is used in a later fast-import to signal the
1838 changesets that have been already imported.
1839 --^branchseparator Unity VCS uses "/" as default separator in the branch
1840 hierarchy. This option allows using char as a hierarchy
1841 separator, so main-task-sub would be mapped in Unity VCS
1842 as /main/task/sub.
1843 --^nodata Exports the repository without including the data. This
1844 is useful to check if the export will run correctly.
1845 --^from Exports from a particular changeset.
1846 --^to Exports to a particular changeset.
1847
1848== CMD_HELP_FASTEXPORT ==
1849Remarks:
1850
1851 - To import a Unity VCS repository to Git, use a command such as:
1852
1853 ^cat repo.fe.00 | ^git ^fast-import --^export-marks=marks.git --^import-marks=marks.git
1854
1855 - Incremental export is supported using a marks file that contains the
1856 changesets previously imported ('--^import-marks' and '--^export-marks'
1857 files).
1858 This means that only the new changesets that were not exported in the
1859 previous fast-export will be exported.
1860
1861Examples:
1862
1863 cm ^fast-export repo@localhost:8087 repo.fe.00 --^import-marks=marks.cm \
1864 --^export-marks=marks.cm
1865 (Exports the repository 'repo' in the local server into the 'repo.fe.00'
1866 file in Git fast-export format and creates the marks files to perform
1867 incremental exports later.)
1868
1869 cm ^fast-export repo@localhost:8087 repo.fe.00 --^from=20
1870 (Exports the repository 'repo' in the local server into the 'repo.fe.00'
1871 file in Git fast-export format from changeset '20'.)
1872
1873== CMD_DESCRIPTION_FASTIMPORT ==
1874Imports Git fast-export data into a repository.
1875
1876== CMD_USAGE_FASTIMPORT ==
1877Usage:
1878
1879 cm ^fast-import | ^fi <repspec> <fast-export-file>
1880 [--^import-marks=<marks_file>]
1881 [--^export-marks=<marks_file>]
1882 [--^stats] [--^branchseparator=<chr_separator>]
1883 [--^nodata] [--^ignoremissingchangesets] [--^mastertomain]
1884
1885Options:
1886
1887 repspec The repository into which the data will be
1888 imported. It is created if it did not previously
1889 exist. (Use 'cm ^help ^objectspec' to learn more
1890 about rep specs.)
1891 fast-export-file The file with the repository data in Git
1892 fast-export format.
1893 --^import-marks The marks file used for incremental imports.
1894 This file has been previously exported by
1895 '--^export-marks'. The changesets described in
1896 this file wont be imported because they
1897 were already in a previous import.
1898 --^export-marks The file where the imported changesets will
1899 be saved. This file is used in a later
1900 fast-import to signal the changesets that have
1901 been already imported.
1902 --^stats Prints some statistics about the import process.
1903 --^branchseparator Unity VCS uses "/" as default separator in
1904 the branch hierarchy. This option allows using
1905 char as a hierarchy separator, so main-task-sub
1906 would be mapped in Unity VCS as /main/task/sub.
1907 --^nodata Imports Git fast-export without including the
1908 data. This is useful to check if the import will
1909 run correctly.
1910 --^ignoremissingchangesets Any changesets that cannot be imported are
1911 discarded and the fast-import operation
1912 continues without them.
1913 --^mastertomain Imports using "^main" instead of "^master".
1914
1915== CMD_HELP_FASTIMPORT ==
1916Remarks:
1917
1918 - To export a Git repository, use a command such as:
1919 ^git ^fast-export --^all -^M --^signed-tags=^strip --^tag-of-filtered-object=^drop> ..\git-fast-export.dat
1920 The -^M option is important to detect moved items.
1921
1922 - The specified repository is created in case it did not exist.
1923
1924 - Incremental import is supported using a marks file that contains the
1925 changesets previously imported ('--^import-marks' and '--^export-marks'
1926 files).
1927 This means that only the new changesets that were not imported in the
1928 previous fast-import will be imported.
1929
1930Examples:
1931
1932 cm ^fast-import mynewrepo@atenea:8084 repo.fast-export
1933 (Imports the contents exported in the 'repo.fast-export' file into
1934 'mynewrepo' repository on server 'atenea:8084'.)
1935
1936 cm ^fast-import repo@atenea:8084 repo.fast-export --^export-marks=rep.marks
1937 (Imports the contents exported in the 'repo.fast-export' file into
1938 'repo' repository on server 'atenea:8084' and creates a marks file
1939 to perform incremental imports later.)
1940
1941 cm ^fast-import repo@server:8084 repo.fast-export --^import-marks=repo.marks \
1942 --^export-marks=repo.marks
1943 (Imports the contents of the 'repo.fast-export' file. Only the new
1944 changesets that were not in the marks file are imported. The same marks
1945 file is used to save the list of changesets again for the next
1946 incremental import.)
1947
1948== CMD_DESCRIPTION_FILEINFO ==
1949Retrieves detailed information about the items in the workspace.
1950
1951== CMD_USAGE_FILEINFO ==
1952Usage:
1953
1954 cm ^fileinfo <item_path>[ ...] [--^fields=<field_value>[,...]]
1955 [[--^xml | -^x [=<output_file>]] | [--^format=<str_format>]]
1956 [--^symlink] [--^encoding=<name>]
1957
1958Options:
1959
1960 --^fields A string of comma-separated values. This selects which
1961 fields will be printed for each item. See Remarks for
1962 more information.
1963 --^xml | -^x Prints the output in XML format to the standard output.
1964 It is possible to specify an output file. This option
1965 cannot be combined with '--^format'.
1966 --^format Retrieves the output message in a specific format. See
1967 Remarks for more info. This option cannot be combined
1968 with '--^xml'.
1969 This '--^format' option prevails over '--^fields' if both
1970 are specified.
1971 --^symlink Applies the fileinfo operation to the symlink and not
1972 to the target.
1973 --^encoding Specifies the output encoding, i.e.: utf-8.
1974 See the MSDN documentation at
1975 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
1976 to get the table of supported encodings and its format,
1977 (at the end of the page, in the "Name" column).
1978 item_path Items to display. Use a whitespace to separate the items.
1979 Use double quotes (" ") to specify paths containing spaces.
1980
1981
1982== CMD_HELP_FILEINFO ==
1983Remarks:
1984
1985 This command prints a detailed list of attributes for each selected item.
1986 Each attribute is printed on a new line by default.
1987
1988 The attribute list can be modified to display only the attributes the user
1989 needs. This can be achieved using the '--^fields=<field_list>' which accepts
1990 a string of comma-separated attribute names. This way, only those arguments
1991 whose name has been indicated are shown.
1992
1993 Revision head changeset:
1994
1995 This option is disabled by default. Please note that retrieving this
1996 attribute is significantly slower than the rest of them, so we advise users
1997 to group together as many items as possible. This will improve execution
1998 times by avoiding many separate 'cm ^fileinfo' executions.
1999 Also, this feature is not currently available for controlled directories.
2000
2001 You can find below the complete list of available attribute names.
2002 Names marked with an asterisk ('*') will not be shown by default:
2003 ^ClientPath The local path on disk for the item.
2004 ^RelativePath The workspace-relative path.
2005 ^ServerPath The repository path for the item.
2006 ^Size Item size.
2007 ^Hash Item hash sum.
2008 ^Owner The user the item belongs to.
2009 ^RevisionHeadChangeset (*) The changeset of the revision loaded in the
2010 head changeset of the branch.
2011 (Please see note above.)
2012 ^RevisionChangeset The changeset of the revision currently loaded
2013 in the workspace.
2014 ^RepSpec The repository specification for the item.
2015 (Use 'cm ^help ^objectspec' to learn more about
2016 rep specs.)
2017 ^Status The workspace item status: added, checked out,
2018 deleted, etc.
2019 ^Type Revision type (text, binary, directory, symlink,
2020 or unknown).
2021 ^Changelist The changelist the item belongs to (if any).
2022 ^IsLocked (*) Whether the item is locked by exclusive
2023 checkout or not.
2024 ^LockedBy (*) The user who exclusively checked out the item.
2025 ^LockedWhere (*) The location where the item was exclusively
2026 checked out.
2027 ^IsUnderXlink Whether the item is located under an Xlink
2028 or not.
2029 ^UnderXlinkTarget The target of the Xlink the item is under
2030 (if any).
2031 ^UnderXlinkPath The item server path in the Xlinked repository
2032 (if any).
2033 ^UnderXlinkWritable Whether the Xlink the item belongs to is
2034 writable or not.
2035 ^UnderXlinkRelative Whether the Xlink the items belongs to is
2036 relative or not.
2037 ^IsXlink Whether the item itself is a Xlink or not.
2038 ^XlinkTarget The target repository the item points to, if it
2039 is a Xlink.
2040 ^XlinkName The Xlink name of the item, if it is
2041 actually one.
2042 ^XlinkWritable Whether the Xlink item is a writable Xlink
2043 or not.
2044 ^XlinkRelative Whether the Xlink item is a relative Xlink
2045 or not.
2046
2047
2048 Output format parameters (--^format option):
2049
2050 This command accepts a format string to show the output.
2051
2052 The output parameters of this command are the following:
2053
2054 - {^ClientPath}
2055 - {^RelativePath}
2056 - {^ServerPath}
2057 - {^Size}
2058 - {^Hash}
2059 - {^Owner}
2060 - {^RevisionHeadChangeset}
2061 - {^RevisionChangeset}
2062 - {^Status}
2063 - {^Type}
2064 - {^Changelist}
2065 - {^IsLocked}
2066 - {^LockedBy}
2067 - {^LockedWhere}
2068 - {^IsUnderXlink}
2069 - {^UnderXlinkTarget}
2070 - {^UnderXlinkPath}
2071 - {^UnderXlinkWritable}
2072 - {^UnderXlinkRelative}
2073 - {^IsXlink}
2074 - {^XlinkTarget}
2075 - {^XlinkName}
2076 - {^XlinkWritable}
2077 - {^XlinkRelative}
2078 - {^RepSpec}
2079
2080 Please note that '--^format' and '--^xml' options are mutually exclusive, so
2081 they can't be used at the same time.
2082
2083Examples:
2084
2085 cm ^fileinfo file1.txt file2.txt dir/
2086 cm ^fileinfo "New Project.csproj" --^xml
2087 cm ^fileinfo assets.art --^fields=^ServerPath,^Size,^IsLocked,^LockedBy
2088 cm ^fileinfo proj_specs.docx --^fields=^ServerPath,^RevisionChangeset --^xml
2089 cm ^fileinfo samples.ogg --^format="{^ServerPath}[{^Owner}] -> {^Size}"
2090
2091== CMD_DESCRIPTION_FIND ==
2092Runs SQL-like queries to find Unity VCS objects.
2093
2094== CMD_USAGE_FIND ==
2095Usage:
2096
2097 cm ^find <object_type>
2098 [^where <str_conditions>]
2099 [^on ^repository '<repspec>' | ^on ^repositories '<repspec1>','<repspec2>'[,...]]
2100 [^order ^by <sort_field> ['^asc' | '^desc']]
2101 [[^limit <maxresults>] [^offset <offset>]]
2102 [--^format=<str_format>] [--^dateformat=<date_format>]
2103 [--^nototal] [--^file=<dump_file>] [--^xml]
2104 [--^encoding=<name>]
2105
2106Options:
2107
2108 --^format Retrieves the output message in a specific format.
2109 Read the 'cm ^find' guide to see all the object
2110 attributes that can be used as output format strings:
2111 https://www.plasticscm.com/download/help/cmfind
2112 --^dateformat Format used to output dates.
2113 --^nototal Does not output record count at the end.
2114 --^file File to dump results.
2115 --^xml Prints the output in XML format to the standard output.
2116 --^encoding Specifies the output encoding, i.e.: utf-8.
2117 See the MSDN documentation at
2118 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
2119 to get the table of supported encodings and its format,
2120 (at the end of the page, in the "Name" column).
2121 str_conditions Searches conditions on an object attributes.
2122 repspec Searches repositories alias or specification.
2123 In the case of '^on ^repositories', use a comma to
2124 separate the repspec fields.
2125 (Use 'cm ^help ^objectspec' to learn more about repository
2126 specifications.)
2127 sort_field The name of the field to use as sorting field. Mind there is only
2128 a subset of field possibilities. Use 'cm ^help ^showfindobjects'
2129 to find what objects are allowed to be ordered and by what fields.
2130 maxresults The maximun number of results returned by the query.
2131 offset The number of rows to skip before starting to return results
2132 from the query.
2133 object_type Object type to find.
2134 Some of these objects are implementing the '^order ^by' clause.
2135 Use 'cm ^help ^showfindobjects' to learn how to specify these
2136 objects, the ones allowing '^order ^by' and by what fields.
2137 You can also read the 'cm ^find' guide:
2138 https://www.plasticscm.com/download/help/cmfind
2139
2140== CMD_HELP_FIND ==
2141Remarks:
2142
2143 If no repository is specified, the search is made on the repository
2144 configured in the workspace.
2145
2146 When you run queries using comparison operators (>, <, >=, <=) from the
2147 command line, remember that the shell considers these operators as IO
2148 redirections. So you will need to enclose the queries in double quotation
2149 marks.
2150
2151 The 'cm ^find' command accepts a format string to show the output.
2152 Each output parameter is identified by a string and the user can refer it
2153 by typing the parameter number between '{' and '}' brackets.
2154 Output parameters usually correspond to the attributes of the object.
2155
2156 These are some valid output format strings:
2157 - --^format={^id}{^date}{^name}
2158 - --^format="{^item}#{^branch} ^with ^date {^date}"
2159
2160 XML and encoding considerations:
2161
2162 When the '--^xml' option is specified, the command shows the command result
2163 as an XML text in the standard output. The operating system default encoding
2164 is used to show the text, so it is possible that not-ANSI characters are
2165 incorrectly visualized in the console. If you redirect the command output to
2166 a file, it will be correctly visualized. When both '--^xml' and '--^file'
2167 options are specified, the default encoding will be utf-8.
2168
2169Examples:
2170
2171 cm ^find ^revision
2172 cm ^find ^revision "^where ^changeset=23 ^and ^owner='maria'"
2173 cm ^find ^branch "^on ^repository 'rep1'"
2174 cm ^find ^label "^on ^repositories 'rep1', '^rep:default@localhost:8084'"
2175 cm ^find ^branch "^where ^parent='^br:/main' ^on ^repository 'rep1'"
2176 cm ^find ^revision "^where ^item='^item:.'" --^format="{^item}#{^branch}"
2177 cm ^find ^revision "^where ^item='^item:.'" --^xml --^file=c:\queryresults\revs.xml
2178 cm ^find ^label "^where ^owner='^me' ^limit 10 ^offset 20"
2179 cm ^find ^branches "^where ^owner='^me' ^order ^by ^branchname ^desc ^limit 10"
2180
2181== CMD_DESCRIPTION_FINDCHANGED ==
2182> **This command is deprecated.** Use cm ^status instead.
2183
2184Gets a list of changed files.
2185
2186== CMD_USAGE_FINDCHANGED ==
2187Usage:
2188
2189 cm ^findchanged | ^fc [-^R | -^r | --^recursive] [--^checkcontent]
2190 [--^onlychanged] [<path>]
2191
2192Options:
2193
2194 -^R | -^r | --^recursive Recursively finds in directories.
2195 --^checkcontent Compares files by content.
2196 --^onlychanged Finds only changed files; checkouts will not be
2197 obtained.
2198 path (Default: current directory.)
2199 Initial path to find changed files.
2200
2201== CMD_HELP_FINDCHANGED ==
2202Remarks:
2203
2204 If no '--^checkcontent' option is given, Unity VCS finds changes based on
2205 the file timestamp.
2206 When '--^checkcontent' option is specified, the file or folder contents are
2207 compared, instead of using the timestamp.
2208
2209 This command is useful to detect changed files while disconnected from
2210 the Unity VCS server. The output can be piped to the ^checkout command,
2211 to check the changes later (see examples).
2212
2213Examples:
2214
2215 cm ^findchanged .
2216 (Finds changed files in the current directory.)
2217
2218 cm ^findchanged -^R . | cm ^checkout -
2219 (Checkouts changed elements.)
2220
2221== CMD_DESCRIPTION_FINDCHECKEDOUT ==
2222> **This command is deprecated.** Use cm ^status instead.
2223
2224Gets a list of checked out items.
2225
2226== CMD_USAGE_FINDCHECKEDOUT ==
2227Usage:
2228
2229 cm ^findcheckouts | ^fco [--^format=<str_format>] [--^basepath]
2230
2231Options:
2232
2233 --^format Retrieves the output message in a specific format. See
2234 Remarks for more info.
2235 --^basepath The path to start searching checkouts from. If not
2236 specified, the current path is used.
2237
2238== CMD_HELP_FINDCHECKEDOUT ==
2239Remarks:
2240
2241 This command is useful to checkin or undocheckout all checked out items in
2242 one single step, redirecting the standard output to other command.
2243 See examples.
2244
2245 Output format parameters (--^format option):
2246 This command accepts a format string to show the output.
2247 The output parameters of this command are the following:
2248 {0} Date.
2249 {1} Owner.
2250 {2} Workspace info.
2251 {3} Client machine name.
2252 {4} Item path.
2253 {5} Branch and repository info.
2254
2255Examples:
2256
2257 cm ^findcheckouts --^format="File {4} changed on branch {5}"
2258 (Finds checked out items and formats the output with file path and branch
2259 and repository info.)
2260
2261 cm ^findcheckouts --^format={4} | cm ^checkin -
2262 (Checkins all checked out items.)
2263
2264 cm ^findcheckouts --^format={4} | cm ^undocheckout -
2265 (Undocheckouts of all checked out items.)
2266
2267== CMD_DESCRIPTION_FINDPRIVATE ==
2268> **This command is deprecated.** Use cm ^status instead.
2269
2270Gets a list of private items.
2271
2272== CMD_USAGE_FINDPRIVATE ==
2273Usage:
2274 cm ^findprivate | ^fp [-^R | -^r | --^recursive] [--^exclusions] [<path>]
2275
2276Options:
2277
2278 -^R | -^r | --^recursive Recursively finds in directories.
2279 --^exclusions This option allows cutting the search inside the ignored
2280 paths, defined by the file ignore.conf.
2281 path (Default: current directory.)
2282 Initial path to find private files.
2283
2284== CMD_HELP_FINDPRIVATE ==
2285Remarks:
2286
2287 If any path is specified, Unity VCS will begin searching from the
2288 current directory.
2289
2290 This command is useful to add private items on a folder, piping the output
2291 to the '^add' command. See examples.
2292
2293Examples:
2294
2295 cm ^findprivate .
2296
2297 cm ^findprivate -^R | cm ^add -
2298 (Recursively searches private items and add them.)
2299
2300== CMD_DESCRIPTION_GETCONFIG ==
2301Obtains configuration info.
2302
2303== CMD_USAGE_GETCONFIG ==
2304Usage:
2305
2306 cm ^getconfig [^setfileasreadonly] [^location] [^extensionworkingmode]
2307 [^extensionprefix] [^defaultrepserver]
2308
2309Options:
2310
2311 ^setfileasreadonly Returns whether the protected files are left as
2312 read-only or not.
2313 ^location Returns the client config path.
2314 ^extensionworkingmode Returns the extension working mode.
2315 ^extensionprefix Returns the configured extension prefix.
2316 ^defaultrepserver Returns the location of the default repository
2317 server.
2318
2319== CMD_HELP_GETCONFIG ==
2320Examples:
2321
2322 cm ^getconfig ^setfileasreadonly
2323
2324== CMD_DESCRIPTION_GETFILE ==
2325Downloads the content of a given revision.
2326
2327== CMD_USAGE_GETFILE ==
2328Usage:
2329
2330 cm ^getfile | ^cat <revspec>[[;<output_file>] | [--^file=<output_file>]]
2331 [--^debug] [--^symlink] [--^raw]
2332
2333Options:
2334
2335 --^file File to save the output. By default, it is printed on the
2336 standard output. Only usable when a single revision is
2337 required. If more than one ^revspec is provided, this
2338 option should be avoided and use '^revspec;^outputfile'
2339 instead, adding as much pairs as needed separated by
2340 whitespaces.
2341 --^debug When a directory specification is used, the command
2342 shows all the items in the directory, its revision id
2343 and file system protection.
2344 --^symlink Applies the operation to the symlink and not to the
2345 target.
2346 --^raw Displays the raw data of the file.
2347 revspec Object specification. (Use 'cm ^help ^objectspec' to learn
2348 more about specs.)
2349
2350== CMD_HELP_GETFILE ==
2351Examples:
2352
2353 cm ^cat myfile.txt#^br:/main
2354 (Obtains the last revision in branch '^br:/main' of 'myfile.txt'.)
2355
2356 cm ^getfile myfile.txt#^cs:3 --^file=tmp.txt
2357 (Obtains the changeset 3 of 'myfile.txt' and write it to file 'tmp.txt'.)
2358
2359 cm ^cat ^serverpath:/src/foo.c#^br:/main/task003@myrepo
2360 (Obtains the contents of '/src/foo.c' at the last changeset of branch
2361 '/main/task003' in repository 'myrepo'.)
2362
2363 cm ^cat ^revid:1230@^rep:myrep@^repserver:myserver:8084
2364 (Obtains the revision with id 1230.)
2365
2366 cm ^getfile ^rev:info\ --^debug
2367 (Obtains all revisions in the 'info' directory.)
2368
2369 cm ^getfile "^revid:25@^rep:^default@^repserver:^localhost:8084;file_revid25.txt"
2370 "^revid:16@^rep:^default@^repserver:^localhost:8084;file_revid_16.txt"
2371 (Obtains two different revisions and stores each one on different files.
2372 To list ^revid it is possible to use the command '^cm ^find ^revision'.
2373 Mind that, to specify 'spec;dest_file' collections, it might be needed to
2374 quote the pairs individually, then separate them using whitespaces).
2375
2376== CMD_DESCRIPTION_GETREVISION ==
2377Loads a revision in the workspace.
2378
2379== CMD_USAGE_GETREVISION ==
2380This command modifies the revision loaded in the workspace, so it can affect
2381future merges.
2382It is an advanced command inherited from old versions, so use it with care.
2383
2384Usage:
2385 cm ^getrevision <revspec>
2386
2387Options:
2388
2389 revspec Object specification. (Use 'cm ^help ^objectspec' to learn
2390 more about rev specs.)
2391
2392== CMD_HELP_GETREVISION ==
2393Examples:
2394
2395 cm ^getrevision file.txt#^cs:3
2396 (Gets changeset 3 revision of 'file.txt'.)
2397
2398== CMD_DESCRIPTION_GETSTATUS ==
2399Gets the status of an item.
2400
2401== CMD_USAGE_GETSTATUS ==
2402Usage:
2403
2404 cm ^getstatus | ^gs <item_path>[ ...] [--^format=<str_format>] [--^stats]
2405 [-^R | -^r | --^recursive]
2406
2407Options:
2408
2409 --^format Retrieves the output message in a specific format. See
2410 Remarks for more info.
2411 --^stats Prints some statistics about the get status process.
2412 -^R | -^r | --^recursive Shows recursively the status in directories.
2413 item_path Item or items to get status from. Use double quotes
2414 (" ") to specify paths containing spaces. Use a
2415 whitespace to separate paths.
2416
2417== CMD_HELP_GETSTATUS ==
2418Remarks:
2419
2420 Output format parameters (--^format option):
2421 This command accepts a format string to show the output.
2422
2423 The output parameters of this command are the following:
2424
2425 {0} Item path.
2426 {1} Item status:
2427
2428 Where status can take values among the following:
2429
2430 0 private
2431 1 checked in
2432 2 checked out
2433
2434Reading input from stdin:
2435
2436 The '^getstatus' command can read paths from stdin. To do this, pass a
2437 single dash "-".
2438 Example:
2439 cm ^getstatus -
2440
2441 Paths will be read until an empty line is entered.
2442 This allows you to use pipe to specify which paths to get the status for.
2443 Example:
2444 dir /S /B *.c | cm ^getstatus --^format="Path {0} Status {1}" -
2445 (In Windows, gets the status of all .c files in the workspace.)
2446
2447Examples:
2448
2449 cm ^getstatus file1.txt file2.txt
2450 (Gets the status of the files.)
2451
2452 cm ^gs info\ -^R --^format="The item {0} has the status {1}"
2453 (Gets the status of the directory and all of its items and shows a
2454 formatted output.)
2455
2456== CMD_DESCRIPTION_GETTASKBRANCHES ==
2457Gets branches linked with a task.
2458
2459== CMD_USAGE_GETTASKBRANCHES ==
2460Usage:
2461
2462 cm ^gettaskbranches | ^gtb <task_name> [--^format=<str_format>]
2463 [--^dateformat=<date_format>]
2464
2465Options:
2466
2467 --^format Retrieves the output message in a specific format. See
2468 Remarks for more info.
2469 --^dateformat Format used to output dates.
2470 task_name The task identifier.
2471
2472== CMD_HELP_GETTASKBRANCHES ==
2473Remarks:
2474
2475 Output format parameters (--^format option):
2476
2477 This command accepts a format string to show the output.
2478
2479 The output parameters of this command are the following:
2480 {^tab} Inserts a tab space.
2481 {^newline} Inserts a new line.
2482 {^name} Branch name.
2483 {^owner} Owner of the branch.
2484 {^date} Date when the branch was created.
2485 {^parent} Parent branch.
2486 {^comment} Comment of the branch.
2487 {^repname} Repository where the branch exists.
2488 {^repserver} Server name.
2489
2490Examples:
2491
2492 cm ^gettaskbranches 4311
2493 cm ^gtb 4311 --^format="^br:{^name}"
2494 cm ^gtb 4311 --^format="^br:{^name} {^date}" --^dateformat="yyyy/MM/dd HH:mm:ss"
2495
2496== CMD_DESCRIPTION_GETWORKSPACEINFO ==
2497Shows info about the workspace selector.
2498
2499== CMD_USAGE_GETWORKSPACEINFO ==
2500Usage:
2501
2502 cm ^workspaceinfo | ^wi [<wk_path>]
2503
2504Options:
2505
2506 wk_path Path of a workspace on the machine.
2507
2508== CMD_HELP_GETWORKSPACEINFO ==
2509Remarks:
2510 The '^wi' command shows the working configuration of a workspace (repository,
2511 branch, and/or label).
2512
2513Examples:
2514 cm ^wi c:\mywk
2515
2516== CMD_DESCRIPTION_GETWORKSPACEFROMPATH ==
2517Gets workspace info from a path.
2518
2519== CMD_USAGE_GETWORKSPACEFROMPATH ==
2520Usage:
2521
2522 cm ^getworkspacefrompath | ^gwp <item_path> [--^format=<str_format>] [--^extended]
2523
2524Options:
2525 --^format Retrieves the output message in a specific format. See
2526 Remarks for more info.
2527 --^extended Displays more information regarding the workspace: ^type
2528 and ^dynamic on top of the others. See Remarks for more info.
2529 item_path File or folder on disk.
2530
2531== CMD_HELP_GETWORKSPACEFROMPATH ==
2532Remarks:
2533
2534 This command shows information about the workspace that is located in path.
2535
2536 Output format parameters (--^format option):
2537 This command accepts a format string to show the output.
2538
2539 The output parameters of this command are the following:
2540 {0} | {^wkname} Workspace name.
2541 {1} | {^wkpath} Workspace path.
2542 {2} | {^machine} Client machine name.
2543 {3} | {^owner} Workspace owner.
2544 {4} | {^guid} Workspace GUID.
2545 {5} | {^type} Workspace type: partial (gluon) or regular.
2546 {6} | {^dynamic} A workspace can be dynamic (plasticfs) or static.
2547 {^tab} Inserts a tab space.
2548 {^newline} Inserts a new line.
2549
2550Examples:
2551
2552 cm ^getworkspacefrompath c:\myworkspace\code\file1.cpp --^format="Workspace name: {^wkname}"
2553 cm ^gwp . --^format="Name: {^wkname} | Type: {^type}, {^dynamic}"
2554
2555== CMD_DESCRIPTION_HELP ==
2556Gets help for a Unity VCS command.
2557
2558== CMD_USAGE_HELP ==
2559Usage:
2560
2561 cm ^help <command>
2562
2563== CMD_HELP_HELP ==
2564Mind this command is partially overlapped with the --^help option at each command.
2565
2566== CMD_DESCRIPTION_IOSTATS ==
2567Shows statistics about the hardware.
2568
2569== CMD_USAGE_IOSTATS ==
2570Usage:
2571
2572 cm ^iostats [<repserverspec>] [<list_of_tests>[ ...]]
2573 [--^nettotalmb=<value_mb>] [--^networkiterations=<value_iter>]
2574 [--^diskdatasize=<value_size>] [--^disktestpath=<value_path>]
2575 [--^systemdisplaytime=<value_time>]
2576 [--^systemdisplaytimeinterval=<value_interval>]
2577
2578Options:
2579
2580 --^nettotalmb Indicates the amount of user data (in
2581 MegaBytes) transmitted on a network test,
2582 such as "^serverDownloadTest" or
2583 "^serverUploadTest".
2584 It must be a value between "4" and "512".
2585 (Default: 16)
2586 --^networkiterations Indicates the number of iterations of
2587 "^serverDownloadTest" and/or "^serverUploadTest"
2588 that will be run.
2589 It must be a value between "1" and "100".
2590 (Default: 1)
2591 --^diskdatasize Indicates the amount of data (in MegaBytes)
2592 that will be written and then read on the
2593 "^diskTest".
2594 It must be a value between "100" and "4096".
2595 (Default: 512)
2596 --^disktestpath Path where the "^diskTest" writes the test
2597 files. If this parameter is not provided,
2598 the command will try to use the system temp
2599 path.
2600 --^systemdisplaytime Time interval (in seconds) showing the usage
2601 of system resources. This option is available
2602 for the following tests: "^systemNetworkUsage"
2603 and "^systemDiskUsage".
2604 It must be a value between "1" and "3600".
2605 (Default: 5 seconds).
2606 --^systemdisplaytimeinterval Time interval (in seconds) between the
2607 system performance samples. This option is
2608 available for the following tests:
2609 "^systemNetworkUsage" and "^systemDiskUsage".
2610 It must be a value between "1" and "60".
2611 (Default: 1 second).
2612 repserverspec An available Unity VCS server to perform
2613 the network tests, such as "serverUploadTest"
2614 and/ or "serverDownloadTest".
2615 If no server is provided, the command tries
2616 to communicate with the server configured by
2617 default.
2618 (Use 'cm ^help ^objectspec' to learn more about
2619 server specs.)
2620 list_of_tests Available tests. Use a whitespace to separate
2621 test fields. See Remarks for more info.
2622
2623== CMD_HELP_IOSTATS ==
2624Remarks:
2625
2626 This command requires an available server be used during the network
2627 speed tests ("^serverUploadTest" and/or "^serverDownloadTest").
2628
2629 The '--^diskTestPath' must point to a path that belongs to the physical
2630 disk drive about to be tested. If no path is specified, the command tries
2631 to use the system default temp path.
2632 The disk drive of the specified path must have enough free space to execute
2633 the test.
2634
2635 During the command execution, the system can experience a degraded
2636 performance caused by the tests performed.
2637
2638 Available tests:
2639 --^serveruploadtest (Default) Measures the data upload speed from
2640 Unity VCS client to the server.
2641 --^serverdownloadtest (Default) Measures the data download speed from
2642 Unity VCS server to the client.
2643 --^disktest (Default) Measures the disk read speed and disk
2644 write speed.
2645 --^systemnetworkusage Shows the current usage of system network
2646 resources.
2647 (It shows Network Interface performance counters
2648 provided by Microsoft Windows).
2649 Available in Microsoft Windows only.
2650 --^systemdiskusage Shows the current usage of system physical
2651 disks.
2652 (It shows Network Interface performance counters
2653 provided by Microsoft Windows).
2654 Available in Microsoft Windows only.
2655
2656Examples:
2657
2658 cm ^iostats MYSERVER:8087 --^serveruploadtest --^serverdownloadtest --^nettotalmb=32
2659
2660== CMD_DESCRIPTION_ISSUETRACKER ==
2661Gets, updates, or finds the issue status in the specified issue tracker.
2662
2663== CMD_USAGE_ISSUETRACKER ==
2664Usage:
2665
2666 cm ^issuetracker <name> ^status ^get <task_id> <parameter>[ ...]
2667 cm ^issuetracker <name> ^status ^update <task_id> <status> <parameter>[ ...]
2668 cm ^issuetracker <name> ^status ^find <status> <parameter>[ ...]
2669 cm ^issuetracker <name> ^connection ^check <parameter>[ ...]
2670
2671 name Name of the issue tracker to connect with.
2672 Only Jira is supported at the moment.
2673 task_id Number of the issue to query or update.
2674 ^status A valid status for an issue in the issue tracker.
2675
2676Jira parameters (all are mandatory):
2677
2678 --^user=<user> The user to authenticate.
2679 --^password=<password> The password to authenticate.
2680 --^host=<url> The target url of the issue tracker.
2681 --^projectkey=<key> The project key of Jira project.
2682
2683== CMD_HELP_ISSUETRACKER ==
2684Examples:
2685
2686 cm ^issuetracker jira ^status ^get 11 --^user=user@mail.es --^password=pwd \
2687 --^host=https://user.atlassian.net --^projectkey=PRJ
2688 (Gets the status of the issue 11 for the 'PRJ' project.)
2689
2690 cm ^issuetracker jira ^status ^update 11 "Done" --^user=user@mail.es \
2691 --^password=pwd --^host=https://user.atlassian.net --^projectkey=PRJ
2692 (Updates the status to 'Done' of the issue 11 for the 'PRJ' project.)
2693
2694 cm ^issuetracker jira ^status ^find "Done" --^user=user@mail.es --^password=pwd \
2695 --^host=https://user.atlassian.net --^projectkey=PRJ
2696 (Gets the task ids whose status is set to 'Done' for the 'PRJ' project.)
2697
2698 cm ^issuetracker jira ^connection ^check --^user=user@mail.es --^password=pwd \
2699 --^host=https://user.atlassian.net --^projectkey=PRJ
2700 (Checks whether the configuration parameters are valid or not.)
2701
2702== CMD_DESCRIPTION_LICENSEINFO ==
2703Displays license information and license usage.
2704
2705== CMD_USAGE_LICENSEINFO ==
2706Usage:
2707
2708 cm ^licenseinfo | ^li [--^server=<repserverspec>] [--^inactive] [--^active]
2709 [--^sort=(^name|^status)]
2710
2711Options:
2712
2713 --^server Gets the license info from the specified server.
2714 If no server is specified, executes the command on the
2715 one configured on the client.
2716 (Use 'cm ^help ^objectspec' to learn more about repserver
2717 specs.)
2718 --^inactive Shows only inactive users in the "license usage" section.
2719 --^active Shows only active users in the "license usage" section.
2720 --^sort Sorts users by one of the specified sort options:
2721 '^name' or '^status'.
2722
2723== CMD_HELP_LICENSEINFO ==
2724Remarks:
2725
2726 The information displayed consists of expiration date, activated and
2727 deactivated users, etc.
2728
2729Examples:
2730
2731 cm ^licenseinfo
2732 cm ^licenseinfo --^server=myserver:8084
2733 cm ^licenseinfo --^sort=^name
2734
2735== CMD_DESCRIPTION_LINKTASK ==
2736Links a changeset to a task.
2737
2738== CMD_USAGE_LINKTASK ==
2739Usage:
2740
2741 cm ^linktask | ^lt <csetspec> <ext_prefix> <task_name>
2742
2743Options:
2744
2745 csetspec The full changeset specification to link to a task.
2746 (Use 'cm ^help ^objectspec' to learn more about changeset
2747 specs.)
2748 ext_prefix The extension prefix of the configured issue tracking
2749 system to work with.
2750 task_name The task identifier on the issue tracking system.
2751
2752== CMD_HELP_LINKTASK ==
2753Examples:
2754
2755 cm ^lt ^cs:8@^rep:default@^repserver:localhost:8084 jira PRJ-1
2756
2757== CMD_DESCRIPTION_LOCK_LIST ==
2758Shows locks on a server.
2759
2760== CMD_USAGE_LOCK_LIST ==
2761Usage:
2762
2763 cm ^lock ^list | ^ls [<revspec> [ ...]] [--^server=<server>]
2764 [--^repository] [--^workingbranch=<brname>] [--^anystatus]
2765 [--^onlycurrentuser] [--^onlycurrentworkspace]
2766 [--^ignorecase]
2767 [--^machinereadable [--^startlineseparator=<sep>]
2768 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]
2769 [--^smartlocks]]
2770
2771Options:
2772
2773 --^server Repository server specification.
2774 This option will override the default server which
2775 is retrieved from the current workspace or the
2776 client.conf file.
2777 (Use 'cm ^help ^objectspec' to learn more about
2778 server specs.)
2779 --^repository Repository specification.
2780 This option will only list the locks of the specified
2781 repository.
2782 (Use 'cm ^help ^objectspec' to learn more about
2783 repository specs.)
2784 --^workingbranch Branch name.
2785 This option will only list the locks that apply to
2786 the destination branch of the specified branch.
2787 --^anystatus Shows locks in any status (Locked or Retained).
2788 By default, only locks in Locked status are shown.
2789 --^onlycurrentuser Filters the results showing only the locks performed
2790 by the current user.
2791 --^onlycurrentworkspace Filters the results showing only the locks performed
2792 on the current workspace (matching them by name).
2793 --^ignorecase Ignores casing on the paths when a serverpath spec
2794 is used. With this flag, the command will work for
2795 "/src/foo.c" even if the user writes "/sRc/fOO.c".
2796 --^dateformat Format used to output dates.
2797 --^machinereadable Outputs the result in an easy-to-parse format.
2798 --^startlineseparator Used with the '--^machinereadable' flag, specifies how
2799 the lines should start.
2800 --^endlineseparator Used with the '--^machinereadable' flag, specifies how
2801 the lines should end.
2802 --^fieldseparator Used with the '--^machinereadable' flag, specifies how
2803 the fields should be separated.
2804 --^smartlocks Used with the '--^machinereadable' flag, shows all the
2805 smart lock fields. Otherwise, it only shows the legacy locks
2806 fields. This parameter is needed to avoid breaking
2807 compatibility with older integrations / plugins that expect
2808 the old format.
2809 revspec If one or more are present, this command will display
2810 one lock line for each specified revision if its
2811 associated item is locked in the server. Otherwise,
2812 this command will list all locked items in the default
2813 server (or the one set with the '--^server' option).
2814 Use a whitespace to separate the rev specs when using
2815 more than one.
2816 (Use 'cm ^help ^objectspec' to learn more about rev specs.)
2817
2818== CMD_HELP_LOCK_LIST ==
2819Remarks:
2820
2821 The command will display a list of the currently locked items in the
2822 default server. It also accepts a list of revision specifications. In this
2823 case, only the locks belonging to the selected items will be displayed.
2824 A '--^server=<server>' can be used to set the default server to query.
2825
2826 The command shows a line for every lock in the specified server:
2827 - Repository of the locked item.
2828 - Item id of the locked item.
2829 - GUID of the locked item (this is only printed with the --^machinereadable flag).
2830 - Date of the lock.
2831 - Destination branch where the lock will be released.
2832 - Revision id of the item loaded in the destination branch.
2833 - Holder branch where the lock was performed.
2834 - Revision id of the item that currently holds the lock.
2835 - Status of the lock (Locked or Retained)
2836 - User name who performed the lock.
2837 - Workspace name where the lock was performed.
2838 - Path of the locked item (server path format).
2839
2840 For the --^machinereadable without the --^smartlocks option, the
2841 printed fields are:
2842 - GUID of the locked item.
2843 - User name who performed the lock.
2844 - Workspace name where the lock was performed.
2845 - Path of the locked item (server path format).
2846
2847Examples:
2848
2849 cm ^lock ^list
2850 cm ^lock ^list --^server=myserver:8084
2851 cm ^lock ^list --^repository=repo@myserver:8084 --^anystatus
2852 cm ^lock ^list --^repository=repo@myserver:8084 --^workingbranch=/main/scm21345
2853 cm ^lock ^ls ^serverpath:/src/foo.c#^cs:99@default@localhost:8084
2854 cm ^lock ^list ^revid:3521@default ^itemid:2381@secondary --^onlycurrentuser
2855 cm ^lock ^ls --^onlycurrentuser --^dateformat="yy/dd/MM HH:mm:ss"
2856 cm ^lock ^ls --^onlycurrentuser --^onlycurrentworkspace
2857 cm ^lock ^list --^machinereadable --^startlineseparator=">" \
2858 --^endlineseparator="<" --^fieldseparator=","
2859 cm ^lock ^list --^machinereadable --^smartlocks --^startlineseparator=">" \
2860 --^endlineseparator="<" --^fieldseparator=","
2861
2862== CMD_DESCRIPTION_LISTUSERS ==
2863Lists users and groups.
2864
2865== CMD_USAGE_LISTUSERS ==
2866Usage:
2867
2868 cm ^listusers | ^lu <repserverspec> [--^onlyusers] [--^onlygroups]
2869 [--^filter=<str_filter>]
2870 cm ^listusers | ^lu <repserverspec> --^group=<group_name>
2871
2872Options:
2873
2874 --^onlyusers Lists only users.
2875 --^onlygroups Lists only groups.
2876 --^filter Lists only users and/or groups that matches the
2877 specified filter.
2878 --^group Lists only users from a certain group. This option is
2879 not compatible with ^onlyusers, ^onlygroups, nor ^filter.
2880 repserverspec Repository server specification.
2881 (Use 'cm ^help ^objectspec' to learn more about specs.)
2882
2883== CMD_HELP_LISTUSERS ==
2884Examples:
2885
2886 cm ^lu localhost:8084
2887 (Lists all users in the server.)
2888
2889 cm ^listusers localhost:8084 --^onlyusers --^filter=m
2890 (Lists only the users in the server that contains "m".)
2891
2892 cm ^listusers codice@cloud --^group=Administrators
2893 (Lists only the users in the group Administrators in the 'codice@cloud' org.)
2894
2895== CMD_DESCRIPTION_LOCATION ==
2896Returns the path of 'cm'.
2897
2898== CMD_USAGE_LOCATION ==
2899Usage:
2900
2901 cm ^location
2902
2903== CMD_HELP_LOCATION ==
2904Bear in mind this is related to your environment variables.
2905If you have several installations of the client, it will return
2906the first one in the path.
2907
2908== CMD_DESCRIPTION_LOCK ==
2909This command allows the user to manage locks.
2910
2911== CMD_USAGE_LOCK ==
2912Usage:
2913
2914 cm ^lock <command> [options]
2915
2916Commands:
2917
2918 - ^list | ^ls
2919 - ^unlock
2920 - ^create | ^mk
2921
2922 To get more information about each command run:
2923 cm ^lock <command> --^usage
2924 cm ^lock <command> --^help
2925
2926== CMD_HELP_LOCK ==
2927Examples:
2928
2929 cm ^lock
2930 (The '^list' subcommand is the default.)
2931 cm ^lock ^list --^anystatus
2932 cm ^lock ^unlock ^itemid:56@myrep@localhost:8084
2933 cm ^lock ^create /main/task@myrep ^itemid:56@myrep
2934
2935== CMD_DESCRIPTION_LOG ==
2936Gets info about revisions in changesets.
2937
2938== CMD_USAGE_LOG ==
2939Usage:
2940
2941 cm ^log [<csetspec> | <repspec>] [--^from=<csetspec_from>] [--^allbranches]
2942 [--^ancestors] [--^csformat=<str_format>] [--^itemformat=<str_format>]
2943 [--^dateformat=<str_date_format>]
2944 [--^xml[=<output_file>]] [--^encoding=<name>]
2945 [--^repositorypaths | --^fullpaths | --^fp]
2946
2947Options:
2948
2949 --^from Lists all the changes made in every changeset from the
2950 changeset specification [csetspec_from] to the
2951 changeset specification [csetspec].
2952 The [csetspec_from] changeset is not included in the
2953 output.
2954 Ignored when a repository spec is provided.
2955 --^allbranches Shows information about the changesets created in a
2956 specified interval, for all the branches where those
2957 changesets were created.
2958 --^ancestors Shows information about the reachable changesets by
2959 following the parent and merge links for the given
2960 changeset ([csetspec]). If the from changeset
2961 ([csetspec_from]) is provided too, it will be used as
2962 lower limit for all the paths. Remarks: The changeset
2963 changes will not be shown when this option is used.
2964 --^csformat Retrieves the changeset info in a specific format. See
2965 Remarks for more info. This option cannot be combined
2966 with '--^xml'.
2967 --^itemformat Retrieves the item info in a specific format. See
2968 Remarks for more info. This option cannot be combined
2969 with '--^xml'.
2970 --^dateformat Sets the output format to print dates.
2971 --^xml Prints the output in XML format to the standard output.
2972 It is possible to specify an output file. This option
2973 cannot be combined with '--^csformat' and '--^itemformat'.
2974 --^encoding Used with the '--^xml' option, specifies the encoding to
2975 use in the XML output, i.e.: utf-8.
2976 See the MSDN documentation at
2977 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
2978 to get the table of supported encodings and its format,
2979 (at the end of the page, in the "Name" column).
2980 --^fullpaths, --^fp Force printing full workspace paths for files and
2981 directories when possible.
2982 --^repositorypaths Prints repository paths (server paths) instead of
2983 workspace paths. (This option overrides the
2984 '--^fullpaths' option).
2985 csetspec Returns all changes made in the specified changeset.
2986 (Use 'cm ^help ^objectspec' to learn more about changeset
2987 specs.)
2988 repspec Returns all changes made in the specified repository.
2989 (Use 'cm ^help ^objectspec' to learn more about repository
2990 specs.)
2991
2992== CMD_HELP_LOG ==
2993Remarks:
2994
2995 - If neither 'csetspec' nor option is specified, the command shows
2996 information about every changeset created within the last month in every
2997 branch.
2998 - If only the option '--^from' is included, the command shows the
2999 information about every changeset from that specified changeset to the
3000 last changeset in the branch where the changeset was created.
3001 - If the option '--^allbranches' appears without an interval, the command
3002 retrieves the same information as it would do if only 'csetspec' was
3003 specified.
3004 - If the '--^from' is used, the output contains information from the
3005 'csetspec_from'+1 on.
3006 - The repository used to show the changeset information is the one loaded
3007 in the path where the command executes on.
3008
3009 This command accepts a format string for the items ('--^itemformat') and a
3010 format string for the changesets ('--^csformat').
3011
3012 The output parameters of '--^csformat' are the following:
3013 {^tab} Inserts a tab space.
3014 {^newline} Inserts a new line.
3015 {^changesetid} Changeset number.
3016 {^branch} Branch where the changeset was created.
3017 {^date} Date of the changeset.
3018 {^owner} Owner of the changeset.
3019 {^comment} Comment of the changeset.
3020 {^items} Items involved in the changeset.
3021 {^repository} Repository where the changeset exists.
3022 {^repserver} Server name.
3023
3024 The output parameters of '--^itemformat' are the following:
3025 {^tab} Inserts a tab space.
3026 {^newline} Inserts a new line.
3027 {^path} Item path.
3028 {^branch} Branch where the changeset was created.
3029 {^date} Date of the changeset.
3030 {^owner} Owner of the changeset.
3031 {^shortstatus} Prints the short format for the status. See below.
3032 {^fullstatus} Prints the long format for the status. See below.
3033
3034 Short format and its corresponding long format:
3035 '^A' ^Added
3036 '^D' ^Deleted
3037 '^M' ^Moved
3038 '^C' ^Changed
3039
3040 These are valid output strings:
3041 - --^csformat="{^newline}Changeset {^changesetid} created on {^date};{^tab} changed items: {^items}."
3042 - --^itemformat="{^newline}The item {^path} was changed in the branch {^branch}."
3043
3044 Date format parameters (--^dateformat):
3045 To specify the output format in which dates will be printed.
3046 See the supported formats specified at:
3047 https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
3048
3049Examples:
3050
3051 cm ^log
3052 (Shows information about every changeset created in the last month in every
3053 branch.)
3054
3055 cm ^log ^cs:16
3056 (Shows information about the changes done in the changeset 16 in the branch
3057 where the changeset was created.)
3058
3059 cm ^log ^cs:16 --^csformat="{^newline}Changeset {^changesetid} created on \
3060 {^date};{^tab} changed items: {^items}."
3061 (Shows the information in the specified format.)
3062
3063 cm ^log --^from=^cs:20 ^cs:50
3064 (Shows the information about every revision contained in every changeset
3065 from the changeset 21 to the changeset 50.)
3066
3067 cm ^log --^from=^cs:20 ^cs:50 --^allbranches
3068 (Shows the information about every revision contained in every changeset
3069 from the changeset 21 to the changeset 50 in every branch of the
3070 repository.)
3071
3072 cm ^log ^rep:myrep@localhost:8084
3073 (Shows information about the changes done in the specified repository.
3074 No workspace is required to run the command.)
3075
3076 cm ^log --^from=^cs:20@^rep:mainRep@localhost:8084
3077 (Shows the information about every revision contained in every changeset
3078 from the changeset 21. No workspace is required to run the command, because
3079 the full changeset spec was specified.)
3080
3081== CMD_DESCRIPTION_LIST ==
3082Lists the contents of a tree.
3083
3084== CMD_USAGE_LIST ==
3085Usage:
3086
3087 cm ^ls | ^dir [<paths>[ ...]] [--^format=<str_format>] [--^symlink]
3088 [--^selector[=<selector_format>]] [--^tree=<obj_spec>]
3089 [-^R | -^r | --^recursive]
3090 [--^xml[=<output_file>]] [--^encoding=<name>]
3091
3092Options:
3093
3094 --^format Retrieves the output message in a specific format. See
3095 Remarks for more info. This option cannot be combined
3096 with '--^xml'.
3097 --^symlink Applies the operation to the symlink and not to the
3098 target.
3099 --^selector Gets the content from the active workspace selector.
3100 If selector_format is specified, then lists the
3101 specified selector.
3102 This is mostly deprecated since selectors are
3103 no longer a central part of Unity VCS since 4.x.
3104 --^tree Lists the tree in the specified changeset or branch.
3105 (Use 'cm ^help ^objectspec' to learn more about specs.)
3106 -^R | -^r | --^recursive Lists recursively.
3107 --^xml Prints the output in XML format to the standard output.
3108 It is possible to specify an output file. This option
3109 cannot be combined with '--^format'.
3110 --^encoding Used with the '--^xml' option, specifies the encoding to
3111 use in the XML output, i.e.: utf-8.
3112 See the MSDN documentation at
3113 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
3114 to get the table of supported encodings and its format,
3115 (at the end of the page, in the "Name" column).
3116 paths List of paths to show. Use a whitespace to separate
3117 paths. Use double quotes (" ") to specify paths
3118 containing spaces.
3119
3120== CMD_HELP_LIST ==
3121Remarks:
3122
3123 - Path can be typed with meta-characters.
3124 - The list depends on the workspace selector.
3125 - The output of the command can be formatted specifying a format string.
3126 - If '--^tree' or '--^selector' options are specified, the given
3127 path must be a server path (a.k.a.: 'cm path'): /dir/file.txt, not a
3128 workspace path: C:\Users\myuser\mywk\dir\file.txt
3129 - If no path is provided, the workspace path assumed is the current
3130 directory. If '--^tree' or '--^selector' options are used, then
3131 the root path ("/") is assumed.
3132
3133 The default format string is:
3134
3135 "{^size,10} {^date:dd/MM/yyyy} {^date:HH:mm}\
3136 {^type,-6} {^location,-12} {^checkout,-5} {^name}\
3137 {^symlinktarget}"
3138
3139 Output format parameters (--^format option):
3140
3141 This command accepts a format string to show the output.
3142
3143 The output parameters of this command are the following:
3144 - {^size}
3145 - {^formattedsize}
3146 - {^date}
3147 - {^type}
3148 - ^dir: directory,
3149 - ^txt: text file,
3150 - ^File: file.
3151 - {^location} (Example: ^br:branch#cset)
3152 - {^checkout}
3153 - {^name}
3154 - {^changeset}
3155 - {^path}
3156 - {^repspec}
3157 - {^owner}
3158 - {^revid}
3159 - {^parentrevid}
3160 - {^itemid}
3161 - {^brid}
3162 - {^repid}
3163 - {^server}
3164 - {^symlinktarget}
3165 - {^hash}
3166 - {^chmod}
3167 - {^wkpath} (Path relative to workspace root)
3168 - {^branch}
3169 - {^newlocation} (cset@branch)
3170 - {^guid} (Will take longer to resolve)
3171 - {^itemguid}
3172
3173 You can customize the '^ls' format setting the PLASTIC_LS_FORMAT environment
3174 variable.
3175
3176Examples:
3177
3178 cm ^ls
3179 cm ^ls c:\workspace\src
3180
3181 cm ^ls --^format={^name}
3182 (Only file names.)
3183
3184 cm ^ls --^symlink
3185 (Displays information about the symlink instead of the target file or
3186 directory.)
3187
3188 cm ^ls code --^selector
3189 (Shows the content of the 'code' subdirectory from the current workspace
3190 selector.)
3191
3192 cm ^ls /code --^selector="^rep 'myrep' ^path '/' ^branch '/^main'"
3193 (Shows the content of the '/code' subdirectory on the specified selector.
3194 Note that the path is specified in server format.)
3195
3196 cm ^ls /code --^tree=44@myrep@denver:7070
3197 (Lists the '/code' subdirectory at changeset 44 at repo 'myrep' at server
3198 'denver:7070'.)
3199
3200 cm ^ls /code --^tree=^br:/main/scm13596@myrep@denver:7070
3201 (Lists the '/code' subdirectory at the latest changeset in branch
3202 '/main/scm13596' at repo 'myrep' at server 'denver:7070'.)
3203
3204 cm ^ls /code --^tree=ae1390ed-7ce9-4ec3-a155-e5a61de0dc77@myrep@denver:7070
3205 (Lists the '/code' subdirectory at changeset
3206 ae1390ed-7ce9-4ec3-a155-e5a61de0dc77 at repo 'myrep' at server
3207 'denver:7070'.)
3208
3209== CMD_DESCRIPTION_TRIGGER_LIST ==
3210Lists the triggers of a given type on a server.
3211
3212== CMD_USAGE_TRIGGER_LIST ==
3213Usage:
3214
3215 cm ^trigger | ^tr ^list | ^ls [<subtype-type>] [--^server=<repserverspec>]
3216 [--^format=<str_format>]
3217
3218Options:
3219
3220 --^server Lists the triggers on the specified server.
3221 If no server is specified, executes the command on the
3222 one configured on the client.
3223 (Use 'cm ^help ^objectspec' to learn more about server
3224 specs.)
3225 --^format Retrieves the output message in a specific format. See
3226 Remarks for more info.
3227 subtype-type Trigger execution and trigger operation.
3228 (Use 'cm ^showtriggertypes' to see a list of trigger
3229 types.)
3230
3231== CMD_HELP_TRIGGER_LIST ==
3232Remarks:
3233
3234 If the type is not specified, lists all the triggers on the server.
3235
3236 Output format parameters (--^format option):
3237
3238 This command accepts a format string to show the output.
3239
3240 The output parameters of this command are the following:
3241 {0} Trigger position.
3242 {1} Trigger name.
3243 {2} Trigger path.
3244 {3} Trigger owner.
3245 {4} Trigger type.
3246 {5} Trigger filter.
3247
3248Examples:
3249 cm ^trigger list after-mklabel
3250 (Lists all triggers of type 'after-mklabel' on the server configured on the
3251 client.)
3252
3253 cm ^tr ^ls ^before-mkbranch --^server=myserver:8084
3254 (Lists all triggers of type 'before-mkbranch' on server 'myserver:8084'.)
3255
3256== CMD_DESCRIPTION_MANIPULATESELECTOR ==
3257> **This command is deprecated.**
3258
3259== CMD_USAGE_MANIPULATESELECTOR ==
3260Usage:
3261
3262 cm ^manipulateselector | ^ms [<wk_path> | <wk_spec>] --^atdate=<sel_date>
3263
3264 wk_path Path of the workspace.
3265 wk_spec Workspace specification. (Use 'cm ^help ^objectspec' to
3266 learn more about specs.)
3267Options:
3268
3269 --^atdate Returns a selector that will recreate the workspace as
3270 it would have looked at the specified date.
3271
3272== CMD_HELP_MANIPULATESELECTOR ==
3273Remarks:
3274
3275 If neither path nor workspace spec is specified, the command will take the
3276 current directory as workspace path.
3277
3278Examples:
3279
3280 cm ^manipulateselector c:\workspace --^atdate=yyyy-MM-ddTHH:mm:ss
3281 cm ^manipulateselector --^atdate=yyyy-MM-ddTHH:mm:ss
3282 cm ^manipulateselector > mySelector.txt --^atdate=yyyy-MM-ddTHH:mm:ss
3283 cm ^manipulateselector ^wk:build_wk@BUILDER --^atdate=yyyy-MM-ddTHH:mm:ss
3284
3285== CMD_DESCRIPTION_MERGE ==
3286Merges a branch with another branch.
3287
3288== CMD_USAGE_MERGE ==
3289Usage:
3290
3291 cm ^merge <source_spec> [--^merge] [--^cherrypicking] [--^forced]
3292 [--^mergetype=(^onlyone|^onlysrc|^onlydst|^try|^forced)]
3293 [--^interval-origin=<csetspec> | --^ancestor=<csetspec>]
3294 [--^keepsource | --^ks] [--^keepdestination | --^kd]
3295 [--^automaticresolution=<conflict-types>[;...]]
3296 [--^subtractive] [--^mount] [--^printcontributors]
3297 [--^noprintoperations] [--^silent]
3298 [(--^to=<brspec> | --^destination=<brspec>)[--^shelve]]
3299 [--^no-dst-changes]
3300 [-^c=<str_comment> | --^commentsfile=<comments_file>]
3301 [--^resolveconflict --^conflict=<index>
3302 --^resolutionoption=(^src|^dst|(^rename --^resolutioninfo=<strname>))
3303 --^mergeresultfile=<path> --^solvedconflictsfile=<path>]
3304 [--^nointeractiveresolution]
3305 [--^xml[=<output_file>]] [--^encoding=<name>]
3306 [--^machinereadable [--^startlineseparator=<sep>]
3307 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]]
3308
3309Options:
3310
3311 --^merge Performs the merge. Otherwise, prints the
3312 conflicts found.
3313 --^cherrypicking Merges the changes included on the source
3314 changesets. This option is not used if the merge
3315 source specification is a label.
3316 --^forced Does not check if the source and destination are
3317 already connected.
3318 This option is only available for interval merge
3319 and cherry picking.
3320 --^mergetype Type of the merge. See Remarks for more info.
3321 --^interval-origin Specifies which changeset is chosen as the
3322 interval origin, so the merge will only take the
3323 differences between the source changeset and the
3324 specified interval origin.
3325 --^ancestor This is an alias of '--^interval-origin'.
3326 --^keepsource Accepts all changes from source contributor for
3327 items with conflicts.
3328 --^keepdestination Preserves changes from destination contributor
3329 for items with conflicts.
3330 --^automaticresolution Used to resolve directory conflicts. This option
3331 lets you choose whether the source or the
3332 destination contributor should be automatically
3333 selected to resolve the conflict.
3334 Use a semicolon to separate conflict types.
3335 See Remarks for more info.
3336 --^subtractive Deletes changes introduced by a merge. The
3337 parameter passed to the command (source_spec) is
3338 used to specify which is the source to delete
3339 changes. It must be a changeset. In the case of a
3340 changeset interval, the '--^interval-origin' must
3341 be used to define the interval origin. To remove
3342 a change, the system creates a new checked out
3343 revision which will have the content of the
3344 previous one except for the deleted changes.
3345 --^mount The mount point for the given repository.
3346 --^printcontributors Prints the contributors (base, source, and
3347 destination).
3348 --^noprintoperations Silently resolves merges without showing
3349 information about the resolution.
3350 --^silent No output is shown unless an error happens.
3351 --^to | --^destination Performs a merge-to operation to the specified
3352 branch (by entering a branch spec or brspec)
3353 with full conflict resolution.
3354 (Use 'cm ^help ^objectspec' to learn more about
3355 branch specs.)
3356 A "merge-to" (or workspace-less merge) is a merge
3357 done in the server side. While normal merges
3358 happen on a workspace merging "from" a branch,
3359 label or changeset, a merge-to happens entirely
3360 on the server. While in normal merges the
3361 "destination" is the workspace, in "merge-to" a
3362 destination must be always specified (that's why
3363 we call it "to").
3364 Check the following link for more information
3365 about the "merge to" feature:
3366 https://www.plasticscm.com/download/help/mergeto
3367 --^shelve Creates a shelve with the changes of the merge
3368 result (plus merge traceability info) instead of
3369 creating a new changeset. This option is not
3370 available when the merge source is a shelve. This
3371 option is only available for server-side-merge
3372 (a.k.a. "merge-to"). Hence, the '--^to' and
3373 '--^merge' options are required.
3374 --^no-dst-changes Ensures that the destination contributor doesn't
3375 have changes (the destination changeset is also
3376 the common ancestor). When there are changes on
3377 the destination, the merge is not allowed.
3378 -^c Applies the specified comment to the changeset
3379 created in the merge operation.
3380 --^commentsfile Applies the comment in the specified file to the
3381 changeset created in the merge operation.
3382 --^resolveconflict (Mainly used by plugins. See Remarks for more info.)
3383 Used to solve a directory conflict.
3384 --^conflict Used with the '--^resolveconflict' flag, specifies
3385 the index of the conflict to solve starting at 1.
3386 --^resolutionoption Used with the '--^resolveconflict' flag, indicates
3387 the type of the conflict resolution. Use one of
3388 the following options: '^src', '^dst', '^rename'.
3389 See Remarks for more info.
3390 --^resolutioninfo Used with the '--^resolveconflict' flag, provides
3391 the name to use when the '--^resolutionoption'
3392 option is 'rename'.
3393 --^mergeresultfile Used with the '--^resolveconflict' flag, outputs
3394 into a file the information of the merge result
3395 between different calls .The specified path will
3396 be created during the first call and updated on
3397 each next call.
3398 --^solvedconflictsfile Used with the '--^resolveconflict' flag, outputs
3399 into a file the information of the conflicts
3400 solved between different calls. The specified
3401 path will be created during the first call and
3402 updated on each next call.
3403 --^nointeractiveresolution (Mainly used by plugins. See Remarks for more info.)
3404 Avoids prompting the user for manual conflict.
3405 This way, a directory conflict won't be solved.
3406 --^machinereadable (Mainly used by plugins. See Remarks for more info.)
3407 Outputs the result in an easy-to-parse format.
3408 --^xml Prints the output in XML format to the standard output.
3409 It is possible to specify an output file. This option
3410 cannot be combined with '--^format' nor '--^resolveconflict'.
3411 --^encoding Used with the '--^xml' option, specifies the encoding to
3412 use in the XML output, i.e.: utf-8.
3413 See the MSDN documentation at
3414 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
3415 to get the table of supported encodings and its format,
3416 (at the end of the page, in the "Name" column).
3417 --^startlineseparator Used with the '--^machinereadable' flag, specifies
3418 how the lines should start. (Default: empty string.)
3419 --^endlineseparator Used with the '--^machinereadable' flag, specifies
3420 how the lines should end. (Default: empty string.)
3421 --^fieldseparator Used with the '--^machinereadable' flag, specifies
3422 how the fields should be separated. (Default:
3423 whitespace.)
3424 source_spec Specification of the source object to merge from
3425 (See Remarks for more info.)
3426
3427== CMD_HELP_MERGE ==
3428Remarks:
3429
3430 This command is used to merge changes between two branches or between a
3431 label and a branch. The destination of the merge must be always a branch.
3432 The merge source is specified as an argument.
3433 Destination is the current content of the workspace.
3434 For example, to display the elements that will be merged from branch
3435 task001 to the main branch, the selector must point to the main branch,
3436 the workspace must be updated, and then:
3437
3438 cm ^merge ^br:/task001
3439
3440 To really perform the merge, '--^merge' option is added:
3441
3442 cm ^merge ^br:/task001 --^merge
3443
3444 To define the merge source, the following specs can be used:
3445
3446 - Branch specification (brspec):
3447 - cm merge [^br:/]br_name
3448 - Example: cm merge ^br:/main/task001
3449 (Merges from the last changeset on this branch.)
3450
3451 - Label specification (lbspec):
3452 - cm merge ^lb:lb_name
3453 - Example: cm merge ^lb:BL001
3454 (Merges from the labeled changeset.)
3455
3456 - Changeset specification (csetspec):
3457 - cm merge ^cs:cs_number
3458 - Example: cm merge ^cs:25
3459 (Merges from the given changeset content.)
3460
3461 - Shelve specification (shspec):
3462 - cm merge ^sh:shelve_number
3463 - Example: cm merge ^sh:2
3464 (Merges from the given shelve content.)
3465
3466 To automatically resolve directory conflicts, use '--^automaticresolution'
3467 option and specify the type of conflict followed by the contributor
3468 (source or destination) that must be selected during the merge operation.
3469 (Separate each "type of conflict"-"contributor" pair by a semicolon (;).)
3470 For example:
3471 cm ^merge ^cs:2634 --^merge --^automaticresolution=^eviltwin-src;^changedelete-src
3472 (The merge operation from changeset 2634 resolves the "^eviltwin" and
3473 "^changedelete" conflicts by keeping the source ("-^src") contributor in
3474 both cases.)
3475 - A "-^src" suffix after a conflict type tells the merge command to keep the
3476 source contributor changes.
3477 - A "-^dst" suffix will keep the destination contributor changes.
3478
3479 This is the list of conflict types the merge command supports:
3480 - ^movedeviltwin
3481 - ^eviltwin
3482 - ^changedelete
3483 - ^deletechange
3484 - ^movedelete"
3485 - ^deletemove
3486 - ^loadedtwice
3487 - ^addmove
3488 - ^moveadd
3489 - ^divergentmove
3490 - ^cyclemove
3491 - ^all
3492
3493 The "^all" value overrides the other options. In the following example,
3494 "^eviltwin-dst" will be ignored:
3495
3496 cm ^merge ^br:/main/task062 --^merge --^automaticresolution=^all-src;^eviltwin-dst
3497
3498 Check the following link to learn more about merge conflicts:
3499 https://www.plasticscm.com/download/help/directorymerges
3500
3501 These are the options for '--^mergetype':
3502 ^onlyone Automatic merge if only one contributor modified the item.
3503 ^onlysrc Automatic merge if only source contributor modified the item.
3504 ^onlydst Automatic merge if only destination contributor modified the item.
3505 ^try Automatic merge if only one contributor has modified the
3506 conflictive piece of code (each conflict).
3507 ^forced Always try to solve all non-automatic conflicts.
3508
3509 These are the options that are mainly used by plugins and integrations:
3510
3511 - '--^resolveconflict' to solve a directory conflict. You also have to
3512 use the following options:
3513 - '--^conflict' is the index of the conflict that you want to
3514 solve, starting at 1.
3515 - '--^resolutionoption' indicates the conflict resolution to
3516 use. This can be:
3517 - '^src' to keep the source change and discard the
3518 destination change
3519 - '^dst' to keep the destination change and discard the
3520 source change
3521 - '^rename' (only if the conflict type supports this
3522 resolution), to rename the destination to the given name
3523 provided with the '--^resolutioninfo' option.
3524 - '--^resolutioninfo' to provide the name to use on a
3525 '^rename' resolution
3526 - '--^mergeresultfile' and '--^solvedconflictsfile', both used to
3527 store the merge info between different calls.
3528 - '--^nointeractiveresolution' indicates the merge to not ask the user for
3529 manual conflict resolution.
3530 - '--^machinereadable' and '--^startlineseparator', '--^endlineseparator',
3531 '--^fieldseparator' options to print the output on a machine-readable
3532 way (easier-to-parse).
3533
3534 Set the PLASTICEDITOR environment variable to specify an editor for
3535 entering comments. If the PLASTICEDITOR environment variable is set, and
3536 the comment is empty, the editor will be automatically launched to allow
3537 you to specify the comment.
3538
3539 Specification of the source:
3540 Branch specification '[^br:/]br_name'
3541 Label specification '^lb:lb_name'
3542 Changeset specification '^cs:cs_number'
3543 Shelve specification '^sh:shelve_number'
3544
3545 (Use 'cm ^help ^objectspec' to learn more about specs.)
3546
3547Examples:
3548
3549 cm ^merge ^br:/task001
3550 (Does not merge, just prints items to be merged.)
3551
3552 cm ^merge ^br:/task001 --^merge
3553 (Does merge from branch 'task001'.)
3554
3555 cm ^merge ^cs:5 --^merge --^cherrypicking --^interval-origin=^cs:2
3556 (Cherry pick from the changeset interval (2,5].)
3557
3558 cm ^merge ^cs:8 --^merge --^subtractive --^keepdestination
3559 (Subtractive merge from changeset 8, keeping destination changes for those
3560 elements with conflicts.)
3561
3562 cm ^merge ^br:/main/task001 --^to=^br:/main --^merge -^c="Integrated new UI"
3563 (Does server-side merge, a.k.a. merge-to, from branch 'task001' to branch
3564 'main' and sets a comment.)
3565
3566 cm ^merge ^br:/main/task001 --^to=^br:/main --^merge --^shelve
3567 (Does server-side merge from branch 'task001' to branch 'main' and leaves
3568 the result on a shelve.)
3569
3570 cm ^merge ^sh:2 --^to=^br:/main --^merge --^no-dst-changes
3571 (Applies the shelve 2 into 'main' only if it was created from the current
3572 'main' head')
3573
3574 cm ^merge --^machinereadable --^startlineseparator=start@_@line \
3575 --^endlineseparator=new@_@line --^fieldseparator=def#_#sep \
3576 --^mergeresultfile=C:\Users\Borja\AppData\Local\Temp\2tmp4D6C.tmp \
3577 --^solvedconflictsfile=C:\Users\Borja\AppData\Local\Temp\2tmp4D6D.tmp \
3578 --^resolveconflict --^conflict=1 --^resolutionoption=rename \
3579 --^resolutioninfo=bin_dst ^br:/main/task --^merge
3580 (Example for plugins and integrations)
3581
3582== CMD_DESCRIPTION_ATTRIBUTE_CREATE ==
3583Creates a new attribute.
3584
3585== CMD_USAGE_ATTRIBUTE_CREATE ==
3586Usage:
3587
3588 cm ^attribute | ^att ^create | ^mk <att_name>
3589
3590Options:
3591 att_name Attribute name
3592
3593== CMD_HELP_ATTRIBUTE_CREATE ==
3594Remarks:
3595
3596 Set the PLASTICEDITOR environment variable to specify an editor for
3597 entering comments. If the PLASTICEDITOR environment variable is set, and
3598 the comment is empty, the editor will be automatically launched to allow
3599 you to specify the comment.
3600
3601Examples:
3602
3603 cm ^attribute ^create status
3604 (Creates the attribute 'status'.)
3605
3606 cm ^att ^mk integrated
3607 (Creates the attribute 'integrated'.)
3608
3609== CMD_DESCRIPTION_BRANCH ==
3610Allows the user to manage branches.
3611
3612== CMD_USAGE_BRANCH ==
3613Usage:
3614
3615 cm ^branch | ^br <command> [options]
3616
3617Commands:
3618
3619 - ^create | ^mk
3620 - ^delete | ^rm
3621 - ^rename
3622 - ^hide
3623 - ^history
3624 - ^showmain
3625 - ^showmerges
3626 - ^unhide
3627
3628 To get more information about each command run:
3629 cm ^branch <command> --^usage
3630 cm ^branch <command> --^help
3631
3632== CMD_HELP_BRANCH ==
3633Examples:
3634
3635 cm ^branch /main/scm21345
3636 cm ^branch ^create /main/scm21345
3637 cm ^branch ^delete /main/scm21345
3638 cm ^branch ^rename /main/scm21345 scm21346
3639 cm ^branch ^hide /main/scm21345
3640 cm ^branch ^history /main/scm21345
3641 cm ^branch ^showmain
3642 cm ^branch ^showmerges file.txt
3643 cm ^branch ^unhide /main/scm21345
3644
3645== CMD_DESCRIPTION_BRANCH_CREATE ==
3646Creates a new branch.
3647
3648== CMD_USAGE_BRANCH_CREATE ==
3649Usage:
3650
3651 cm ^branch | ^br [^create | ^mk] <brspec>
3652 [--^changeset=<csetspec> | --^label=<lbspec>]
3653 [-^c=<str_comment> | -^commentsfile=<comments_file>]
3654
3655Options:
3656
3657 --^changeset Changeset used as starting point for the new branch.
3658 (Use 'cm ^help ^objectspec' to learn more about cset specs.)
3659 --^label Label used as starting point for the new branch.
3660 (Use 'cm ^help ^objectspec' to learn more about label specs.)
3661 -^c Fills in the comment field of the new branch with the
3662 specified text.
3663 -^commentsfile Fills in the comment field of the new branch with the
3664 contents of the specified file.
3665 brspec The new branch name or spec.
3666 (Use 'cm ^help ^objectspec' to learn more about branch specs.)
3667
3668== CMD_HELP_BRANCH_CREATE ==
3669Remarks:
3670
3671 To create a top-level branch, specify the name without any hierarchy.
3672 For example:
3673
3674 cm ^br /dev
3675
3676 If no optional parameter '--^changeset' is specified, the base of the new
3677 branch will be the last changeset on the parent branch. If the new branch
3678 is a top-level branch, the base changeset used will be cset 0.
3679
3680 You can specify a comment using either the '-^c' or the '-^m' switches:
3681
3682 cm ^branch /main/task001 -^c="This is the comment"
3683 cm ^branch /main/task001 -^m "This is the comment"
3684
3685 Set the PLASTICEDITOR environment variable to specify an editor for
3686 entering comments. If the PLASTICEDITOR environment variable is set, and
3687 the comment is empty, the editor will be automatically launched to allow
3688 you to specify the comment.
3689
3690Examples:
3691
3692 cm ^branch task001
3693 cm ^branch ^create task001
3694 cm ^branch ^mk task001
3695 cm ^br ^mk task001
3696 (All of the examples above, create a top-level 'task001' branch in the
3697 repository of the current workspace.)
3698
3699 cm ^branch ^br:/task001/task002@
3700 (Creates 'task002' branch as child of 'task001'.)
3701
3702 cm ^br /main/task001@myrep@myserver:8084 -^c="my comment"
3703 (Creates 'task001' branch as child of 'main' in repository
3704 'myrep@myserver:8084' with comment 'my comment'.)
3705
3706 cm ^branch ^br:/main/task001 --^changeset=2837 -^commentsfile=commenttask001.txt
3707 (Creates the 'task001' branch as child of 'main' with base 'changeset=2837',
3708 and applies the comment in 'commenttask001.txt' file.)
3709
3710== CMD_DESCRIPTION_BRANCH_DELETE ==
3711Deletes one or more branches.
3712
3713== CMD_USAGE_BRANCH_DELETE ==
3714Usage:
3715
3716 cm ^branch | ^br ^delete | ^rm <brspec>[ ...]
3717 [--^delete-changesets]
3718
3719 brspec Branch to delete. Use a whitespace to separate branches.
3720 (Use 'cm ^help ^objectspec' to learn more about branch
3721 specs.)
3722
3723Options:
3724
3725 --^delete-changesets For non-emtpy branches, first deletes the changesets
3726 within the branch, then deletes the branch.
3727 The operation will fail in the following scenarios:
3728 - The branch includes the changeset zero (the main
3729 branch in your repository).
3730 - One or more changesets in the branch have a label
3731 pointing to them.
3732 - One or more shelvesets where created from changesets
3733 in the branch.
3734 - The branch has child branches (even if the child
3735 branch is empty).
3736 - One or more changesets in the branch are the source
3737 of a merge, and the destination is not included in
3738 the branch being deleted.
3739 The operation is atomic. Either all or none of the
3740 changesets in the branch are removed.
3741
3742== CMD_HELP_BRANCH_DELETE ==
3743Remarks:
3744
3745 This command deletes one or more branches.
3746
3747Examples:
3748
3749 cm ^branch ^delete /main/task001
3750 (Deletes the branch with name 'task001' that is a child of 'main' in the
3751 repository of the current workspace.)
3752
3753 cm ^br ^rm main/task002 /main/task012@reptest@myserver:8084
3754 (Deletes branches '/main/task002' in the repository of the current workspace
3755 and '/main/task012' in the repository 'reptest@myserver:8084'.)
3756
3757 cm ^br ^rm main/task002 --delete-changesets
3758 (Deletes branch '/main/task002' and all of its changesets at once).
3759
3760== CMD_DESCRIPTION_BRANCH_HIDE ==
3761Hides a branch.
3762
3763== CMD_USAGE_BRANCH_HIDE ==
3764Usage:
3765
3766 cm ^branch | ^br ^hide <brspec>[ ...]
3767
3768 brspec Branch to hide. Use a whitespace to separate branches.
3769 (Use 'cm ^help ^objectspec' to learn more about branch
3770 specs.)
3771
3772== CMD_HELP_BRANCH_HIDE ==
3773Remarks:
3774
3775 This command hides one or more branches.
3776
3777Examples:
3778
3779 cm ^branch ^hide /main/task0 /main/task1
3780 (Hides branches '/main/task0' and '/main/task1'.)
3781
3782 cm ^br ^hide ^br:/main@reptest@server2:8084
3783 (Hides the 'main' branch of repository 'reptest@server2:8084'.)
3784
3785== CMD_DESCRIPTION_BRANCH_RENAME ==
3786Renames a branch.
3787
3788== CMD_USAGE_BRANCH_RENAME ==
3789Usage:
3790
3791 cm ^branch | ^br ^rename <brspec> <new_name>
3792
3793 brspec Branch to rename.
3794 (Use 'cm ^help ^objectspec' to learn more about branch specs.)
3795 new_name New name for the branch.
3796
3797== CMD_HELP_BRANCH_RENAME ==
3798Remarks:
3799
3800 This command renames a branch.
3801
3802Examples:
3803
3804 cm ^branch ^rename /main/task0 task1
3805 (Renames branch '/main/task0' to '/main/task1'.)
3806
3807 cm ^br ^rename ^br:/main@reptest@server2:8084 secondary
3808 (Renames the 'main' branch of repository 'reptest' to 'secondary'.)
3809
3810== CMD_DESCRIPTION_BRANCH_HISTORY ==
3811Shows the history of a branch.
3812
3813== CMD_USAGE_BRANCH_HISTORY ==
3814Usage:
3815
3816 cm ^branch | ^br ^history <brspec> [--^dateformat=<date_format>]
3817 [--^machinereadable]
3818
3819 brspec The branch specification to obtain the history.
3820 (Use 'cm ^help ^objectspec' to learn more about branch specs.)
3821
3822Options:
3823
3824 --^dateformat Format used to output dates.
3825 --^machinereadable Outputs the result in an easy-to-parse format.
3826
3827== CMD_HELP_BRANCH_HISTORY ==
3828Examples:
3829
3830 cm ^branch ^history ^br:/main/scm001@myrepository@myserver:8084
3831 (Displays the history of '/main/scm001' branch of 'myrepository' repository
3832 on 'myserver' server.)
3833
3834 cm ^br ^history main --^dateformat="yyyy, dd MMMM" --^machinereadable
3835 (Displays the history of the 'main' branch of the current repository,
3836 with a given date format, and in an easy-to-parse format.)
3837
3838== CMD_DESCRIPTION_BRANCH_SHOWMAIN ==
3839Shows the main branch of a repository. The main branch of your repository is '/main' by default.
3840
3841== CMD_USAGE_BRANCH_SHOWMAIN ==
3842Usage:
3843
3844 cm ^branch | ^br ^showmain [<repspec>] [--^encoding=<name>]
3845 [--^format=<format_str>] [--^dateformat=<date_format>]
3846
3847Options:
3848
3849 --^encoding Specifies the encoding to use in the output,
3850 i.e.: utf-8.
3851 See the MSDN documentation at
3852 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
3853 to get the table of supported encodings and its format,
3854 (at the end of the page, in the "Name" column).
3855 --^format Retrieves the output message in a specific format. See
3856 Remarks for more info.
3857 --^dateformat Format used to output dates.
3858 repspec The repository specification where to show the main
3859 branch. If no repspec is specified, the command will show
3860 the main branch for the repository of the current
3861 workspace.
3862 (Use 'cm ^help ^objectspec' to learn more about rep specs.)
3863
3864== CMD_HELP_BRANCH_SHOWMAIN ==
3865Remarks:
3866
3867 This command shows the main branch of a repository.
3868
3869 Output format parameters (--^format option):
3870 This command accepts a format string to show the output.
3871 The output parameters of this command are the following:
3872 {^id} Branch id.
3873 {^comment} Comment.
3874 {^date} Date.
3875 {^name} Name.
3876 {^owner} Owner.
3877 {^parent} Parent branch name.
3878 {^repository} Repository.
3879 {^repname} Repository name.
3880 {^repserver} Server.
3881 {^changeset} Head changeset of the branch.
3882
3883Examples:
3884
3885 cm ^branch ^showmain
3886 (Displays the main branch for the repository of the current workspace.)
3887
3888 cm ^branch ^showmain repo@server:8084
3889 (Displays the main branch for the repository 'repo' in server
3890 'server:8084'.)
3891
3892 cm ^br ^showmain --^dateformat="yyyy, dd MMMM" --^encoding=utf-8
3893 (Displays the main branch of the repository with a given date format,
3894 and the output is in utf-8.)
3895
3896 cm ^br ^showmain --^format="{^id} - {^name}"
3897 (Displays the main branch of the repository, printing only its id and name.)
3898
3899== CMD_DESCRIPTION_BRANCH_SHOWMERGES ==
3900Shows branches pending to be merged.
3901
3902== CMD_USAGE_BRANCH_SHOWMERGES ==
3903Usage:
3904
3905 cm ^branch | ^br ^showmerges <item_path>[ ...]
3906 [--^format=<format_str>]
3907 [--^dateformat=<date_format>]
3908
3909Options:
3910 --^format Retrieves the output message in a specific format. See
3911 Remarks for more info.
3912 --^dateformat Format used to output dates.
3913
3914== CMD_HELP_BRANCH_SHOWMERGES ==
3915Remarks:
3916
3917 Output format parameters (--^format option):
3918 This command accepts a format string to show the output.
3919 The output parameters of this command are the following:
3920 - {^id} Branch id.
3921 - {^comment} Comment.
3922 - {^date} Date.
3923 - {^name} Name.
3924 - {^owner} Owner.
3925 - {^parent} Parent branch name.
3926 - {^parentid} Parent branch id.
3927 - {^repid} Repository id.
3928 - {^repository} Repository.
3929 - {^repname} Repository name.
3930 - {^repserver} Repository server.
3931
3932Examples:
3933
3934 cm ^branch ^showmerges file.txt
3935 (Displays branches involved in the pending merge of 'file.txt'.)
3936
3937 cm ^branch ^showmerges file.txt --^format="{^date} {^name}" --^dateformat="ddMMyy"
3938 (Displays branches involved in the merge, printing only the date and the
3939 name, with a given date format.)
3940
3941== CMD_DESCRIPTION_BRANCH_UNHIDE ==
3942Unhides a branch.
3943
3944== CMD_USAGE_BRANCH_UNHIDE ==
3945Usage:
3946
3947 cm ^branch | ^br ^unhide <brspec>[ ...]
3948
3949 brspec Branch to unhide. Use a whitespace to separate branches.
3950 (Use 'cm ^help ^objectspec' to learn more about branch
3951 specs.)
3952
3953== CMD_HELP_BRANCH_UNHIDE ==
3954Remarks:
3955
3956 This command unhides one or more branches.
3957
3958Examples:
3959
3960 cm ^branch ^unhide /main/task0 /main/task1
3961 (Unhides branches '/main/task0' and '/main/task1'.)
3962
3963 cm ^br ^unhide ^br:/main@reptest@server2:8084
3964 (Unhides the 'main' branch of repository 'reptest@server2:8084'.)
3965
3966== CMD_DESCRIPTION_REPOSITORY ==
3967Allows the user to manage repositories.
3968
3969== CMD_USAGE_REPOSITORY ==
3970Usage:
3971
3972 cm ^repository | ^repo <command> [options]
3973
3974Commands:
3975
3976 - ^create | ^mk
3977 - ^delete | ^rm
3978 - ^list | ^ls
3979 - ^rename
3980 - ^add
3981
3982 To get more information about each command run:
3983 cm ^repository <command> --^usage
3984 cm ^repository <command> --^help
3985
3986== CMD_HELP_REPOSITORY ==
3987Examples:
3988
3989 cm ^repository
3990 cm ^repository ^list
3991 cm ^repository newrepo
3992 cm ^repository ^create newrepo
3993 cm ^repository ^rename oldname newname
3994 cm ^repository ^add C:\repo\
3995
3996== CMD_DESCRIPTION_REPOSITORY_CREATE ==
3997Creates a repository on a server.
3998
3999== CMD_USAGE_REPOSITORY_CREATE ==
4000Usage:
4001
4002 cm ^repository | ^repo <rep_name>
4003 cm ^repository | ^repo <repserverspec> <rep_name>[ ...]
4004 cm ^repository | ^repo [^create | ^mk] <rep_name>
4005
4006Options:
4007 repserverspec Repository server specification.
4008 (Use 'cm ^help ^objectspec' to learn more about rep server
4009 specs.)
4010 rep_name Name or names of the new repository or repositories.
4011 Use a whitespace to separate repository names.
4012
4013== CMD_HELP_REPOSITORY_CREATE ==
4014Examples:
4015
4016 cm ^repository MyRep
4017 cm ^repo 192.168.1.140:8087 Rep01 Rep01/ModuleA Rep01/ModuleB
4018 cm ^repo ^create Rep01
4019 cm ^repo ^mk list
4020
4021== CMD_DESCRIPTION_REPOSITORY_DELETE ==
4022Deletes a repository from a server.
4023
4024== CMD_USAGE_REPOSITORY_DELETE ==
4025Usage:
4026
4027 cm ^repository | ^repo ^delete | ^rm <repspec>
4028
4029Options:
4030
4031 repspec Repository specification.
4032 (Use 'cm ^help ^objectspec' to learn more about rep specs.)
4033
4034== CMD_HELP_REPOSITORY_DELETE ==
4035Remarks:
4036
4037 Deletes a repository from the repository server.
4038 The data is not removed from the database backend, but unplugged
4039 so that it will not be accessible anymore.
4040 (Data can be reconnected afterwards, see 'cm ^repository ^add'.)
4041
4042Examples:
4043
4044 cm ^repository ^delete myrepository@^repserver:myserver:8084
4045 cm ^repository ^rm myrepository@myserver:8084
4046 cm ^repo ^rm myrepository
4047
4048== CMD_DESCRIPTION_REPOSITORY_LIST ==
4049Lists the repositories on a server.
4050
4051== CMD_USAGE_REPOSITORY_LIST ==
4052Usage:
4053
4054 cm ^repository | ^repo [^list | ^ls] [<repserverspec>] [--^format=<str_format>]
4055
4056Options:
4057
4058 repserverspec Repository server specification.
4059 (Use 'cm ^help ^objectspec' to learn more about rep server
4060 specs.)
4061 --^format Retrieves the output message in a specific format. See
4062 Remarks for more info.
4063
4064== CMD_HELP_REPOSITORY_LIST ==
4065Remarks:
4066
4067 Output format parameters (--^format option):
4068
4069 This command accepts a format string to show the output.
4070
4071 The output parameters of this command are the following:
4072 {^repid} | {0} Repository identifier.
4073 {^repname} | {1} Repository name.
4074 {^repserver} | {2} Server name.
4075 {^repowner} | {3} Repository owner.
4076 {^repguid} | {4} Unique identifier of the repository.
4077 {^tab} Inserts a tab space.
4078 {^newline} Inserts a new line.
4079
4080 If the format parameter value is '^TABLE', the output will be printed
4081 using a table format with the {^repid}, {^repname} and {^repserver} fields.
4082
4083Examples:
4084
4085 cm ^repository
4086 (Lists all repositories.)
4087
4088 cm ^repository ^list localhost:8084 --^format="{1, -20} {3}"
4089 (Writes the repository name in 20 spaces, aligned to left, then a blank,
4090 and then the repository owner.)
4091
4092 cm ^repository ^ls localhost:8084 --^format="{^repname, -20} {^repowner}"
4093 (Writes the same as the previous example.)
4094
4095 cm ^repo ^ls localhost:8084 --^format=^TABLE
4096 (Writes the list of repositories using a table format with the following
4097 fields: repository id, repository name, and repository server name.)
4098
4099== CMD_DESCRIPTION_REPOSITORY_RENAME ==
4100Renames a repository.
4101
4102== CMD_USAGE_REPOSITORY_RENAME ==
4103Usage:
4104
4105 cm ^repository | ^repo ^rename [<repspec>] <new_name>
4106
4107Options:
4108
4109 repspec Repository to be renamed.
4110 (Use 'cm ^help ^objectspec' to learn more about repository
4111 specifications.)
4112 new_name New name for the repository.
4113
4114== CMD_HELP_REPOSITORY_RENAME ==
4115Remarks:
4116
4117 This command renames a repository.
4118 If no repspec is specified, current repository will be assumed.
4119
4120Examples:
4121
4122 cm ^repository ^rename development
4123 (The current repository will be renamed to 'development'.)
4124
4125 cm ^repo ^rename ^rep:default@SERVER:8084 development
4126 (The 'default' repository on 'SERVER' will be renamed to 'development'.)
4127
4128== CMD_DESCRIPTION_REPOSITORY_ADD ==
4129Connects an existing repository by adding its database.
4130
4131== CMD_USAGE_REPOSITORY_ADD ==
4132Usage:
4133
4134 cm ^repository | ^repo ^add <db_file> <rep_name> <repserverspec>
4135
4136Options:
4137
4138 db_file The name of the database file on the database backend.
4139 rep_name The name of the repository.
4140 repserverspec The repository server specification.
4141 (Use 'cm ^help ^objectspec' to learn more about repository
4142 server specifications.)
4143
4144== CMD_HELP_REPOSITORY_ADD ==
4145Remarks:
4146
4147 Reconnects an existing repository database to the server. This command is
4148 useful to move a repository from one server to another, or to restore an
4149 archived repository after using the 'cm ^repository ^delete' command.
4150
4151Examples:
4152
4153 cm ^repository ^add rep_27 myrepository myserver:8084
4154
4155== CMD_DESCRIPTION_TRIGGER_CREATE ==
4156Creates a new trigger on a server.
4157
4158== CMD_USAGE_TRIGGER_CREATE ==
4159Usage:
4160
4161 cm ^trigger | ^tr ^create | ^mk <subtype-type> <new_name> <script_path>
4162 [--^position=<new_position>]
4163 [--^filter=<str_filter>]
4164 [--^server=<repserverspec>]
4165
4166Options:
4167
4168 --^position New position of the specified trigger.
4169 This position must not be in use by another trigger of
4170 the same type.
4171 --^filter Checks only items that matches the specified filter.
4172 --^server Creates the trigger on the specified server.
4173 If no server is specified, executes the command on the
4174 one configured on the client. (Use 'cm ^help ^objectspec'
4175 to learn more about repository server specifications.)
4176 subtype-type Trigger execution and trigger operation.
4177 (Use 'cm ^showtriggertypes' to see a list of trigger types.)
4178 new_name Name of the new trigger.
4179 script_path Disk path on the server where the script to execute is
4180 located. If the command line starts with "^webtrigger ",
4181 the trigger will be considered as a web trigger. See
4182 Remarks for more information.
4183
4184== CMD_HELP_TRIGGER_CREATE ==
4185Remarks:
4186
4187 Web triggers: A web trigger is created by typing "^webtrigger <target-uri>"
4188 as the trigger command. In this case, the trigger will execute a POST query
4189 against the specified URI -where the request body contains a JSON
4190 dictionary with the trigger environment variables- and a fixed INPUT key
4191 pointing to an array of strings.
4192
4193Examples:
4194
4195 cm ^trigger ^create ^after-setselector "BackupMgr" "/path/to/script" --^position=4
4196
4197 cm ^tr ^mk ^before-mklabel new "/path/to/script" --^server=myserver:8084
4198
4199 cm ^tr ^mk ^after-mklabel Log "/path/to/script" --^filter="^rep:myRep,LB*"
4200 (This trigger will be executed only if the label name starts with 'LB'
4201 and it is being created in a repository called 'myRep'.)
4202
4203 cm ^tr ^mk ^after-checkin NotifyTeam "^webtrigger http://myserver.org/api"
4204
4205== CMD_DESCRIPTION_MOVE ==
4206Moves or renames a file or directory.
4207
4208== CMD_USAGE_MOVE ==
4209Usage:
4210
4211 cm ^move | ^mv <src_path> <dst_path> [--^format=<str_format>]
4212 [--^errorformat=<str_format>]
4213
4214Options:
4215
4216 --^format Retrieves the output message in a specific format. See
4217 Remarks for more info.
4218 --^errorformat Retrieves the error message in a specific format. See
4219 Remarks for more info.
4220 src_path Source item path.
4221 dst_path Destination item path.
4222
4223== CMD_HELP_MOVE ==
4224Remarks:
4225
4226 This command moves or renames an item in the repository.
4227 Changes are done in the local filesystem too.
4228
4229 If the source path is a file, the destination path can be a file or a
4230 directory. In the first case, the file is renamed; otherwise, the item
4231 is moved.
4232
4233 If source path is a directory, the destination path must be a directory.
4234
4235 The item to move or rename must exist.
4236
4237 Format:
4238 {0} Source path (both for '--^format' and '--^errorformat')
4239 {1} Destination path (both for '--^format' and '--^errorformat')
4240
4241Examples:
4242
4243 cm ^move file.txt file.old
4244 (Renames the item.)
4245
4246 cm ^mv .\file.old .\oldFiles
4247 (Moves 'file.old' to 'oldFiles'.)
4248
4249 cm ^move .\src .\src2
4250 (Renames a directory.)
4251
4252== CMD_DESCRIPTION_LABEL ==
4253Allows the user to manage labels.
4254
4255== CMD_USAGE_LABEL ==
4256Usage:
4257
4258 cm ^label | ^lb <command> [options]
4259
4260Commands:
4261
4262 - ^create | ^mk
4263 - ^delete | ^rm
4264 - ^rename
4265
4266 To get more information about each command run:
4267 cm ^label <command> --^usage
4268 cm ^label <command> --^help
4269
4270== CMD_HELP_LABEL ==
4271Examples:
4272
4273 cm ^label myNewLabel ^cs:42
4274 ('^create' command is optional.)
4275
4276 cm ^label ^rename myNewLabel newLabelName
4277 cm ^label ^delete newLabelName
4278
4279== CMD_DESCRIPTION_LABEL_CREATE ==
4280Applies a label to a changeset and creates the label if required.
4281
4282== CMD_USAGE_LABEL_CREATE ==
4283Usage:
4284
4285 cm ^label [^create] <lbspec> [<csetspec> | <wk_path>]
4286 [--^allxlinkedrepositories]
4287 [-^c=<str_comment> | -^commentsfile=<comments_file>]
4288
4289Options:
4290
4291 --^allxlinkedrepositories Creates the new label in all Xlinked repositories.
4292 -^c Applies the specified comment to the new label.
4293 -^commentsfile Applies the comment in the specified file to the
4294 new label.
4295 lbspec The new label name.
4296 (Use 'cm ^help ^objectspec' to learn more about label
4297 specs.)
4298 csetspec Name or full specification of the changeset to label.
4299 (Use 'cm ^help ^objectspec' to learn more about changeset
4300 specs.)
4301 wk_path Path of the workspace to label. (The changeset that the
4302 workspace is pointing will be labeled.)
4303
4304== CMD_HELP_LABEL_CREATE ==
4305Remarks:
4306
4307 Set the PLASTICEDITOR environment variable to specify an editor for
4308 entering comments. If the PLASTICEDITOR environment variable is set, and
4309 the comment is empty, the editor will be automatically launched to allow
4310 you to specify the comment.
4311
4312Examples:
4313
4314 cm ^label ^create ^lb:BL001 ^cs:1203 -^commentsfile=commentlb001.txt
4315 (Creates label 'BL001' attached to changeset 1203, and applies the comment
4316 in the 'commentlb001.txt' file.)
4317
4318 cm ^label BL002 ^cs:1203 -^c="first release"
4319 (Creates label 'BL002', with a comment, and attached to changeset 1203.)
4320
4321== CMD_DESCRIPTION_LABEL_DELETE ==
4322Deletes one or more labels.
4323
4324== CMD_USAGE_LABEL_DELETE ==
4325Usage:
4326
4327 cm ^label ^delete <lbspec>[ ...]
4328
4329Options:
4330
4331 lbspec Label to delete. Use a whitespace to separate labels.
4332 (Use 'cm ^help ^objectspec' to learn more about label
4333 specs.)
4334
4335== CMD_HELP_LABEL_DELETE ==
4336Remarks:
4337
4338 This command deletes one or more labels.
4339
4340Examples:
4341
4342 cm ^label ^delete ^lb:BL001
4343 (Deletes the label 'BL001'.)
4344
4345 cm ^label ^delete ^lb:BL001 ^lb:BL002@reptest@server2:8084
4346 (Deletes the labels 'BL001' and 'BL002'.)
4347
4348== CMD_DESCRIPTION_LABEL_RENAME ==
4349Renames a label.
4350
4351== CMD_USAGE_LABEL_RENAME ==
4352Usage:
4353
4354 cm ^label ^rename <lbspec> <new_name>
4355
4356Options:
4357
4358 lbspec Label to rename.
4359 (Use 'cm ^help ^objectspec' to learn more about label specs.)
4360 new_name New name for the label.
4361
4362== CMD_HELP_LABEL_RENAME ==
4363Remarks:
4364
4365 This command renames a label.
4366
4367Examples:
4368
4369 cm ^label ^rename ^lb:BL001 BL002
4370 (Renames the label 'BL001' to 'BL002'.)
4371
4372== CMD_DESCRIPTION_OBJECTSPEC ==
4373Describes how to write object specs.
4374
4375== CMD_USAGE_OBJECTSPEC ==
4376Usage:
4377
4378 cm ^objectspec
4379 (To get all the information about how to build object specs.)
4380
4381== CMD_HELP_OBJECTSPEC ==
4382
4383Several Unity VCS commands expect 'object specs' as input to refer to a
4384given object (typically a branch, changeset, repository, etc).
4385
4386This documentation describes the different "specs" available and how to
4387build them.
4388
4389Each spec type begins with a unique tag, for example "^rep:" or "^cs:". The tag
4390must be specified for commands that take a general object spec, for example
4391"cm ^setowner object_spec", but can often be omitted for commands that take only
4392a single type of spec, for example, "cm ^getfile revision_spec".
4393
4394Repository server spec (repserverspec):
4395
4396 ^repserver:name:port
4397
4398 Examples:
4399 cm ^repo ^list ^repserver:skull:8084
4400 cm ^repo ^list skull:8084
4401
4402 Side note:
4403 We call it 'repository server spec', instead of just 'server spec' for
4404 historical reasons. Long ago, we had separate workspace and repository
4405 servers, and the naming survived.
4406
4407Repository spec (repspec):
4408
4409 ^rep:rep_name@[repserverspec]
4410
4411 Examples:
4412 cm ^showowner ^rep:codice@localhost:6060
4413 (Here the "^rep:" is required because ^showowner admits not only repos
4414 but also other types of objects. So it needs the user to indicate the
4415 object type.)
4416
4417Branch spec (brspec):
4418
4419 There are different types of branch specs:
4420
4421 - ^br:[/]br_name[@repspec]
4422 - ^br:^brguid:branch_guid[@repspec]
4423
4424 Examples:
4425 cm ^switch ^br:/main@^rep:plastic@^repserver:skull:9095
4426 (In this case "^br:", "^rep" and "^repserver" are not needed, so the
4427 command admits a much shorter form:
4428 "cm ^switch main@plastic@skull:9095".)
4429
4430 cm ^find ^revisions "^where ^branch='^br:/main/task001'
4431
4432 cm ^switch ^br:^brguid:68846cdd-6a46-458c-a47f-52454cc150d9@plastic@skull:9095
4433
4434 cm ^find ^branch "^where ^parent='^brguid:68846cdd-6a46-458c-a47f-52454cc150d9'"
4435
4436 Remark:
4437 The initial '/' on the branch is not mandatory. We used to specify all
4438 our branches as /main, /main/task001, and so on. But now, we prefer the
4439 shorter form main, main/task001 which makes commands more compact.
4440
4441 The guid spec is not valid for commands that needs the full branch name
4442 (such as "cm ^create ^branch").
4443
4444Changeset spec (csetspec):
4445
4446 ^cs:cs_number|cs_guid[@repspec]
4447
4448 The number or GUID of the changeset can be specified.
4449
4450 Examples:
4451 cm ^ls /code --^tree=ae1390ed-7ce9-4ec3-a155-e5a61de0dc77@code@skull:7070
4452
4453Label spec (labelspec):
4454
4455 ^lb:lb_name[@repspec]
4456
4457 Examples:
4458 cm ^switch ^lb:RELEASE2.0
4459 cm ^switch ^lb:RELEASE1.4@myrep@MYSERVER:8084
4460
4461Revision spec:
4462
4463 There are different types of rev specs:
4464
4465 - ^rev: item_path[#(brspec|csetspec|labelspec)]
4466 - ^rev: ^serverpath:item_path#(brspec|cset_spec|lb_spec)
4467 - ^rev: ^revid:rev_id[@rep_spec]
4468 - ^rev: ^itemid:item_id#(br_spec|cset_spec|lb_spec)
4469
4470 Examples:
4471 cm ^diff ^rev:readme.txt#^cs:19 ^rev:readme.txt#^cs:20
4472
4473 cm ^diff ^serverpath:/doc/readme.txt#^cs:19@myrepo \
4474 ^serverpath:/doc/readme.txt#^br:/main@myrepo@localhost:8084
4475
4476 cm ^cat ^revid:1230@^rep:myrep@^repserver:myserver:8084
4477
4478Item spec:
4479
4480 There are different types of item specs:
4481
4482 - ^item: item_path
4483 - ^item: ^itemid:item_id[@rep_spec]
4484
4485 Examples:
4486 cm ^lock ^unlock ^item:audio.wav
4487 cm ^lock ^unlock ^itemid:1234@^rep:myrep@^repserver:myserver:8084
4488
4489Attribute spec:
4490
4491 ^att:att_name[@repspec]
4492
4493 Example:
4494 cm ^attribute ^set ^att:merged@code@doe:8084 ^cs:25@code@doe:8084 done
4495
4496Shelve spec:
4497
4498 ^sh:sh_number[@repspec]
4499
4500 Example:
4501 cm ^diff ^sh:2 ^sh:4
4502
4503Workspace specs:
4504
4505 ^wk:name@clientmachine
4506
4507 Rarely used, since they only apply to workspace related commands. Useful to
4508 specify the workspace by name and machine instead of path.
4509
4510 Examples:
4511 cm ^showselector ^wk:codebase@modok
4512
4513 Side note:
4514 These specs come from the old days of Plastic SCM 2.x where 'workspace
4515 servers' existed as a way to store workspace metadata in a centralized
4516 way. Were deprecated due to performance issues.
4517
4518== CMD_DESCRIPTION_PARTIAL ==
4519Runs commands in a partial workspace.
4520
4521== CMD_USAGE_PARTIAL ==
4522Usage:
4523
4524 cm ^partial <command> [options]
4525
4526Commands:
4527
4528 - ^configure
4529 - ^add
4530 - ^undo
4531 - ^checkout | ^co
4532 - ^undocheckout | ^unco
4533 - ^checkin | ^ci
4534 - ^move | ^mv
4535 - ^remove | ^rm
4536 - ^switch | ^stb
4537 - ^update | ^upd
4538 - ^shelveset | ^shelve
4539
4540 To get more information about each command run:
4541 cm ^partial <command> --^usage
4542 cm ^partial <command> --^help
4543
4544== CMD_HELP_PARTIAL ==
4545Examples:
4546
4547 cm ^partial ^configure +/background-blue.png
4548 cm ^partial ^update landscape-1024.png
4549 cm ^partial ^checkin eyes-green.png eyes-black.png
4550
4551== CMD_DESCRIPTION_PARTIAL_ADD ==
4552Adds an item to version control.
4553
4554== CMD_USAGE_PARTIAL_ADD ==
4555Usage:
4556
4557 cm ^partial ^add [-^R | -^r | --^recursive] [--^silent] [--^parents]
4558 [--^ignorefailed] [--^skipcontentcheck] <item_path>[ ...]
4559 [--^format=<str-format>] [--^errorformat=<str-format>]
4560
4561Options:
4562
4563 -^R | -^r | --^recursive Adds items recursively.
4564 --^silent Does not show any output.
4565 --^parents Includes the parent directories of the items specified
4566 in the operation.
4567 --^ignorefailed If an item cannot be added, the add operation will
4568 continue without it. Note: If a directory cannot be
4569 added, its content is not added.
4570 --^skipcontentcheck When the extension is not enough to set the file as
4571 text or binary, it will be set as binary by default
4572 instead of checking the content to detect the type.
4573 --^format Retrieves the output message in a specific format. Check
4574 the examples for more information.
4575 --^errorformat Retrieves the error message (if any) in a specific
4576 format. Check the examples for more information.
4577 item_path Items to add. Use double quotes (" ") to specify paths
4578 containing spaces. Use a whitespace to separate paths.
4579 Use * to add all the contents of the current directory.
4580
4581== CMD_HELP_PARTIAL_ADD ==
4582Remarks:
4583
4584 Requirements to add items:
4585 - The parent directory of the item to add must be previously added.
4586
4587Examples:
4588
4589 cm ^partial ^add pic1.png pic2.png
4590 (Adds 'pic1.png' and 'pic2.png' items.)
4591
4592 cm ^partial ^add c:\workspace\picture.png
4593 (Adds 'picture.png' item in path 'c:\workspace'.)
4594
4595 cm ^partial ^add -^R c:\workspace\src
4596 (Recursively adds 'src'.)
4597
4598 cm ^partial ^add --^parents samples\design01.png
4599 (Adds 'design01.png' file and 'samples' parent folder.)
4600
4601 cm ^partial ^add -^R *
4602 (Recursively adds all the contents of the current directory.)
4603
4604 cm ^partial ^add -^R * --^format="ADD {0}" --^errorformat="ERR {0}"
4605 (Recursively adds all the contents of the current directory, printing
4606 '^ADD <item>' for successfully added files, and '^ERR <item>' for items that
4607 could not be added.)
4608
4609== CMD_DESCRIPTION_PARTIAL_CHECKIN ==
4610Stores changes in the repository.
4611
4612== CMD_USAGE_PARTIAL_CHECKIN ==
4613Usage:
4614
4615 cm ^partial ^checkin | ^ci [<item_path>[ ...]]
4616 [-^c=<str_comment> | -^commentsfile=<comments_file>]
4617 [--^all | -^a] [--^applychanged] [--^keeplock]
4618 [--^symlink] [--^ignorefailed]
4619 [--^machinereadable [--^startlineseparator=<sep>]
4620 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]]
4621
4622Options:
4623
4624 -^c Specifies a comment to the changeset created in the
4625 checkin operation.
4626 -^commentsfile Applies the comment from the specified file to the
4627 changeset created in the checkin operation.
4628 --^all | -^a Includes also the items changed, moved, and deleted
4629 locally on the specified paths.
4630 --^applychanged Applies the checkin operation to the changed items
4631 detected in the workspace along with the checked out
4632 items.
4633 --^private Private items detected in the workspace are also
4634 included.
4635 --^keeplock Keeps the lock of the locked items after the checkin
4636 operation.
4637 --^symlink Applies the checkin operation to the symlink and not to
4638 the target.
4639 --^ignorefailed Any changes that cannot be applied (because the lock,
4640 a.k.a. exclusive checkout, cannot be adquired or
4641 because local changes are in conflict with the server
4642 changes) are discarded and the checkin operation
4643 continues without them.
4644 --^machinereadable Outputs the result in an easy-to-parse format.
4645 --^startlineseparator Used with the '--^machinereadable' flag, specifies how
4646 the lines should start.
4647 --^endlineseparator Used with the '--^machinereadable' flag, specifies how
4648 the lines should end.
4649 --^fieldseparator Used with the '--^machinereadable' flag, specifies how
4650 the fields should be separated.
4651 item_path Items to checkin. Use double quotes (" ") to specify
4652 paths containing spaces. Use a whitespace to separate
4653 paths. Use . to apply checkin to current directory.
4654
4655== CMD_HELP_PARTIAL_CHECKIN ==
4656Remarks:
4657
4658 - If <item_path> is not specified, the checkin will involve all the
4659 pending changes in the workspace.
4660 - The checkin operation always applies recursively from the given path.
4661 - To checkin an item:
4662 - The item must be under source code control.
4663 - The item must be checked out.
4664 - If the item is changed but not checked out, the '--^applychanged' flag
4665 is not necessary unless <item_path> is a directory or it contains
4666 wildcards ('*').
4667
4668 Revision content should be different from previous revision in order to be
4669 checked in.
4670
4671 Set the PLASTICEDITOR environment variable to specify an editor for
4672 entering comments. If the PLASTICEDITOR environment variable is set, and
4673 the comment is empty, the editor will be automatically launched to allow
4674 you to specify the comment.
4675
4676Reading input from stdin:
4677
4678 The '^partial ^checkin' command can read paths from stdin. To do this, pass a
4679 single dash "-".
4680 Example:
4681 cm ^partial ^checkin -
4682
4683 Paths will be read until an empty line is entered.
4684 This allows you to use pipe to specify which files to checkin.
4685 Example:
4686
4687 dir /S /B *.c | cm ^partial ^checkin --^all -
4688 (In Windows, checkins all .c files in the workspace.)
4689
4690Examples:
4691
4692 cm ^partial ^checkin figure.png landscape.png
4693 (Applies the checkin to 'figure.png' and 'landscape.png' checked-out files.)
4694
4695 cm ^partial ^checkin . -^commentsfile=mycomment.txt
4696 (Applies checkin to current directory and sets the comment from the
4697 'mycomment.txt' file.)
4698
4699 cm ^partial ^ci background.png -^c="my comment" --^keeplock
4700 (Applies the checkin to 'background.png', includes a comment, and keeps the
4701 lock.)
4702
4703 cm ^partial ^checkin --^applychanged
4704 (Applies the checkin to all pending changes in the workspace.)
4705
4706 cm ^partial ^checkin link --^symlink
4707 (Applies the checkin to the symlink file and not to the target.)
4708
4709 cm ^partial ^checkin . --^ignorefailed
4710 (Applies checkin to current directory, ignoring the changes that cannot be
4711 applied.)
4712
4713== CMD_DESCRIPTION_PARTIAL_CHECKOUT ==
4714Marks files as ready to modify.
4715
4716== CMD_USAGE_PARTIAL_CHECKOUT ==
4717Usage:
4718
4719 cm ^partial ^checkout | ^co [<item_path>[ ...]] [--^resultformat=<str_format>]
4720 [--^silent] [--^ignorefailed]
4721
4722Options:
4723
4724 item_path Items to checkout. Use double quotes (" ") to specify
4725 paths containing spaces. Use a whitespace to separate
4726 paths.
4727 Use . to apply checkout to current directory.
4728 --^resultformat Retrieves the output result message in a specific
4729 format.
4730 --^silent Does not show any output.
4731 --^ignorefailed If an item cannot be locked (the exclusive checkout
4732 cannot be performed), the checkout operation will
4733 continue without it.
4734
4735== CMD_HELP_PARTIAL_CHECKOUT ==
4736Remarks:
4737
4738 To checkout an item:
4739 - The item must be under source code control.
4740 - The item must be checked in.
4741
4742 If locks are configured on the server (lock.conf exists), then each time
4743 a checkout on a path happens, Unity VCS checks if it meets any of the rules
4744 and if so, the path will be in exclusive checkout (locked) so that none can
4745 simultaneously checkout.
4746 You can get all the locks in the server by using 'cm ^lock ^list'.
4747 Check the Administrator Guide to learn how locking works:
4748 https://www.plasticscm.com/download/help/locking
4749
4750Examples:
4751
4752 cm ^partial ^checkout pic1.png pic2.png
4753 (Checkouts 'pic1.png' and 'pic2.png' files.)
4754
4755 cm ^partial ^co *.png
4756 (Checkouts all png files.)
4757
4758 cm ^partial ^checkout .
4759 (Checkouts current directory.)
4760
4761 cm ^partial ^checkout -^R c:\workspace\src
4762 (Recursively checkouts 'src' folder.)
4763
4764== CMD_DESCRIPTION_PARTIAL_CONFIGURE ==
4765Allows you to configure your workspace by loading or unloading items from it.
4766
4767== CMD_USAGE_PARTIAL_CONFIGURE ==
4768Usage:
4769
4770 cm ^partial ^configure <+|-path>[ ...] [--^silent] [--^ignorefailed]
4771 [--^ignorecase] [--^restorefulldirs]
4772 [--^machinereadable [--^startlineseparator=<sep>]
4773 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]]
4774
4775Options:
4776
4777 --^silent Does not show any output.
4778 --^ignorefailed Skips all errors during the process. Incorrect paths
4779 will not cause the command to stop.
4780 --^ignorecase Ignores casing on the paths. With this flag, '^configure'
4781 will work for "/Data/Textures" even if the user writes
4782 "/data/teXtures".
4783 --^restorefulldirs Resets an invalid directory configuration (happens when
4784 a non-partial operation is run on a partial workspace).
4785 The directories in this list will be fully configured
4786 (full check) which means they will automatically
4787 download new content during the update.
4788 This operation does not download any files, just
4789 restores the directory configuration on partial
4790 workspaces.
4791 --^machinereadable Outputs the result in an easy-to-parse format.
4792 --^startlineseparator Used with the '--^machinereadable' flag, specifies how
4793 the lines should start.
4794 --^endlineseparator Used with the '--^machinereadable' flag, specifies how
4795 the lines should end.
4796 --^fieldseparator Used with the '--^machinereadable' flag, specifies how
4797 the fields should be separated.
4798 path Paths to be loaded or unloaded. Use double quotes (" ") to
4799 specify paths containing spaces. Use a whitespace to separate
4800 paths. Paths have to start with "/".
4801
4802== CMD_HELP_PARTIAL_CONFIGURE ==
4803Remarks:
4804
4805 The command assumes recursive operation.
4806
4807Examples:
4808
4809 cm ^partial ^configure +/landscape_grey.png
4810 (Loads 'landscape_grey.png' item.)
4811
4812 cm ^partial ^configure -/landscape_black.png
4813 (Unloads 'landscape_black.png' item.)
4814
4815 cm ^partial ^configure +/soft -/soft/soft-black.png
4816 (Loads all 'soft' directory children items except 'soft-black.png'.)
4817
4818 cm ^partial ^configure -/
4819 (Unloads the whole workspace.)
4820
4821 cm ^partial ^configure -/ +/
4822 (Loads the whole workspace.)
4823
4824 cm ^partial ^configure -/figure-64.png --^ignorefailed
4825 (Unloads 'figure-64.png' item even if it was already unloaded.)
4826
4827 cm ^partial ^configure +/ --^restorefulldirs
4828 (Sets all directories to automatically download the new content.)
4829
4830 cm ^partial ^configure +/src/lib --^restorefulldirs
4831 (Sets only '/src/lib' and its subdirectories to automatically download the
4832 new content.)
4833
4834== CMD_DESCRIPTION_PARTIAL_MOVE ==
4835Moves or renames a file or directory.
4836
4837== CMD_USAGE_PARTIAL_MOVE ==
4838Usage:
4839
4840 cm ^partial ^move | ^mv <src_path> <dst_path> [--^format=<str_format>]
4841
4842Options:
4843
4844 --^format Retrieves the output message in a specific format. See
4845 Remarks for more info.
4846 src_path Source item path.
4847 dst_path Destination item path.
4848
4849== CMD_HELP_PARTIAL_MOVE ==
4850Remarks:
4851
4852 This command moves or renames an item in the repository.
4853 Changes are done in the local filesystem too.
4854
4855 If the source path is a file, the destination path can be a file or a
4856 directory. In the first case, the file will be renamed; otherwise, the item
4857 will be moved.
4858
4859 If source path is a directory, the destination path must be a directory.
4860
4861 The item to move or rename must exist.
4862
4863 Format:
4864 {0} Source path.
4865 {1} Destination path.
4866
4867Examples:
4868
4869 cm ^partial ^move file.png file-blue.png
4870 (Renames the item.)
4871
4872 cm ^partial ^mv .\file-blue.png .\blueFiles
4873 (Moves 'file-blue.png' to 'blueFiles'.)
4874
4875 cm ^partial ^move .\design .\marketing
4876 (Renames a directory.)
4877
4878== CMD_DESCRIPTION_PARTIAL_REMOVE ==
4879Deletes a file or directory from version control.
4880
4881== CMD_USAGE_PARTIAL_REMOVE ==
4882Usage:
4883
4884 cm ^partial ^remove | ^rm <item_path>[ ...] [--^nodisk]
4885
4886Options:
4887
4888 --^nodisk Removes from version control, but keeps the item on disk.
4889 item_path Items path to remove. Use double quotes (" ") to
4890 specify paths containing spaces. Use a whitespace to separate
4891 paths.
4892
4893== CMD_HELP_PARTIAL_REMOVE ==
4894Remarks:
4895
4896 Items are deleted from disk. Removed items are removed from the parent
4897 directory in the source code control.
4898
4899 Requirements:
4900 - The item must be under source code control.
4901
4902Examples:
4903
4904 cm ^partial ^remove src
4905 (Removes 'src'. If 'src' is a directory, this is the same that:
4906 cm ^partial ^remove -^R src.)
4907
4908 cm ^partial ^remove c:\workspace\pic01.png --^nodisk
4909 (Removes 'pic01.png' from version control, but keeps it on disk.)
4910
4911
4912== CMD_DESCRIPTION_PARTIAL_SHELVESET ==
4913Allows the user to manage partial shelvesets.
4914
4915== CMD_USAGE_PARTIAL_SHELVESET ==
4916Usage:
4917
4918 cm ^partial ^shelveset | ^shelve <command> [options]
4919
4920Commands:
4921
4922 - ^create | ^mk
4923 - ^apply
4924 - ^delete | ^rm
4925
4926 To get more information about each command run:
4927 cm ^partial ^shelveset <command> --^usage
4928 cm ^partial ^shelveset <command> --^help
4929
4930== CMD_HELP_PARTIAL_SHELVESET ==
4931Examples:
4932
4933 cm ^partial ^shelveset ^create -^c="my comment"
4934 cm ^partial ^shelveset ^apply sh:3
4935 cm ^partial ^shelveset ^delete sh:5
4936
4937== CMD_DESCRIPTION_PARTIAL_SHELVESET_CREATE ==
4938Shelves chosen pending changes.
4939
4940== CMD_USAGE_PARTIAL_SHELVESET_CREATE ==
4941Usage:
4942
4943 cm ^partial ^shelveset | ^shelve ^create | ^mk [<item_path>[ ...]]
4944 [-^c=<str_comment> | -^commentsfile=<comments_file>]
4945 [--^applychanged] [--^symlink] [--^ignorefailed]
4946 [--^machinereadable [--^startlineseparator=<sep>]
4947 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]]
4948
4949Options:
4950
4951 -^c Specifies a comment to the changeset created in the
4952 shelve operation.
4953 -^commentsfile Applies the comment from the specified file to the
4954 changeset created in the shelve operation.
4955 --^applychanged Applies the shelve operation to the changed items
4956 detected in the workspace along with the checked out
4957 items.
4958 --^symlink Applies the shelve operation to the symlink and not to
4959 the target.
4960 --^ignorefailed Any changes that cannot be applied (because the lock
4961 (a.k.a. exclusive checkout) cannot be adquired or
4962 because local changes are in conflict with the server
4963 changes) are discarded and the shelve operation
4964 continues without them.
4965 --^machinereadable Outputs the result in an easy-to-parse format.
4966 --^startlineseparator Used with the '--^machinereadable' flag, specifies how
4967 the lines should start.
4968 --^endlineseparator Used with the '--^machinereadable' flag, specifies how
4969 the lines should end.
4970 --^fieldseparator Used with the '--^machinereadable' flag, specifies how
4971 the fields should be separated.
4972 item_path Items to shelve. Use double quotes (" ") to specify
4973 paths containing spaces. Use a whitespace to separate
4974 paths. Use . to apply shelve to current directory.
4975
4976== CMD_HELP_PARTIAL_SHELVESET_CREATE ==
4977The '^partial ^shelveset ^create' command stores the contents of checked out items
4978 inside the repository. This way the contents are protected without the need to
4979 checkin the files.
4980
4981Remarks:
4982
4983 If neither <item_path> nor any option is specified, the shelveset will
4984 include all the pending changes in the workspace.
4985
4986 The '^partial ^shelveset ^create' operation is always applied recursively from
4987 the given path.
4988
4989 The '^partial ^shelveset ^create' operation is the default, which means that,
4990 if no other operation is defined, the command will try to perform a creation.
4991
4992 Requirements to shelve an item:
4993 - The item must be under source code control.
4994 - The item must be checked out or changed.
4995
4996 Set the PLASTICEDITOR environment variable to specify an editor for
4997 entering comments. If the PLASTICEDITOR environment variable is set, and
4998 the comment is empty, the editor will be automatically launched to allow
4999 you to specify the comment.
5000
5001Examples:
5002
5003 cm ^partial ^shelveset figure.png landscape.png
5004 (Creates a new shelveset with 'figure.png' and 'landscape.png' checked-out files.)
5005
5006 cm ^partial ^shelveset . -^commentsfile=mycomment.txt
5007 (Creates a new shelveset with every checked-out file in current directory
5008 and sets the comment from the 'mycomment.txt' file.)
5009
5010 cm ^partial ^shelve background.png -^c="my comment"
5011 (Creates a new shelveset with 'background.png', includes a comment.)
5012
5013 cm ^partial ^shelveset --^applychanged
5014 (Creates a new shelveset all pending changes in the workspace.)
5015
5016 cm ^partial ^shelveset link --^symlink
5017 (Creates a new shelveset with the symlink file and not the target.)
5018
5019 cm ^partial ^shelveset . --^ignorefailed
5020 (Creates a new shelveset with every checked-out file in current directory,
5021 ignoring (skipping) the changes that cannot be applied.)
5022
5023== CMD_DESCRIPTION_PARTIAL_SHELVESET_APPLY ==
5024Applies a stored shelveset.
5025
5026== CMD_USAGE_PARTIAL_SHELVESET_APPLY ==
5027Usage:
5028
5029 cm ^partial ^shelveset ^apply <sh_spec> [--^encoding=<name>]
5030 [--^comparisonmethod=(^ignoreeol | ^ignorewhitespaces| \
5031 ^ignoreeolandwhitespaces | ^recognizeall)]
5032
5033Options:
5034
5035 --^encoding Specifies the output encoding, i.e.: utf-8.
5036 See the MSDN documentation at
5037 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
5038 to get the table of supported encodings and its format,
5039 (at the end of the page, in the "Name" column).
5040 --^comparisonmethod Sets the comparison method. See Remarks for more info.
5041 sh_spec Shelveset specification. (Use 'cm ^help ^objectspec' to
5042 learn more about shelveset specs.)
5043
5044== CMD_HELP_PARTIAL_SHELVESET_APPLY ==
5045The '^partial ^shelveset ^apply' command restores the contents of a stored shelveset.
5046
5047Remarks:
5048
5049 Comparison methods:
5050 ^ignoreeol Ignores end of line differences.
5051 ^ignorewhitespaces Ignores whitespace differences.
5052 ^ignoreeolandwhitespaces Ignores end of line and whitespace differences.
5053 ^recognizeall Detects end of line and whitespace differences.
5054
5055Examples:
5056
5057 cm ^partial ^shelveset ^apply ^sh:3
5058 (Applies a stored shelve.)
5059
5060== CMD_DESCRIPTION_PARTIAL_SHELVESET_DELETE ==
5061Deletes a shelveset.
5062
5063== CMD_USAGE_PARTIAL_SHELVESET_DELETE ==
5064Usage:
5065
5066 cm ^partial ^shelveset ^delete | ^rm <sh_spec>
5067
5068Options:
5069
5070 sh_spec Shelveset specification. (Use 'cm ^help ^objectspec' to
5071 learn more about shelveset specs.)
5072
5073== CMD_HELP_PARTIAL_SHELVESET_DELETE ==
5074The '^partial ^shelveset ^delete' command deletes a shelveset.
5075
5076Examples:
5077
5078 cm ^partial ^shelveset ^delete ^sh:3
5079 (Removes a stored shelveset.)
5080
5081
5082== CMD_DESCRIPTION_PARTIAL_SWITCH ==
5083Sets a branch as the working branch.
5084
5085== CMD_USAGE_PARTIAL_SWITCH ==
5086Usage:
5087
5088 cm ^switch <branch_spec> [--^report | --^silent] [--^workspace=<path>]
5089 [--^noinput]
5090 (Sets the working branch and updates the workspace.)
5091
5092 cm ^switch <branch_spec> --^configure <+|-path>[ ...] [--^silent]
5093 [--^ignorefailed] [--^ignorecase] [--^workspace=<path>]
5094 (Sets the working branch and runs a workspace configuration like the 'cm
5095 ^partial ^configure' command does.)
5096
5097Options:
5098
5099 --^silent Does not show any output.
5100 --^report Prints a list of the applied changes when the command
5101 is finished. Using '--^silent' will override this setting.
5102 This option only works when the '--^configure' option
5103 is not specified.
5104 --^configure Configures (loads / unloads items) the workspace
5105 after updating the working branch. Check 'cm ^partial
5106 ^configure --^help' to learn how to specify the paths
5107 to configure.
5108 --^ignorefailed Skips all errors during the configuration process.
5109 Incorrect paths will not cause the command to stop.
5110 --^ignorecase Ignores casing on the paths. With this flag, option
5111 '--^configure' works for "/Data/Textures" even if the user
5112 writes "/data/teXtures".
5113 --^noinput Skips the interactive question to continue the
5114 operation shelving the pending changes.
5115 --^workspace=path Path where the workspace is located.
5116 branch_spec Branch specification. (Use 'cm ^help ^objectspec' to learn
5117 more about branch specs.)
5118 path Paths to be loaded or unloaded. Use double quotes (" ")
5119 to specify paths containing spaces. Use a whitespace to
5120 separate paths. Paths must start with "/".
5121
5122== CMD_HELP_PARTIAL_SWITCH ==
5123Remarks:
5124
5125 This command allows users to update the working branch. After updating the
5126 branch, the command updates the workspace to the new branch as the
5127 'cm ^partial ^update' command would do. However, if the '--^configure' option is
5128 specified, the command allows to configure the workspace using the new
5129 branch configuration as the 'cm ^partial ^configure' command would do.
5130
5131Examples:
5132
5133 cm ^switch ^br:/main/task
5134 (Sets /main/task as working branch and updates the workspace.)
5135
5136 cm ^switch ^br:/main/task --^configure +/art/images
5137 (Sets /main/task as working branch and configures the workspace to
5138 load the /art/images folder.)
5139
5140== CMD_DESCRIPTION_PARTIAL_UNDOCHECKOUT ==
5141Undoes the checkout on an item.
5142
5143== CMD_USAGE_PARTIAL_UNDOCHECKOUT ==
5144Usage:
5145
5146 cm ^partial ^undocheckout | ^unco <item_path>[ ...] [--^silent]
5147 [--^keepchanges | -^k]
5148
5149Options:
5150
5151 --^silent Does not show any output.
5152 --^keepchanges (-^k) Undoes the checkout and preserves the local changes.
5153 Sample: undo the checkout of a file leave it as locally
5154 changed with the same content on disk that it was.
5155 This option cannot be used with dynamic workspaces.
5156 item_path Items to apply the operation. Use double quotes (" ")
5157 to specify paths containing spaces. Use a whitespace to
5158 separate paths. Use . to apply the operation to current
5159 directory.
5160
5161== CMD_HELP_PARTIAL_UNDOCHECKOUT ==
5162Remarks:
5163
5164 If an item is checked-out and you do not want to checkin it, you can undo
5165 the checkout using this command. Both files and folders can be unchecked
5166 out. The item will be updated to the state it had before checking it out.
5167
5168 Requirements:
5169 - The item must be under source code control.
5170 - The item must be checked out.
5171
5172Examples:
5173
5174 cm ^partial ^undocheckout .
5175 (Undoes checkouts in the current directory.)
5176
5177 cm ^partial ^undocheckout pic1.png pic2.png
5178 cm ^unco c:\workspace\design01.png
5179 (Undoes checkouts of the selected files.)
5180
5181== CMD_DESCRIPTION_PARTIAL_UNDO ==
5182Undoes changes in a workspace.
5183
5184== CMD_USAGE_PARTIAL_UNDO ==
5185Usage:
5186
5187 cm ^partial ^undo [<path>[ ...]] [--^symlink] [-^r | --^recursive]
5188 [<filter>[ ...]]
5189 [--^silent | --^machinereadable [--^startlineseparator=<sep>]
5190 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]]
5191
5192Options:
5193
5194 --^symlink Applies the undo operation to the symlink and not
5195 to the target.
5196 -^r | --^recursive Executes the undo recursively.
5197 --^silent Does not show any output.
5198 --^machinereadable Outputs the result in an easy-to-parse format.
5199 --^startlineseparator Used with the '--^machinereadable' flag, specifies
5200 how the lines should start.
5201 --^endlineseparator Used with the '--^machinereadable' flag, specifies
5202 how the lines should end.
5203 --^fieldseparator Used with the '--^machinereadable' flag, specifies
5204 how the fields should be separated.
5205 --^checkedout Select checked-out files and directories.
5206 --^unchanged Select files whose content is unchanged.
5207 --^changed Select locally changed or checked-out files and
5208 directories.
5209 --^deleted Select deleted files and directories.
5210 --^moved Select moved files and directories.
5211 --^added Select added files and directories.
5212 path Path of the files or directories to apply the
5213 operation to. Use double quotes (" ") to specify
5214 paths containing spaces. Use a whitespace to
5215 separate paths.
5216 If no path is specified, by default the undo
5217 operation will take all of the files in the current
5218 directory.
5219 filter Applies the specified filter or filters to the given
5220 paths. Use a whitespace to separate filters. See the
5221 Filters section for more information.
5222
5223== CMD_HELP_PARTIAL_UNDO ==
5224Remarks:
5225
5226 The ^undo command is dangerous - it undoes work in an irreversible way.
5227 Once the ^undo has finished, it is not possible to recover the previous state
5228 of the files and directories affected by it. If no path is specified
5229 in the arguments, by default it will undo every change in the current
5230 directory, but not recursively.
5231
5232 These are equivalent when executed from the /src directory:
5233
5234- src
5235 - file.txt
5236 - code.cs
5237 - /test
5238 - test_a.py
5239 - test_b.py
5240
5241 cm ^partial ^undo
5242 cm ^partial ^undo *
5243 cm ^partial ^undo file.txt code.cs /test
5244 cm ^partial ^undo .
5245 cm ^partial ^undo /src file.txt code.cs
5246
5247 If you want the operation to be recursive, you must specify the '-^r' flag.
5248
5249 To undo all of the changes below a directory (including changes affecting
5250 the directory itself):
5251
5252 cm ^partial ^undo dirpath -^r
5253
5254 If dirpath is a workspace path, every change in the workspace will be
5255 undone.
5256
5257Filters:
5258
5259 If no flag is specified, by default, all changes are undone, but the
5260 paths can be filtered using one or more of the flags below.
5261 If a file or directory matches one or more of the specified kinds of change,
5262 all of the changes on said file or directory will be undone.
5263 For example, if you specify both '--^checkedout' and '--^moved', if a file is
5264 both checkedout and moved, both changes will be undone.
5265
5266Examples:
5267
5268 cm ^partial ^undo . -^r
5269 (Undoes all changes in the current directory recursively. If executed
5270 from the workspace's root, undoes all changes in the entire workspace.)
5271
5272 cm ^partial ^co file.txt
5273 cm ^partial ^undo file.txt
5274 (Undoes the checkout on file.txt.)
5275
5276 ^echo ^content >> file.txt
5277 cm ^partial ^undo file.txt
5278 (Undoes the local change to file.txt.)
5279
5280 cm ^partial ^undo src
5281 (Undoes changes to the src directory and its files.)
5282
5283 cm ^partial ^undo src/*
5284 (Undo changes in every file and directory contained in src, without
5285 affecting src.)
5286
5287 cm ^partial ^undo *.cs
5288 (Undo changes to every file or directory that matches *.cs in the current
5289 directory.)
5290
5291 cm ^partial ^undo *.cs -^r
5292 (Undoes changes on every file or directory that matches *.cs in the current
5293 directory and every directory below it.)
5294
5295 cm ^partial ^co file1.txt file2.txt
5296 ^echo ^content >> file1.txt
5297 cm ^partial ^undo --^unchanged
5298 (Undoes the checkout of unchanged file2.txt, ignoring locally changed
5299 file1.txt.)
5300
5301 ^echo ^content >> file1.txt
5302 ^echo ^content >> file2.txt
5303 cm ^partial ^co file1.txt
5304 cm ^partial ^undo --^checkedout
5305 (Undoes the changes in checked-out file file1.txt, ignoring file2.txt as it is
5306 not checked-out.)
5307
5308 cm ^partial ^add file.txt
5309 cm ^partial ^undo file.txt
5310 (Undoes the add of file.txt, making it once again a private file.)
5311
5312 ^rm file1.txt
5313 ^echo ^content >> file2.txt
5314 cm ^partial ^add file3.txt
5315 cm ^partial ^undo --^deleted --^added *
5316 (Undoes the file1.txt delete and file3.txt add, ignoring the file2.txt
5317 change.)
5318
5319== CMD_DESCRIPTION_PARTIAL_UPDATE ==
5320Updates the partial workspace and downloads latest changes.
5321
5322== CMD_USAGE_PARTIAL_UPDATE ==
5323Usage:
5324
5325 cm ^partial ^update [<item_path>[ ...]] [--^changeset=<number>]
5326 [--^silent | --^report] [--^dontmerge]
5327 [--^xml[=<output_file>]] [--^encoding=<name>]
5328 [--^machinereadable [--^startlineseparator=<sep>]
5329 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]]
5330
5331Options:
5332
5333 --^changeset Updates the partial workspace to a specific changeset.
5334 Using '--^incoming' will override this setting.
5335 --^silent No output is shown unless an error happens.
5336 --^xml Prints the output in XML format to the standard
5337 output. It is possible to specify an output file.
5338 --^encoding Used with the '--xml' option, specifies the encoding to
5339 use in the XML output, i.e.: utf-8.
5340 See the MSDN documentation at
5341 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
5342 to get the table of supported encodings and its format,
5343 (at the end of the page, in the "Name" column).
5344 By default "utf-8" will be assigned.
5345 --^report Prints a list of the applied changes when the command
5346 is finished. Using '--^silent' will override this setting.
5347 --^dontmerge Does not merge the file conflicts, it just skips them.
5348 The other changes are properly applied. This option can
5349 be useful for automation to avoid user interaction.
5350 --^incoming Runs the Incoming Changes operation applying only the
5351 local changes involved in the operation.
5352 --^machinereadable Outputs the result in an easy-to-parse format.
5353 --^startlineseparator Used with the '--^machinereadable' flag,
5354 specifies how the lines should start.
5355 --^endlineseparator Used with the '--^machinereadable' flag,
5356 specifies how the lines should end.
5357 --^fieldseparator Used with the '--^machinereadable' flag,
5358 specifies how the fields should be separated.
5359 item_path Items to be updated. Use double quotes (" ") to specify
5360 paths containing spaces. Use a whitespace to separate
5361 paths. Use . to apply update to current directory.
5362 If no path is specified, then the current partial
5363 workspace is fully updated.
5364
5365== CMD_HELP_PARTIAL_UPDATE ==
5366Remarks:
5367
5368 The '^partial ^update' command updates the out-of-date files.
5369
5370 The command assumes recursive operation.
5371
5372 If all the specified paths are files inside the same Xlink when using the
5373 '--^changeset' option, then the versions to download are searched in the
5374 specified changeset of the Xlinked repository.
5375
5376Examples:
5377
5378 cm ^partial ^update
5379 (Updates all in the current partial workspace.)
5380
5381 cm ^partial ^update .
5382 (Updates all current directory children items.)
5383
5384 cm ^partial ^update backgroud-blue.png
5385 (Updates 'backgroud-blue.png' item.)
5386
5387 cm ^partial ^update soft_black.png soft-grey.png
5388 (Updates 'soft_black.png' and 'soft-grey.png' items.)
5389
5390 cm ^partial ^update src --^report
5391 (Updates all 'src' directory children items, printing the applied changes
5392 list at the end.)
5393
5394 cm ^partial ^update src --^changeset=4
5395 (Updates all 'src' directory children items to the content they loaded
5396 in the changeset 4.)
5397
5398 cm ^partial ^update xlink/first.png --^changeset=4
5399 (Updates 'xlink/first.png' item to the content it loaded in the changeset 4
5400 of the Xlinked repository.)
5401
5402 cm ^partial ^update . --^changeset=2 --^xml=output.xml 2>errors.txt
5403 (Updates all current directory children items to the content they loaded
5404 in the changeset 2, reporting the result in XML format. The output is stored
5405 in a file named 'output.xml' and errors are redirected to the file 'errors.txt'.
5406 NOTE: redirection syntax rely on the shell.)
5407
5408== CMD_DESCRIPTION_PATCH ==
5409Generates a patch file from a spec or applies a generated patch to the current
5410workspace.
5411
5412== CMD_USAGE_PATCH ==
5413Usage:
5414
5415 cm ^patch <source_spec> [<source_spec>] [--^output=<output_file>]
5416 [--^tool=<path_to_diff>]
5417 (Generates a patch file that contains the differences of a branch,
5418 a changeset, or the differences between changesets. It also tracks
5419 differences of text and binary files.)
5420
5421 cm ^patch --^apply <patch_file> [--^tool=<path_to_patch>]
5422 (Allows to apply the contents of a generated patch file in the current
5423 workspace.)
5424
5425Options:
5426
5427 --^output Sets the output file of the patch command.
5428 --^tool Sets the application to use (diff or patch).
5429 source_spec Full spec of a changeset or a branch. (Use
5430 'cm ^help ^objectspec' to learn more about specs.)
5431 output_file File to save the patch content. It no file is specified,
5432 the patch content will be printed on standard output.
5433 patch_file Patch file to apply in the current workspace.
5434
5435== CMD_HELP_PATCH ==
5436Limitations:
5437
5438 If the output patch file already exists, the command will not overwrite it.
5439
5440 When applying a patch, the command will not apply changes to modified files
5441 if they are not present on disk.
5442
5443Important:
5444
5445 This command requires Diff and Patch tools, publicly available at
5446 http://gnuwin32.sourceforge.net/packages/patch.htm and
5447 http://gnuwin32.sourceforge.net/packages/diffutils.htm
5448
5449 Once installed, it's recommended to add their location to the PATH
5450 environment variable.
5451
5452Examples:
5453
5454 cm ^patch ^cs:4@default@localhost:8084
5455 (Prints on console the differences of cset 4 in unified format.)
5456
5457 cm ^patch ^br:/main --^output=file.patch
5458 (Generates a patch file with the differences of branch "main".)
5459
5460 cm ^patch ^br:/main --^output=file.patch --^tool=C:\gnu\diff.exe
5461 (Same as above, using a custom exe.)
5462
5463 cm ^patch ^cs:2@default ^cs:4@default
5464 (Prints on console the differences between csets 2 and 4 in unified format.)
5465
5466 cm ^patch --^apply file.patch --^tool=C:\gnu\patch.exe
5467 (Applies the patch in 'file.patch' to the local workspace with a custom exe.)
5468
5469== CMD_DESCRIPTION_PROFILE ==
5470Allows the user to manage server connection profiles.
5471
5472== CMD_USAGE_PROFILE ==
5473Usage:
5474
5475 cm ^profile <command> [options]
5476
5477Commands:
5478
5479 - ^list | ^ls
5480 - ^create | ^mk
5481 - ^delete | ^rm
5482
5483 To get more information about each command run:
5484 cm ^profile <command> --^usage
5485 cm ^profile <command> --^help
5486
5487== CMD_HELP_PROFILE ==
5488Examples:
5489
5490 cm ^profile
5491 cm ^profile ^list
5492 cm ^profile ^create
5493 cm ^profile ^delete 1
5494
5495== CMD_DESCRIPTION_PROFILE_LIST ==
5496Lists the server connection profiles configured on the client.
5497
5498== CMD_USAGE_PROFILE_LIST ==
5499Usage:
5500
5501 cm ^profile [^list | ^ls] [--^format=<str_format>]
5502
5503Options:
5504
5505 --^format Retrieves the output message in a specific format.
5506 See Remarks for more info.
5507
5508== CMD_HELP_PROFILE_LIST ==
5509Remarks:
5510
5511 Output format parameters (--^format option):
5512
5513 This command accepts a format string to show the output.
5514
5515 The output parameters of this command are the following:
5516 {^index} | {0} Profile index in the profiles list
5517 {^name} | {1} Profile name
5518 {^server} | {2} Profile server
5519 {^user} | {3} Profile user
5520 {^workingmode} | {4} Profile working mode
5521 {^securityconfig} | {5} Profile security config
5522 {^tab} Inserts a tab space
5523 {^newline} Inserts a new line
5524
5525Examples:
5526
5527 cm ^profile
5528 (Lists all the profiles using the default format)
5529
5530 cm ^profile --^format="{index,2} {server,-20}"
5531 (Writes the profile index in 2 spaces, aligned to the right, then two blanks,
5532 and then the repository server in 20 spaces, aligned to the left.)
5533
5534 cm ^profile --^format="{0,2} {2,-20}"
5535 (Writes the same output as the previous example.)
5536
5537== CMD_DESCRIPTION_PROFILE_CREATE ==
5538Creates a new server connection profile.
5539
5540== CMD_USAGE_PROFILE_CREATE ==
5541Usage:
5542
5543 cm ^profile [^create | ^mk]
5544 (Creates a new profile interactively.)
5545
5546 cm ^profile [^create | ^mk] --^server=<server_addr> --^username=<username>
5547 --^password=<password> --^workingmode=<workingmode>
5548 (Creates a new server connection profile using a user/password
5549 authentication mode.)
5550
5551 cm ^profile [^create | ^mk] --^server=<server_addr> --^username=<username>
5552 --^token=<token> --^workingmode=SSOWorkingMode
5553 (Creates a new server connection profile using Single Sign On authentication
5554 mode.)
5555
5556Options:
5557
5558 --^server Creates the connection profile for the specified server.
5559 --^username The username that should be used in the connection profile
5560 --^password The plain-text password that should be used in the connection
5561 profile. This option is only valid for authentication modes
5562 that are based on a user and password.
5563 --^token The plain-text token that should be used in the connection
5564 profile. This option is only valid for authentication modes
5565 that are based on a token (SSOWorkingMode for now).
5566 --^workingmode The target server's authentication mode.
5567 Available users/security working modes:
5568 ^LDAPWorkingMode (LDAP)
5569 ^UPWorkingMode (User and password)
5570 ^SSOWorkingMode (Single Sign On)
5571
5572== CMD_HELP_PROFILE_CREATE ==
5573Remarks:
5574
5575 When using this command interactively (without options), the client will try
5576 to connect to the server to obtain the working mode and check the credentials.
5577 This guarantees that the resulting profile is correct.
5578
5579 When specifying the options, the client will generate the connection profile
5580 without connecting to the server. This is useful when creating connection
5581 profiles for automation purposes.
5582
5583Examples:
5584
5585 cm ^profile ^create
5586 (Creates a new connection profile interactively.)
5587
5588 cm ^profile ^create --^server=plastic.domain.com:8087 --^username=sergio
5589 --^password=thisissupersecret --^workingmode=LDAPWorkingMode
5590 (Creates a new connection profile to connect to 'plastic.domain.com:8087'
5591 using user 'sergio' and password 'thisissupersecret' through LDAP working mode.)
5592
5593 cm ^profile ^create --^server=plastic.domain.com:8087 --^username=sergio
5594 --^token="TOKENAMoKJ9iAA(...)12fssoprov:unityid" --workingmode=^SSOWorkingMode
5595 (Creates a new connection profile to connect to 'plastic.domain.com:8087'
5596 using user 'sergio' and the specified token through Single Sign On working mode.)
5597
5598== CMD_DESCRIPTION_PROFILE_DELETE ==
5599Deletes a server connection profile from the client's configuration.
5600
5601== CMD_USAGE_PROFILE_DELETE ==
5602Usage:
5603
5604 cm ^profile ^delete | ^rm <index | name>
5605 cm ^profile ^delete | ^rm --^index=<index>
5606 cm ^profile ^delete | ^rm --^name=<name>
5607
5608Options:
5609
5610 --^index Used to disambiguate in case a profile has a name that is a number
5611 --^name Used to disambiguate in case a profile has a name that is a number
5612 index Profile index in the profiles list.
5613 name Profile name.
5614
5615== CMD_HELP_PROFILE_DELETE ==
5616Remarks:
5617
5618 Deletes a server connection profile from the client's configuration.
5619 It works both with the profile index and the profile name.
5620 The 'cm ^profile ^list' command does not show profile names by default,
5621 check 'cm ^profile ^list --help' to check how to output profile's name.
5622
5623Example:
5624
5625 cm ^profile ^delete 1
5626 (Removes the profile at index 1.)
5627
5628 cm ^profile ^delete 192.168.0.2:8087_UPWorkingMode
5629 (Removes the profile with name '192.168.0.2:8087_UPWorkingMode'.)
5630
5631 cm ^profile ^delete --name=12
5632 (Removes the profile with name '12'.)
5633
5634== CMD_DESCRIPTION_QUERY ==
5635Executes SQL queries. Requires SQL storage.
5636
5637== CMD_USAGE_QUERY ==
5638Usage:
5639
5640 cm ^query <sql_command> [--^outputfile=<output_file>]
5641 [--^solveuser=<column_name>[,...]]
5642 [--^solvepath=<column_name>[,...]]
5643 [--^columnwidth=<value>] [--^nocolumnname]
5644 [--^columnseparator=<sep>] [--^repository=<name>]
5645
5646Options:
5647
5648 --^outputfile Writes the result in an output file.
5649 --^solveuser Sets the specified columns as username columns. The
5650 query interpreter will assume that data of these columns
5651 will be users, and will try to solve them.
5652 --^solvepath Sets the specified columns as itemid column. The query
5653 interpreter will try to solve item id to filesystem
5654 paths.
5655 --^columnwidth Specifies the width of each column to format the output.
5656 --^nocolumnname Does not print column name.
5657 --^columnseparator Uses char as column separator instead of a tab (\t).
5658 --^repository Repository to query.
5659 sql_command The sql query to be executed.
5660
5661== CMD_HELP_QUERY ==
5662Remarks:
5663
5664 This command allows users to execute SQL queries in the server database.
5665
5666 In order to write SQL queries, use these two pre-defined functions to manage
5667 users and paths:
5668 - '^SolveUser(<username>)' that resolves a username into Unity VCS format.
5669 - '^SolvePath(<path>)' that resolves a disk path into an item id.
5670
5671 Also, you can use options to show query results in a human readable form.
5672
5673 You can use the options '--^solveuser=<column_name>' and
5674 '--^solvepath=<column_name>' to specify columns that query interpreter
5675 must convert to a legible text. You can specify more than one column name,
5676 comma separated.
5677
5678Examples:
5679
5680 cm ^query "^SELECT * ^FROM ^revision" --^columnwidth=25 --^repository=reptest
5681 (Retrieves data from 'revision' table from repository 'reptest'.)
5682
5683 cm ^query "^SELECT b.^sname ^as br_name, o.^dtimestamp ^as date ^from ^branch b, \
5684 ^object o, ^seid s ^where b.^iobjid=o.^iobjid ^and o.^fidowner=s.^iseidid ^and \
5685 s.^scode='^SolveUser(john)'" --^outputfile=query.txt
5686 (Outputs into a file the branches with owner 'john'.)
5687
5688 cm ^query "^select r.^iobjid, r.^fiditem ^as path, s.^scode ^as username ^FROM \
5689 ^revision r, ^object o, ^seid s ^WHERE r.^iobjid=o.^iobjid ^and \
5690 o.^fidowner=s.^iseidid ^and o.^dtimestamp>04/25/2014" \
5691 --^solveuser=username --^solvepath=path --^repository=reptest@server2:9095
5692 (Retrieves selected data from selected repository.)
5693
5694 cm ^query "^SELECT * ^FROM ^revision ^WHERE ^fiditem=^SolvePath(c:\mywkpath\info)"
5695 (Retrieves all revision data of path 'info'.)
5696
5697== CMD_DESCRIPTION_ATTRIBUTE_DELETE ==
5698Deletes one or more attributes.
5699
5700== CMD_USAGE_ATTRIBUTE_DELETE ==
5701Usage:
5702
5703 cm ^attribute | ^att ^delete | ^rm <att_spec>[ ...]
5704
5705Options:
5706 att_spec Attributes to delete. Use a whitespace to separate
5707 attributes.
5708 (Use 'cm ^help ^objectspec' to learn more about attribute
5709 specs.)
5710
5711== CMD_HELP_ATTRIBUTE_DELETE ==
5712Remarks:
5713
5714 This command removes one or more attributes.
5715
5716Examples:
5717
5718 cm ^attribute ^delete ^att:status
5719 (Deletes the attribute 'status'.)
5720
5721 cm ^att ^rm status ^att:integrated@reptest@server2:8084
5722 (Deletes the attributes 'status' and 'integrated'.)
5723
5724== CMD_DESCRIPTION_ATTRIBUTE_UNSET ==
5725Unsets an object's attribute.
5726
5727== CMD_USAGE_ATTRIBUTE_UNSET ==
5728Usage:
5729
5730 cm ^attribute | ^att ^unset <att_spec> <object_spec>
5731
5732 att_spec Attribute specification. (Use 'cm ^help ^objectspec' to
5733 learn more about attribute specs.)
5734 object_spec Specification of the object to remove the attribute
5735 from. Attributes can be set on: branches, changesets,
5736 shelvesets, labels, items, and revisions.
5737 (Use 'cm ^help ^objectspec' to learn more about specs.)
5738
5739== CMD_HELP_ATTRIBUTE_UNSET ==
5740Remarks:
5741
5742 The command unsets an attribute that was previously set on an object. It
5743 does not delete the attribute object itself.
5744
5745Examples:
5746
5747 cm ^attribute ^unset ^att:status ^br:/main/SCM105
5748 (Removes attribute realization 'status' from branch 'main/SCM105'.)
5749
5750 cm ^att ^unset ^att:integrated@reptest@localhost:8084 ^cs:25@reptest@localhost:8084
5751 (Removes attribute realization 'integrated' from changeset 25, all in
5752 repository 'reptest'.)
5753
5754== CMD_DESCRIPTION_ATTRIBUTE_RENAME ==
5755Renames an attribute.
5756
5757== CMD_USAGE_ATTRIBUTE_RENAME ==
5758Usage:
5759
5760 cm ^attribute | ^att ^rename <att_spec> <new_name>
5761
5762 att_spec Attribute to rename. (Use 'cm ^help ^objectspec' to learn
5763 more about attribute specs.)
5764 new_name New name for the attribute.
5765
5766== CMD_HELP_ATTRIBUTE_RENAME ==
5767Remarks:
5768
5769 This command renames an attribute.
5770
5771Examples:
5772
5773 cm ^attribute ^rename ^att:status state
5774 (Renames the attribute 'status' to 'state'.)
5775
5776== CMD_DESCRIPTION_ATTRIBUTE_EDIT ==
5777Edits the comment of an attribute.
5778
5779== CMD_USAGE_ATTRIBUTE_EDIT ==
5780Usage:
5781
5782 cm ^attribute | ^att ^edit <att_spec> <new_comment>
5783
5784Options:
5785 att_spec Attribute to change its comment. (Use 'cm ^help ^objectspec'
5786 to learn more about attribute specs.)
5787 new_comment New comment for the attribute. You can also specify a
5788 default list of values for the attribute. See Remarks for
5789 more info.
5790
5791== CMD_HELP_ATTRIBUTE_EDIT ==
5792Remarks:
5793
5794 This command changes the comment of an attribute.
5795
5796 To specify a default list of values for the attribute, you just need to
5797 include a line like the following in the attribute comment:
5798 'default: value_one, "value two", value3, "Final value"'.
5799
5800Examples:
5801
5802 cm ^attribute ^edit ^att:status "The status of a branch in the CI pipeline."
5803 (Edits the comment of the attribute 'status'.)
5804
5805 cm ^attribute ^edit ^att:status "Status of a branch. default: open, resolved, reviewed"
5806 (Edits the comment of the attribute 'status'. And also specifies a list of
5807 values. So when you set the attribute 'status' to an object, you can select
5808 one of the following values: "open", "resolved", or "reviewed".)
5809
5810== CMD_DESCRIPTION_PULL ==
5811Pulls a branch from another repo.
5812
5813== CMD_USAGE_PULL ==
5814Usage:
5815
5816 cm ^pull <src_br_spec> <dst_rep_spec>
5817 [--^preview] [--^nodata] [TranslateOptions]
5818 [--^user=<usr_name> [--^password=<pwd>] | AuthOptions]
5819 (Direct server-to-server replication. Pulls a branch from a repository.)
5820
5821 cm ^pull <dst_rep_spec> --^package=<pack_file> [AuthOptions]
5822 (Package based replication. Imports the package in the destination repository.)
5823
5824 cm ^pull ^hydrate <dst_br_spec> [<src_rep_spec>]
5825 [--^user=<usr_name> [--^password=<pwd>] | AuthOptions]
5826 (Introduces the missing data for all the changesets of a branch previously
5827 replicated with '--^nodata'. If a repo to obtain the data is not specified,
5828 Unity VCS tries to use the "replication source" (origin of the replicated
5829 branch)).
5830
5831 cm ^pull ^hydrate <dst_cs_spec> [<src_rep_spec>]
5832 [--^user=<usr_name> [--^password=<pwd>] | AuthOptions]
5833 (Introduces the missing data for a changeset previously replicated with
5834 '--^nodata'. If a repo to obtain the data is not specified, Unity VCS tries
5835 to use the "replication source").
5836
5837Options:
5838
5839 --^preview Gives information about what changes will be pulled but
5840 no changes are actually performed. This option is useful
5841 to check the data that will be transferred before
5842 replicating changes.
5843 --^nodata Replicates the branch changes without replicating the
5844 data. This option is not allowed with package
5845 replication.
5846 --^user, --^password Credentials to use if the authentication mode is
5847 different in source and destination and there is not a
5848 profile to authenticate to destination.
5849 --^package Specifies the previously created package file to import
5850 for package based replication. Useful to move data between
5851 servers when there is no direct network connection. Refer to
5852 'cm ^push' to create a package file.
5853 src_br_spec The branch to pull from a remote repository.
5854 (Use 'cm ^help ^objectspec' to learn more about branch specs.)
5855 dst_br_spec The branch to hydrate.
5856 (Use 'cm ^help ^objectspec' to learn more about branch specs.)
5857 dst_cs_spec The changeset to hydrate.
5858 (Use 'cm ^help ^objectspec' to learn more about changeset specs.)
5859 dst_rep_spec The destination repository.
5860 (Use 'cm ^help ^objectspec' to learn more about repository specs.)
5861 TranslateOptions See the Translate options section for more information.
5862 AuthOptions See the Authentication options section for more information.
5863
5864Translate options:
5865 Mode:
5866
5867 --^trmode=(^copy|^name|^table --^trtable=<translation_table_file>)
5868 The source and destination repositories may use different authentication
5869 modes. The '--^trmode' option specifies how to translate the user names from
5870 the source to the destination. The '--^trmode' must be one of the following
5871 values:
5872 ^copy (Default). Means that the user identifiers will be just copied.
5873 ^name The user identifiers will be matched by name.
5874 ^table Uses a translation table specified in the option '--^trtable'
5875 (see below).
5876
5877 Specifics if mode is set to "table":
5878
5879 --^trtable=<translation_table_file>
5880 If the translation mode is 'table', a translation table is a file
5881 containing lines in the form <oldname;newname> (one per line). When the
5882 branch is written to the destination repository, the objects created by
5883 a user identified by "oldname" in the source repository will be set
5884 to the user with "newname" on the destination.
5885
5886Authentication options:
5887
5888 Authentication data can be specified using one of the two following modes:
5889 - Using authentication parameters.
5890 - Using an authentication file.
5891
5892
5893 Using authentication parameters:
5894
5895 --^authmode=<mode> --^authdata=<data>
5896
5897 Where --^authmode can take one of the following values
5898
5899 - ^NameWorkingMode
5900 - ^LDAPWorkingMode
5901 - ^ADWorkingMode
5902 - ^UPWorkingMode
5903
5904 Examples:
5905 (^LDAPWorkingMode) --^authdata=::0:dave:fPBea2rPsQaagEW3pKNveA
5906 (^UPWorkingMode) --^authdata=dave:fPBea2rPsQaagEW3pKNveA==
5907
5908 The '--^authdata' line is the content of the <^SecurityConfig> entry
5909 in the client.conf file and the profiles.conf file. The profiles.conf
5910 file can be easily generated from the Unity VCS GUI in the replication
5911 profiles tab under Preferences.
5912
5913 If you are using ^UPWorkingMode, you can simply specify:
5914
5915 --^authmode=^UPWorkingMode --^user=<user> --^password=<psw>
5916
5917 Using an authentication file:
5918
5919 It's possible to have a different file for each server you connect to,
5920 with the credentials for that server and --^authfile=<authentication_file>
5921 where the authentication_file must be formed by the following 2 lines:
5922
5923 1) mode, as described in '--^authmode'
5924 2) authentication data, as described in '--^authdata'
5925
5926== CMD_HELP_PULL ==
5927Remarks:
5928
5929 The '^pull' command is able to replicate branches (along with their
5930 changesets) between a source repository and a destination repository.
5931 The repositories can be located at different servers.
5932
5933 There are two replication operations: '^push' and '^pull'.
5934
5935 A '^pull' operation means that the replication operation will demand data
5936 from the source repository to be stored into the destination repository.
5937 The client will connect to the destination repository and, from that host,
5938 it will establish a connection to the source repository to retrieve the
5939 targeted data. During pull it is the destination server which will be
5940 connected to the source.
5941
5942 Although in a typical distributed scenario a developer pushes data from his
5943 local server to the main server, the developer might want to pull the latest
5944 repository updates from the main server, too.
5945
5946 Replication can resolve situations where concurrent changes have been made
5947 on the same branch on two replicated repositories:
5948
5949 - Push: If you try to push your data to a repository having newer changes
5950 than those you are sending, the system will ask you to pull the latest
5951 changes, resolve the merge operation and, finally, try to push again.
5952 - Pull: Whenever you pull changesets from a remote branch, they will be
5953 correctly linked to their parent changesets. If the changeset you pulled
5954 is not a child of the last changeset in the branch, then a multi-headed
5955 scenario will appear. The branch will have more than one 'head', or last
5956 changeset on the branch. You will need to merge the two 'heads' before
5957 being able to push again.
5958
5959 Pull can work in two modes:
5960
5961 1) Direct communication between servers: The destination server will fetch
5962 the data from the source server, automatically synchronizing data for
5963 the specified branch. It requires the user running the command to be
5964 authenticated by the remote server, either using the default authentication
5965 in the client.conf file, or specifiying the '--^authmode' and '--^authdata'
5966 modifiers, or '--^authmode' and '--^user' and '--^password' if the authentication
5967 mode is ^UPWorkingMode.
5968 2) Import a previously generated package with push and the '--^package' option.
5969 This mode requires using a package file previously generated with the push
5970 command.
5971
5972 Keep in mind that pull replication works in an indirect way. When executed,
5973 the command asks the destination repository to connect to the source and
5974 obtain the selected branch.
5975
5976 However, this can be done directly by using the push command. This will make
5977 the command replicate the selected branch from source to destination.
5978
5979Examples:
5980
5981 cm ^pull ^br:/main@project1@remoteserver:8084 projectx@myserver:8084
5982 (Pulls the 'main' branch from 'remoteserver' to 'myserver'. In this case,
5983 both servers are configured with the same authentication mode.)
5984
5985 cm ^pull ^br:/main@project1@remoteserver:8084 projectx@myserver:8084 \
5986 --^authmode=^LDAPWorkingMode --^authdata=::0:dave:fPBea2rPsQaagEW3pKNveA
5987 (Pulls the same branch as before, but now the remote server is configured
5988 to authenticate users with Active Directory. For instance, I am connecting
5989 from a Linux machine to a Windows server configured to use Active Directory
5990 integrated mode. I will specify my Active Directory user and cyphered
5991 password and pass it as LDAP to the server.)
5992
5993 cm ^pull ^br:/main@project1@remoteserver:8084 projectx@myserver:8084 \
5994 --^authmode=^UPWorkingMode --^user=dave --^password=mysecret
5995 (Pulls the same branch, but now users are authenticated on the remote
5996 server, taking advantage of the user/password database included in
5997 Unity VCS.)
5998
5999 cm ^pull ^br:/main@project1@remoteserver:8084 projectx@myserver:8084 --^nodata
6000 (Replicates the 'main' branch from 'remoteserver' to 'myserver' without data.)
6001
6002 cm ^pull ^hydrate ^br:/main@projectx@myserver:8084 projectx@remoteserver:8084
6003 (Hydrates all the changesets in the 'main' branch obtaining the data from
6004 the remote server.)
6005
6006 cm ^pull ^hydrate ^cs:122169@projectx@myserver:8084 projectx@remoteserver:8084
6007 (Hydrates changeset 122169 in 'myserver' obtaining the data from the remote
6008 server.)
6009
6010== CMD_DESCRIPTION_PUSH ==
6011Pushes a branch to another repo.
6012
6013== CMD_USAGE_PUSH ==
6014Usage:
6015
6016 cm ^push <src_br_spec> <dst_rep_spec>
6017 [--^preview] [TranslateOptions]
6018 [--^user=<usr_name> [--^password=<pwd>] | AuthOptions]
6019 (Direct server-to-server replication. Pushes a branch from a repository.)
6020
6021 cm ^push <src_br_spec> --^package=<pack_file> [AuthOptions]
6022 (Package based replication. Creates a replication package in the source
6023 server with the selected branch.)
6024
6025Options:
6026
6027 --^preview Gives information about what changes will be pushed,
6028 but no changes are actually performed. This option is
6029 useful to check the data that will be transferred before
6030 replicating changes.
6031 --^package Specifies path for exporting replication package for
6032 package based replication.
6033 Useful to move data between servers when there is no
6034 direct network connection.
6035 --^user, --^password Credentials to use if the authentication mode is
6036 different in source and destination and there is not a
6037 profile to authenticate to destination.
6038 src_br_spec The branch to push to a remote repository.
6039 (Use 'cm ^help ^objectspec' to learn more about branch specs.)
6040 dst_rep_spec The destination repository.
6041 (Use 'cm ^help ^objectspec' to learn more about repository
6042 specs.)
6043 TranslateOptions See the Translate options section for more information.
6044 AuthOptions See the Authentication options section for more information.
6045
6046Translate options:
6047 Mode:
6048
6049 --^trmode=(^copy|^name|^table --^trtable=<translation_table_file>)
6050 The source and destination repositories may use different authentication
6051 modes. The '--^trmode' option specifies how to translate the user names from
6052 the source to the destination. The '--^trmode' must be one of the following
6053 values:
6054 ^copy (Default). Means that the user identifiers will be just copied.
6055 ^name The user identifiers will be matched by name.
6056 ^table Uses a translation table specified in the option '--^trtable'
6057 (see below).
6058
6059 Specifics if mode is set to "table":
6060
6061 --^trtable=<translation_table_file>
6062 If the translation mode is 'table', a translation table is a file
6063 containing lines in the form <oldname;newname> (one per line). When the
6064 branch is written to the destination repository, the objects created by
6065 a user identified by "oldname" in the source repository will be set
6066 to the user with "newname" on the destination.
6067
6068Authentication options:
6069
6070 Authentication data can be specified using one of the two following modes:
6071 - Using authentication parameters.
6072 - Using an authentication file.
6073
6074
6075 Using authentication parameters:
6076
6077 --^authmode=<mode> --^authdata=<data>
6078
6079 Where --^authmode can take one of the following values
6080
6081 - ^NameWorkingMode
6082 - ^LDAPWorkingMode
6083 - ^ADWorkingMode
6084 - ^UPWorkingMode
6085
6086 Examples:
6087 (^LDAPWorkingMode) --^authdata=::0:dave:fPBea2rPsQaagEW3pKNveA
6088 (^UPWorkingMode) --^authdata=dave:fPBea2rPsQaagEW3pKNveA==
6089
6090 The '--^authdata' line is the content of the <^SecurityConfig> entry
6091 in the client.conf file and the profiles.conf file. The profiles.conf
6092 file can be easily generated from the Unity VCS GUI in the replication
6093 profiles tab under Preferences.
6094
6095 If you are using ^UPWorkingMode, you can simply specify:
6096
6097 --^authmode=^UPWorkingMode --^user=<user> --^password=<psw>
6098
6099 Using an authentication file:
6100
6101 It's possible to have a different file for each server you connect to,
6102 with the credentials for that server and --^authfile=<authentication_file>
6103 where the authentication_file must be formed by the following 2 lines:
6104
6105 1) mode, as described in '--^authmode'
6106 2) authentication data, as described in '--^authdata'
6107
6108== CMD_HELP_PUSH ==
6109Remarks:
6110
6111 The '^push' command is able to replicate branches (along with their
6112 changesets) between a source repository and a destination repository.
6113 The repositories can be located at different servers.
6114
6115 There are two replication operations: '^push' and '^pull'.
6116
6117 A '^push' operation means that the replication operation will send data
6118 from the source repository to the destination repository. In this case,
6119 the client will connect to the source repository, getting the data to
6120 replicate, and then it will send it to the destination repository. While
6121 the former (source) must have connectivity to the destination, the latter
6122 (destination) will not connect itself to the source.
6123
6124 In a typical distributed scenario, a developer pushes data from his local
6125 server to the main server. Also, the developer might want to pull the latest
6126 repository updates from the main server, too.
6127
6128 Replication can resolve situations where concurrent changes have
6129 been made on the same branch on two replicated repositories.
6130
6131 - Push: If you try to push your data to a repository having newer changes
6132 than those you are sending, the system will ask you to pull the latest
6133 changes, resolve the merge operation and, finally, try to push again.
6134 - Pull: Whenever you pull changesets from a remote branch, they will be
6135 correctly linked to their parent changesets. If the changeset you pulled
6136 is not a child of the last changeset in the branch, then a multi-headed
6137 scenario will appear. The branch will have more than one 'head', or last
6138 changeset on the branch. You will need to merge the two 'heads' before
6139 being able to push again.
6140
6141 Push can work in two modes:
6142
6143 1) Direct communication between servers: The origin server will send
6144 the data to the destination server, automatically synchronizing data
6145 for the specified branch.
6146 2) Export package mode: The client will only connect to the source and
6147 generate a replication package obtaining both data and metadata for the
6148 specified branch. The '--^package' modifier will be used.
6149
6150 Both modes require the user running the command to be authenticated
6151 by the server, either using the default authentication in the client.conf
6152 file, or specifiying the '--^authmode' and '--^authdata' modifiers.
6153
6154 The ^push replication works in a direct way. When executed, the command
6155 will replicate the selected branch from source to destination, instead of
6156 asking the destination repository to connect to the source and obtain the
6157 selected branch (as the pull does).
6158
6159Examples:
6160
6161 cm ^push ^br:/main@project1@myserver:8084 projectx@remoteserver:8084
6162 (Replicates the 'main' branch from 'myserver' to 'remoteserver'. In this case,
6163 both servers are configured with the same authentication mode.)
6164
6165 cm ^push ^br:/main@project1@myserver:8084 projectx@remoteserver:8084 \
6166 --^authmode=^LDAPWorkingMode --^authdata=::0:dave:fPBea2rPsQaagEW3pKNveA
6167 (Replicates same branch as before, but now the remote server is configured
6168 to authenticate users with Active Directory. For instance, I am connecting
6169 from a Linux machine to a Windows server configured to use Active Directory
6170 integrated mode. I will specify my Active Directory user and cyphered
6171 password and pass it as LDAP to the server.)
6172
6173 cm ^push ^br:/main@project1@myserver:8084 projectx@remoteserver:8084 \
6174 --^authmode=^UPWorkingMode --^user=dave --^password=mysecret
6175 (Replicates the same branch, but now users are authenticated on the remote
6176 server, taking advantage of the user/password database included in
6177 Unity VCS.)
6178
6179== CMD_DESCRIPTION_CLONE ==
6180Clones a remote repository.
6181
6182== CMD_USAGE_CLONE ==
6183Usage:
6184
6185 cm ^clone <src_rep_spec> [<dst_rep_spec> | <dst_repserver_spec>]
6186 [--^user=<usr_name> [--^password=<pwd>] |
6187 [--^authmode=<mode> --^authdata=<data>] |
6188 [--^authfile=<authentication_file>]]
6189 [--^trmode=(^copy|^name|^table --^trtable=<translation_table_file>]
6190 (Direct repository-to-repository clone.)
6191
6192 cm ^clone <src_rep_spec> --^package=<pack_file>
6193 [--^user=<usr_name> [--^password=<pwd>] |
6194 [--^authmode=<mode> --^authdata=<data>] |
6195 [--^authfile=<authentication_file>]]
6196 [--^trmode=(^copy|^name|^table --^trtable=<translation_table_file>]
6197 (Clones to an intermediate package, that can be imported later using a
6198 pull into the destination repository.)
6199
6200Options:
6201
6202 --^user, --^password Credentials to use if the authentication mode is
6203 different in source and destination and there is not a
6204 profile to authenticate to destination.
6205 --^package Exports the specified repository to a package file,
6206 instead of a repository.
6207 Useful for moving data between servers when there is no
6208 direct network connection.
6209 The resulting package must be imported using the
6210 pull command.
6211 --^authmode Describes the authentication method used in the server.
6212 Admisible values: ^NameWorkingMode, ^LDAPWorkingMode,
6213 ^ADWorkingMode, ^UPWorkingMode.
6214 --^authdata Authentication information sent to the server. It holds
6215 the content of the <^SecurityConfig> entry in the
6216 client.conf file and the profiles.conf file. The
6217 profiles.conf file can be easily generated from the Unity
6218 VCS in the connection profiles tab under Preferences.
6219 --^authfile Allows to specify a path to a file with the credentials.
6220 --^trmode The source and destination repositories may use different
6221 authentication modes. The '--^trmode' option specifies
6222 how to translate the user names from the source to the
6223 destination. It must be one of the following values:
6224 ^copy: (Default.) Means that the user identifiers will
6225 be just copied; ^name: The user identifiers will be
6226 matched by name; ^table: Uses a translation table
6227 specified in the option '--^trtable'
6228 --^trtable If the translation mode is 'table', a translation table
6229 is a file containing lines in the form <oldname;newname>
6230 (one per line). When the branch is written to the
6231 destination repository, the objects created by a user
6232 identified by "oldname" in the source repository will
6233 be set to the user with "newname" on the destination.
6234 src_rep_spec Source repository of the clone operation.
6235 (Use 'cm ^help ^objectspec' to learn more about repository
6236 specs.)
6237 dst_rep_spec Destination repository of the clone operation. If it
6238 exists, it must be empty. If it does not exist, it will
6239 be created.
6240 If it is not specified, the command will use user's
6241 default repository server.
6242 (Use 'cm ^help ^objectspec' to learn more about repository
6243 specs.)
6244 dst_repserver_spec Destination repository server of the clone operation.
6245 If there is a repository with the same name as
6246 <src_rep_spec> in the destination repository server, it
6247 must be empty. If there is not, it will be created.
6248 If it is not specified, the command will use user's
6249 default repository server.
6250 (Use 'cm ^help ^objectspec' to learn more about repository
6251 server specs.)
6252 translation_table_file If the translation mode is 'table', a translation table
6253 is a file containing lines in the form <oldname;newname>
6254 (one per line). When the branch is written to the destination
6255 repository, the objects created by a user identified by
6256 "oldname" in the source repository will be set to the user
6257 with "newname" on the destination.
6258 authentication_file Authentication file where you may have a different file
6259 for each server you connect to, containing the credentials
6260 for that server. The file format must comply with the
6261 following structure: 2 lines, where the first line
6262 describes the authentication mode, equally described as in
6263 --^auth_mode; and the second line containing the data as
6264 sdescribed in --^auth_data.
6265
6266== CMD_HELP_CLONE ==
6267Remarks:
6268
6269 The clone command can replicate branches (along with their changesets,
6270 labels, attributes, reviews, and so on) from a source repository to a
6271 destination repository. The repositories can be located at different servers.
6272
6273 The destination repository can be created beforehand, but if it contains
6274 previous data, the clone operation will fail.
6275
6276 The clone operation does NOT clone repository submodules, nor repositories
6277 under a Xlink.
6278
6279Examples:
6280
6281 cm ^clone awesomeProject@tardis@cloud
6282 (Clones 'awesomeProject' repository from 'tardis@cloud' organization into
6283 a local repository with the same name.)
6284
6285 cm ^clone repo@server.home:9095 repo-local
6286 (Clones 'repo' from 'server.home:9095' into 'repo-local' at user's default
6287 repository server.)
6288
6289 cm ^clone project@192.168.111.130:8084 ^repserver:192.168.111.200:9095
6290 (Clones 'project' repository from '192.168.111.130:8084' into
6291 'project@192.168.111.200:9095'.)
6292
6293 cm ^clone project@ldapserver:8084 --authmode=^LDAPWorkingMode \
6294 --^authdata=::0:dave:fPBea2rPsQaagEW3pKNveA
6295 (Clones 'project' repository from 'ldapserver:8084' using LDAP
6296 authentication against the remote repository.)
6297
6298 cm ^clone project@upserver:8084 --authmode=^UPWorkingMode \
6299 --^authdata=dave:fPBea2rPsQaagEW3pKNveA==
6300 (Clones 'project' repository from 'upserver:8084' using UPWorkingMode
6301 authentication against the remote repository.)
6302
6303 cm ^clone project@upserver:8084 --authmode=^UPWorkingMode \
6304 --^user=<user> --^password=<pwd>
6305 (Clones 'project' repository from 'upserver:8084' using UPWorkingMode
6306 authentication against the remote repository but specifying the
6307 ^user and ^password instead of the ^authdata.)
6308
6309 cm ^clone project@ldapserver:8084 --authfile=credentials.txt \
6310 --^trmode=table --^trtable=table.txt
6311 (Clones 'project' repository from 'ldapserver:8084' using an authentication
6312 file against the remote repository, and translating users following the
6313 specified translation table.)
6314
6315 cm ^clone project@server.home:9095 --^package=project.plasticpkg
6316 cm ^repository ^create project@mordor.home:8084
6317 cm ^pull --^package=project.plasticpkg project@mordor.home:8084
6318 (Clones 'project' repository from 'server.home:9095' into the package
6319 'project.plasticpkg', which is later imported through a pull into
6320 the 'project' repository at 'mordor.home:8084'.)
6321
6322== CMD_DESCRIPTION_REVERT ==
6323Reverts an item to a previous revision.
6324
6325== CMD_USAGE_REVERT ==
6326Usage:
6327
6328 cm ^revert <revspec>
6329
6330Options:
6331
6332 revspec Specification of the changeset that contains the
6333 revision which content will be loaded in the workspace.
6334 (Use 'cm ^help ^objectspec' to learn more about revision specs.)
6335
6336== CMD_HELP_REVERT ==
6337Remarks:
6338
6339 The item must be checked in.
6340
6341Examples:
6342
6343 cm ^revert dir#^cs:0
6344 cm ^revert C:\mywks\dir\file1.txt#23456
6345
6346== CMD_DESCRIPTION_HISTORY ==
6347Displays the history of a file or directory.
6348
6349== CMD_USAGE_HISTORY ==
6350Usage:
6351
6352 cm ^history | ^hist <item_path>[ ...] [--^long | --^format=<str_format>]
6353 [--^symlink] [--^xml[=<output_file>]] [--^encoding=<name>]
6354 [--^moveddeleted]
6355
6356Options:
6357
6358 --^long Shows additional information.
6359 --^format Retrieves the output message in a specific format. See
6360 Remarks for more info. This option cannnot be combined
6361 with '--^xml'.
6362 --^symlink Applies the history operation to the symlink and not to
6363 the target.
6364 --^xml Prints the output in XML format to the standard output.
6365 It is possible to specify an output file. This option
6366 cannot be combined with '--^format'.
6367 --^encoding Used with the '--^xml' option, specifies the encoding to
6368 use in the XML output, i.e.: utf-8.
6369 See the MSDN documentation at
6370 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
6371 to get the table of supported encodings and its format,
6372 (at the end of the page, in the "Name" column).
6373 --^moveddeleted Include move and remove operations in the history.
6374 --^limit Displays the N most recent revisions for the specified items,
6375 sorted by date and changeset id. If a negative number is supplied,
6376 it will return an empty list. If a number higher than the number
6377 of revisions is supplied, it will return all the available revisions
6378 regarding that item.
6379 item_path Item's path. Use a whitespace to separate paths. Use
6380 double quotes (" ") to specify paths containing spaces.
6381 Paths can be server path revisions too.
6382 (Use 'cm ^help ^objectspec' to learn more about specs.)
6383
6384== CMD_HELP_HISTORY ==
6385Remarks:
6386
6387 This command shows a list of revisions for a given item, and label, branch,
6388 and comment info for each revision.
6389
6390 Output format parameters (--^format option):
6391 This command accepts a format string to show the output.
6392 The output parameters of this command are the following:
6393 {0} | {^date} Date.
6394 {1} | {^changesetid} Changeset number.
6395 {2} | {^branch} Branch.
6396 {4} | {^comment} Comment.
6397 {5} | {^owner} Owner.
6398 {6} | {^id} Revision id.
6399 {7} | {^repository} Repository.
6400 {8} | {^server} Server.
6401 {9} | {^repspec} Repository spec.
6402 {10} | {^datastatus} Availability of the revision data.
6403 {11} | {^path} Path or spec passed as <item_path>.
6404 {12} | {^itemid} Item Id.
6405 {13} | {^size} Size.
6406 {14} | {^hash} Hash code.
6407 {^tab} Inserts a tab space.
6408 {^newline} Inserts a new line.
6409
6410Examples:
6411
6412 cm ^history file1.txt "file 2.txt"
6413
6414 cm ^hist c:\workspace --^long
6415 (Displays all information.)
6416
6417 cm ^history link --^symlink
6418 (Applies the history operation to the symlink file and not to the target.)
6419
6420 cm ^history ^serverpath:/src/foo/bar.c#^br:/main/task001@myserver
6421 (Retrieves the revision history from a server path in a given branch.)
6422
6423 cm ^history bar.c, foo.c --long --limit=2
6424 (Retrieves the 2 last revisions for the bar.c and foo.c items.)
6425
6426== CMD_DESCRIPTION_REVISION_TREE ==
6427> **This command is deprecated.** Shows the revision tree for an item.
6428
6429== CMD_USAGE_REVISION_TREE ==
6430Usage:
6431
6432 cm ^tree <path> [--^symlink]
6433
6434Options:
6435
6436 --^symlink Applies the operation to the link file and not to the target.
6437 path Item path.
6438
6439== CMD_HELP_REVISION_TREE ==
6440Examples:
6441
6442 cm ^tree fichero1.txt
6443 cm ^tree c:\workspace
6444 cm ^tree link --^symlink
6445 (Applies the operation to the symlink file and not to the target.)
6446
6447== CMD_DESCRIPTION_REMOVE ==
6448Allows the user to delete files and directories.
6449
6450== CMD_USAGE_REMOVE ==
6451Usage:
6452
6453 cm ^remove | ^rm <command> [options]
6454
6455Commands:
6456
6457 - ^controlled (optional)
6458 - ^private
6459
6460 To get more information about each command run:
6461 cm ^remove <command> --^usage
6462 cm ^remove <command> --^help
6463
6464== CMD_HELP_REMOVE ==
6465Examples:
6466
6467 cm ^remove \path\controlled_file.txt
6468 cm ^remove ^private \path\private_file.txt
6469
6470== CMD_DESCRIPTION_REMOVE_CONTROLLED ==
6471Deletes a file or directory from version control.
6472
6473== CMD_USAGE_REMOVE_CONTROLLED ==
6474Usage:
6475
6476 cm ^remove | ^rm <item_path>[ ...] [--^format=<str_format>]
6477 [--^errorformat=<str_format>] [--^nodisk]
6478
6479Options:
6480
6481 --^format Retrieves the output progress message in a specific
6482 format. See the Examples for more information.
6483 --^errorformat Retrieves the error message (if any) in a specific
6484 format. See the Examples for more information.
6485 --^nodisk Removes from version control, but keeps the item on
6486 disk.
6487 item_path Items path to remove. Use double quotes (" ") to specify
6488 paths containing spaces. Use a whitespace to separate
6489 paths.
6490
6491== CMD_HELP_REMOVE_CONTROLLED ==
6492Remarks:
6493
6494 Items are deleted from disk. Removed items are removed from the parent
6495 directory in the source code control.
6496
6497 Requirements:
6498 - The item must be under source code control.
6499
6500Reading input from stdin:
6501
6502 The '^remove' command can read paths from stdin. To do this, pass a single
6503 dash "-".
6504 Example: cm ^remove -
6505
6506 Paths will be read until an empty line is entered.
6507 This allows you to use pipe to specify which files to remove.
6508 Example:
6509 dir /S /B *.c | cm ^remove -
6510 (In Windows, removes all .c files in the workspace.)
6511
6512Examples:
6513
6514 cm ^remove src
6515 (Removes 'src'. If src is a directory, this is the same as
6516 'cm ^remove -^R src'.)
6517
6518 cm ^remove c:\workspace\file.txt --^format="{0} - REMOVED" \
6519 --^errorformat="{0} - ERROR REMOVING"
6520 (Removes 'file.txt' from version control and from disk, writing
6521 "c:\workspace\file.txt - ^REMOVED" if the operation succeeded, or
6522 "c:\workspace\file.txt - ^ERROR ^REMOVING" otherwise.)
6523
6524 cm ^remove c:\workspace\file.txt --^nodisk
6525 (Removes 'file.txt' from version control, but keeps it on disk.)
6526
6527== CMD_DESCRIPTION_REMOVE_PRIVATE ==
6528Deletes a private file or directory.
6529
6530Warning: files deleted using the command are permanently erased, and are not
6531recoverable. It is recommended that you use the '--^dry-run' option to check
6532which files will be affected by the command.
6533
6534== CMD_USAGE_REMOVE_PRIVATE ==
6535Usage:
6536
6537 cm ^remove | ^rm ^private <path>[ ...] [-^R | -^r | --^recursive] [--^ignored]
6538 [--^verbose] [--^dry-run]
6539
6540Options:
6541
6542 -^R | -^r | --^recursive Recursively deletes private files from within controlled
6543 directories.
6544 --^ignored Deletes also ignored and cloaked files and directories.
6545 --^verbose Prints all affected paths.
6546 --^dry-run Runs the command without making any changes on disk.
6547 path Path of the files or directories to remove. Use double
6548 quotes (" ") to specify paths containing spaces. Use a
6549 whitespace to separate paths.
6550
6551== CMD_HELP_REMOVE_PRIVATE ==
6552Remarks:
6553
6554 If the path is a private file or directory, it will be deleted from disk.
6555 If the path is a controlled file, the command fails.
6556 If the path is a controlled directory, the command fails unless you
6557 specify the '-^r' option, in which case it will delete all private files and
6558 directories below the specified directory.
6559
6560Examples:
6561
6562 cm ^remove ^private private_directory
6563 (Deletes 'private_directory'.)
6564
6565 cm ^remove ^private c:\workspace\controlled_directory
6566 (Fails, because 'controlled_directory' is not private.)
6567
6568 cm ^remove ^private -^r c:\workspace\controlled_directory
6569 (Deletes all private files and directories below 'controlled_directory'.)
6570
6571 cm ^rm ^private --^dry-run --^verbose c:\workspace\controlled_directory -^r
6572 (Shows all of the paths affected by the deletion of private files below
6573 'controlled_directory' without actually deleting anything.)
6574
6575 cm ^rm ^private --^verbose c:\workspace\controlled_directory -^r
6576 (Shows all of the paths affected by the deletion of private files below
6577 'controlled_directory', performing the delete.)
6578
6579== CMD_DESCRIPTION_TRIGGER_DELETE ==
6580Deletes a trigger.
6581
6582== CMD_USAGE_TRIGGER_DELETE ==
6583Usage:
6584
6585 cm ^trigger | ^tr ^delete | ^rm <subtype-type> <position_number>
6586 [--^server=<repserverspec>]
6587
6588Options:
6589
6590 --^server Deletes the trigger on the specified server.
6591 If no server is specified, executes the command on the
6592 one configured on the client.
6593 subtype-type Trigger execution and trigger operation.
6594 (Use 'cm ^showtriggertypes' to see a list of trigger
6595 types.)
6596 position_number Position assigned to the trigger when it was created.
6597
6598== CMD_HELP_TRIGGER_DELETE ==
6599Examples:
6600
6601 cm ^trigger ^delete ^after-setselector 4
6602 cm ^tr ^rm ^after-setselector 4
6603
6604== CMD_DESCRIPTION_ATTRIBUTE_SET ==
6605Sets an attribute on a given object.
6606
6607== CMD_USAGE_ATTRIBUTE_SET ==
6608Usage:
6609
6610 cm ^attribute | ^att ^set <att_spec> <object_spec> <att_value>
6611
6612 att_spec Attribute specification. (Use 'cm ^help ^objectspec' to
6613 learn more about attribute specs.)
6614 object_spec Specification of the object to set the attribute on.
6615 Attributes can be set on: branches, changesets,
6616 shelvesets, labels, items, and revisions.
6617 (Use 'cm ^help ^objectspec' to learn more about specs.)
6618 att_value The attribute value to set to the object.
6619
6620== CMD_HELP_ATTRIBUTE_SET ==
6621Remarks:
6622
6623 An attribute can be set on an object to save additional information for
6624 this object.
6625 Attributes can be set on the following objects: branches, changesets,
6626 shelvesets, labels, items, and revisions.
6627
6628Examples:
6629
6630 cm ^attribute ^set ^att:status ^br:/main/SCM105 open
6631 (Sets attribute 'status' to branch 'SCM105' with value 'open'.)
6632
6633 cm ^att ^set ^att:integrated@reptest@server2:8084 ^lb:LB008@reptest@server2:8084 yes
6634 (Sets attribute 'integrated' to label 'LB008' in repository 'reptest' with
6635 value 'yes'.)
6636
6637== CMD_DESCRIPTION_SETOWNER ==
6638Sets the owner of an object.
6639
6640== CMD_USAGE_SETOWNER ==
6641Usage:
6642
6643 cm ^setowner | ^sto --^user=<usr_name> | --^group=<group> <object_spec>
6644
6645Options:
6646
6647 --^user User name. New owner of the object.
6648 --^group Group name. New owner of the object.
6649 object_spec Specification of the object to set the new owner on.
6650 The owner can be set on the following objects:
6651 repository server, repository, branch, changeset,
6652 label, item, revision and attribute.
6653 (Use 'cm ^help ^objectspec' to learn more about specs.)
6654
6655== CMD_HELP_SETOWNER ==
6656Remarks:
6657
6658 The owner of an object can be a user or a group.
6659
6660 The owner can be set on the following objects: repository server,
6661 repository, branch, changeset, label, item, revision, and attribute.
6662
6663Examples:
6664
6665 cm ^setowner --^user=john ^repserver:localhost:8084
6666 (Sets 'john' as repository server owner.)
6667
6668 cm ^sto --^group=development ^rep:mainRep@PlasticServer:8084
6669 (Sets 'development' group as owner of 'mainRep' repository.)
6670
6671== CMD_DESCRIPTION_SETSELECTOR ==
6672> **This command is deprecated.** Sets the selector to a workspace.
6673
6674== CMD_USAGE_SETSELECTOR ==
6675Selectors are discontinued and its use is not recommended.
6676
6677Usage:
6678 cm ^setselector | ^sts [--^file=<selector_file>] [--^ignorechanges]
6679 [--^forcedetailedprogress] [<wk_path> | <wk_spec>]
6680 [--^noinput]
6681
6682Options:
6683
6684 --^file File to load a selector from.
6685 --^ignorechanges Ignores the pending changes warning message that is
6686 shown if there are pending changes detected when
6687 updating the workspace.
6688 --^forcedetailedprogress Forces detailed progress even when standard output
6689 is redirected.
6690 --^noinput Skips the interactive questions to continue the
6691 operation with pending changes or to shelve them.
6692 wk_path Path of the workspace to set the selector.
6693 wk_spec Workspace specification. (Use 'cm ^help ^objectspec'
6694 to learn more about workspace specs.)
6695
6696== CMD_HELP_SETSELECTOR ==
6697Remarks:
6698
6699 This command sets the selector of a workspace.
6700
6701 A workspace needs information to load revisions from the repository.
6702 To get this information, Unity VCS uses a selector.
6703
6704 Using a selector, it is possible to load revisions from a given branch,
6705 label, or changeset.
6706
6707 If a file to load the selector is not specified, the default Operating
6708 System editor will be executed.
6709
6710 Sample selector:
6711
6712 - ^repository "^default" // working repository
6713 - ^path "/" // rules will be applied to the root directory
6714 - ^branch "/^main" // obtain latest revisions from ^br:/^main
6715 - ^checkout "/^main" // place checkouts on branch ^br:/^main
6716
6717Examples:
6718
6719 cm ^sts
6720 (Opens the current selector file to be applied.)
6721
6722 cm ^sts ^wk:workspace_projA@reptest
6723 (Opens the specified selector file to be applied.)
6724
6725 cm ^setselector --^file=c:\selectors\sel.xml
6726 (Sets the specified selector file in the current workspace.)
6727
6728 cm ^setselector --^file=c:\selectors\sel.xml ^wk:MyWorkspace
6729 (Sets the specified selector file in the selected workspace.)
6730
6731== CMD_DESCRIPTION_SHELVE ==
6732> **This command is deprecated.** Use cm ^shelveset instead.
6733
6734Shelves the contents of checked-out items.
6735
6736== CMD_USAGE_SHELVE ==
6737Usage:
6738
6739 cm ^shelve [<item_path>+] [--^all] [--^dependencies]
6740 [-^c=str_comment | -^commentsfile=<comments_file>]
6741 [--^encoding=name] [--^comparisonmethod=comp_method]
6742 [--^summaryformat]
6743 (Shelves the contents.)
6744
6745 cm ^shelve --^apply=<sh_spec> [--^mount]
6746 (Applies a stored shelveset.)
6747
6748 cm ^shelve --^delete=<sh_spec>
6749 (Removes a stored shelveset.)
6750
6751Options:
6752
6753 item_path Items to be shelved, separated by spaces. Quotes (") can
6754 be used to specify paths containing spaces.
6755 --^all The items changed, moved and deleted locally, on the
6756 given paths, will also be included.
6757 --^dependencies Includes local change dependencies in the items to
6758 shelve.
6759 -^c Applies the specified comment to the created shelveset.
6760 -^commentsfile Applies the comment in the specified file to the created
6761 shelveset.
6762 --^encoding Specifies the output encoding, i.e.: utf-8.
6763 See the MSDN documentation at
6764 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
6765 to get the table of supported encodings and its format,
6766 (at the end of the page, in the "Name" column).
6767 --^comparisonmethod Sets the comparison method. See remarks for more info.
6768 --^summaryformat Just prints the shelveset spec created for the main repo,
6769 skipping shelvesets of xlinked repos and any other output
6770 messages. For automation purposes.
6771 --^mount The mount point for the given repository.
6772 --^delete Removes the specified shelveset.
6773 Shelveset specification: check 'cm ^help ^objectspec'.
6774 --^apply Restores the shelved contents of the specified shelveset.
6775 Shelve specification: check 'cm ^help ^objectspec'.
6776
6777== CMD_HELP_SHELVE ==
6778
6779Remarks:
6780
6781 If neither <item_path> nor any option is specified, the shelve will involve
6782 all the pending changes in the workspace.
6783
6784 The shelve operation is always applied recursively from the given path.
6785
6786 Requirements to shelve an item:
6787 - The item must be under source code control.
6788 - The item must be checked out or changed (--^all option must be used).
6789
6790 Comparison methods:
6791 ^ignoreeol Ignores end of line differences.
6792 ^ignorewhitespaces Ignores whitespace differences.
6793 ^ignoreeolandwhitespaces Ignores end of line and whitespace differences.
6794 ^recognizeall Detects end of line and whitespace differences.
6795
6796 Set the PLASTICEDITOR environment variable to specify an editor for
6797 entering comments. If the PLASTICEDITOR environment variable is set, and
6798 the comment is empty, the editor will be automatically launched to allow
6799 you to specify the comment.
6800
6801Examples:
6802
6803 cm ^shelve -^c="my comment"
6804 (Shelves all the pending changes in the current workspace including a
6805 comment.)
6806
6807 cm ^shelve file1.txt "file 2.txt" -^commentsfile=commentshelve.txt
6808 (Shelves the selected pending changes and applies the comment in the
6809 commentshelve.txt file.)
6810
6811 cm ^shelve --^apply=^sh:3
6812 (Applies a stored shelveset.)
6813
6814 cm ^shelve --^delete=^sh:3
6815 (Removes a stored shelveset.)
6816
6817 cm ^status --^short --^changelist=pending_to_review | cm ^shelve -
6818 (Shelves client changelist.
6819 The command above lists the paths in the changelist named
6820 'pending_to_review' and the path list is redirected to the input of the
6821 shelve command.)
6822
6823== CMD_DESCRIPTION_SHELVESET ==
6824Allows the user to manage shelvesets.
6825
6826== CMD_USAGE_SHELVESET ==
6827Usage:
6828
6829 cm ^shelveset <command> [options]
6830
6831Commands:
6832
6833 - ^create | ^mk
6834 - ^delete | ^rm
6835 - ^apply
6836
6837 To get more information about each command run:
6838 cm ^shelveset <command> --^usage
6839 cm ^shelveset <command> --^help
6840
6841== CMD_HELP_SHELVESET ==
6842Examples:
6843
6844 cm ^shelveset ^create -^c="my comment"
6845 cm ^shelveset ^delete ^sh:3
6846 cm ^shelve ^apply ^sh:3
6847
6848== CMD_DESCRIPTION_SHELVESET_CREATE ==
6849Shelves pending changes.
6850
6851== CMD_USAGE_SHELVESET_CREATE ==
6852Usage:
6853
6854 cm ^shelveset ^create | ^mk [<item_path>[ ...]] [--^all] [--^dependencies]
6855 [-^c=<str_comment> | -^commentsfile=<comments_file>]
6856 [--^summaryformat]
6857
6858Options:
6859
6860 item_path Items to shelve. Use a whitespace to separate user names.
6861 Use double quotes (" ") to specify paths containing
6862 spaces.
6863 --^all The items changed, moved, and deleted locally, on the
6864 given paths, will also be included.
6865 --^dependencies Includes local change dependencies into the items to
6866 shelve.
6867 --^summaryformat Just prints the shelveset spec created for the main repo,
6868 skipping shelvesets of xlinked repos and any other output
6869 messages. For automation purposes.
6870 -^c Applies the specified comment to the created shelve.
6871 -^commentsfile Applies the comment in the specified file to the created
6872 shelve.
6873
6874== CMD_HELP_SHELVESET_CREATE ==
6875The '^shelveset ^create' command stores the contents of checked out items inside the
6876 repository. This way the contents are protected without the need to
6877 checkin the files.
6878
6879Remarks:
6880
6881 If neither <item_path> nor any option is specified, the shelveset will
6882 include all the pending changes in the workspace.
6883
6884 The '^shelveset ^create' operation is always applied recursively from the
6885 given path.
6886
6887 Requirements to shelve an item:
6888 - The item must be under source code control.
6889 - The item must be checked out or changed ('--^all' option must be used).
6890
6891 Set the PLASTICEDITOR environment variable to specify an editor for
6892 entering comments. If the PLASTICEDITOR environment variable is set, and
6893 the comment is empty, the editor will be automatically launched to allow
6894 you to specify the comment.
6895
6896Examples:
6897
6898 cm ^shelveset ^create -^c="my comment"
6899 (Shelves all the pending changes in the current workspace including a
6900 comment.)
6901
6902 cm ^shelveset file1.txt "file 2.txt" -^commentsfile=commentshelve.txt
6903 (Shelves the selected pending changes and applies the comment in the
6904 'commentshelve.txt' file. Note, '^create' is the default subcommand.)
6905
6906 cm ^status --^short --^changelist=pending_to_review | cm ^shelveset -
6907 (Shelves client changelist.
6908 The command above lists the paths in the changelist named
6909 'pending_to_review' and the path list is redirected to the input of the
6910 '^shelveset' command.)
6911
6912== CMD_DESCRIPTION_SHELVESET_DELETE ==
6913Deletes a shelveset.
6914
6915== CMD_USAGE_SHELVESET_DELETE ==
6916Usage:
6917
6918 cm ^shelveset ^delete | ^rm <sh_spec>
6919
6920 sh_spec Shelveset specification. (Use 'cm ^help ^objectspec' to
6921 learn more about shelveset specs.)
6922
6923== CMD_HELP_SHELVESET_DELETE ==
6924The '^shelveset ^delete' command deletes a shelveset.
6925
6926Examples:
6927
6928 cm ^shelveset ^delete ^sh:3
6929 (Removes a stored shelveset.)
6930
6931== CMD_DESCRIPTION_SHELVESET_APPLY ==
6932Applies a stored shelveset.
6933
6934== CMD_USAGE_SHELVESET_APPLY ==
6935Usage:
6936
6937 cm ^shelveset ^apply <sh_spec> [<change_path>[ ...]] [--^preview]
6938 [--^mount] [--^encoding=<name>]
6939 [--^comparisonmethod=(^ignoreeol | ^ignorewhitespaces| \
6940 ^ignoreeolandwhitespaces | ^recognizeall)]
6941
6942Options:
6943
6944 --^preview Prints the changes to apply on the workspace without
6945 applying them
6946 --^mount The mount point for the given repository.
6947 --^encoding Specifies the output encoding, i.e.: utf-8.
6948 See the MSDN documentation at
6949 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
6950 to get the table of supported encodings and its format,
6951 (at the end of the page, in the "Name" column).
6952 --^comparisonmethod Sets the comparison method. See Remarks for more info.
6953 sh_spec Shelveset specification. (Use 'cm ^help ^objectspec' to
6954 learn more about shelveset specs.)
6955 change_path The change path(s) of the shelve to apply. It's a
6956 server path, the one printed by the --preview option.
6957 When no path is set, all changes will be applied.
6958
6959== CMD_HELP_SHELVESET_APPLY ==
6960The '^shelveset ^apply' command restores the contents of a stored shelveset.
6961
6962Remarks:
6963
6964 Comparison methods:
6965 ^ignoreeol Ignores end of line differences.
6966 ^ignorewhitespaces Ignores whitespace differences.
6967 ^ignoreeolandwhitespaces Ignores end of line and whitespace differences.
6968 ^recognizeall Detects end of line and whitespace differences.
6969
6970Examples:
6971
6972 cm ^shelveset ^apply ^sh:3
6973 (Applies a stored shelve.)
6974
6975 cm ^shelveset ^apply ^sh:3 /src/foo.c
6976 (Applies only the /src/foo.c change stored on the shelve.)
6977
6978== CMD_DESCRIPTION_SHOW_FIND_OBJECTS ==
6979Lists objects and attributes.
6980
6981== CMD_USAGE_SHOW_FIND_OBJECTS ==
6982Usage:
6983
6984 cm ^showfindobjects <object>
6985
6986Options:
6987
6988 ^object Check remarks for available objects and attributes.
6989
6990== CMD_HELP_SHOW_FIND_OBJECTS ==
6991Remarks:
6992
6993 Available objects and attributes:
6994
6995 - ^attribute.
6996 - ^attributetype.
6997 - ^branch.
6998 - ^changeset.
6999 - ^label.
7000 - ^merge.
7001 - ^replicationlog.
7002 - ^review.
7003 - ^revision.
7004 - ^shelve.
7005
7006^attribute:
7007 You can find attributes by filtering using the following fields:
7008
7009 ^type string.
7010 ^value string.
7011 ^date date. Check "date constants" for more info in this guide.
7012 ^owner user. Admits special user '^me'.
7013 ^GUID Global Unique Identifier.
7014 Hexadecimal id in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
7015 ^comment string.
7016 ^srcobj object spec: item path, branch, changeset, revision, or label.
7017 Use 'cm ^help ^objectspec' to learn how to specify these objects.
7018 ^ID integer.
7019
7020 Examples:
7021
7022 cm ^find ^attribute "^where ^type = 'status'"
7023 (Finds all attributes of type 'status'.)
7024
7025 cm ^find ^attribute "^where ^date > '^this ^week'"
7026 (Finds all attributes applied during the current week.)
7027
7028 cm ^find ^attribute "^where ^value = 'resolved' ^and ^owner = '^me'"
7029 (Finds all attributes with value 'resolved' applied by me.)
7030
7031 cm ^find ^attribute "^where ^srcobj = '^item:readme.txt'"
7032 (Finds the attributes applied to the item 'readme.txt'.)
7033
7034 cm ^find ^attribute "^where ^srcobj = '^br:/main/scm23343'"
7035 (Finds the attributes applied to the branch scm23343.)
7036
7037 cm ^find ^attribute "^where ^srcobj = '^rev:readme.txt#^br:/main/task002'"
7038 (Finds the attributes applied to the specified revision.)
7039
7040 cm ^find ^attribute "^where ^srcobj = '^rev:^revid:1126'"
7041 (Finds the attributes applied to the specified revision id.)
7042
7043^attributetype:
7044 You can find attribute types by filtering using the following fields:
7045
7046 ^name string.
7047 ^value string.
7048 ^date date. Check "date constants" for more info in this guide.
7049 ^owner user. Admits special user '^me'.
7050 ^GUID Global Unique Identifier.
7051 Hexadecimal id in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
7052 ^comment string.
7053 ^source object spec: item path, branch, changeset or label.
7054 Use 'cm ^help ^objectspec' to learn how to specify these objects.
7055 ^ID integer.
7056 Replication field Check "replication related fields" below.
7057
7058 Replication related fields:
7059 - ^ReplLogId
7060 - ^ReplSrcDate
7061 - ^ReplSrcId
7062 - ^ReplSrcRepository
7063 - ^ReplSrcServer
7064
7065 Examples:
7066
7067 cm ^find ^attributetype "^where ^name ^like 'st%'"
7068 (Finds all attribute where name starts with 'st'.)
7069
7070 cm ^find ^attribute "^where ^date > '^today'"
7071 (Finds all attributes applied today.)
7072
7073 cm ^find ^attributetype "^where ^comment != ''" --^xml
7074 (Finds all attribute types that have a comment and prints the
7075 output in XML format to the standard output.)
7076
7077 cm ^find ^attributetype "^where ^source = '^item:readme.txt'"
7078 (Finds all attribute types in item 'readme.txt'.)
7079
7080 cm ^find ^attributetype "^where ^source = '^cs:30'"
7081 (Finds all attribute types in changeset '30'.)
7082
7083 cm ^find ^attributetype "^where ^source = '^lb:v0.14.1'"
7084 (Finds all attribute types in label 'v0.14.1'.)
7085
7086^branch:
7087 You can find branches by filtering using the following fields:
7088
7089 ^name string.
7090 ^date date. Check "date constants" for more info in this guide.
7091 ^changesets date (of the changesets in the branch). Check "date constants"
7092 for more info in this guide.
7093 ^attribute string.
7094 ^attrvalue string.
7095 ^owner user. Admits special user '^me'.
7096 ^parent branch spec.
7097 Use 'cm ^help ^objectspec' to learn how to specify this object.
7098 ^comment string.
7099 ^hidden boolean. A way to show the hidden branches.
7100 ^GUID Global Unique Identifier.
7101 Hexadecimal id in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
7102 ^ID integer.
7103 ^order ^by field to use for sorting. Check "sorting fields" for more info.
7104 Replication fields Check "replication related fields" below.
7105
7106 Sorting fields:
7107 - ^date
7108 - ^branchname
7109
7110 Replication related fields:
7111 - ^ReplLogId
7112 - ^ReplSrcDate
7113 - ^ReplSrcId
7114 - ^ReplSrcRepository
7115 - ^ReplSrcServer
7116
7117 Examples:
7118 cm ^find ^branch "^where ^name ^like 'scm23%'"
7119 (Finds branches which name starts with 'scm23'.)
7120
7121 cm ^find ^branch "^where ^date > '^one ^week ^ago'"
7122 (Finds branches created during the last week.)
7123
7124 cm ^find ^branch "^where ^changesets >= '^today'"
7125 (Finds branches with changesets created today.)
7126
7127 cm ^find ^branch "^where ^attribute = 'status' ^and ^attrvalue = 'failed'"
7128 (Finds branches that have the attribute 'status' and which
7129 value is 'failed'.)
7130
7131 cm ^find ^branch "^where ^owner != '^me' ^and ^parent != '^br:/main'"
7132 (Finds branches created by other than me and which parent
7133 branch is not '/main'.)
7134
7135 cm ^find ^branch "^where ^id = 2029607"
7136 (Finds the branch which id is 2029607.)
7137
7138 cm ^find ^branch "^where ^hidden = 'true'"
7139 (Finds the hidden branches.)
7140
7141^changeset:
7142 You can find changesets by filtering using the following fields:
7143
7144 ^branch branch spec. Use 'cm ^help ^objectspec' to learn how to
7145 specify this object.
7146 ^changesetid integer.
7147 ^attribute string.
7148 ^attrvalue string.
7149 ^date date. Check "date constants" for more info in this guide.
7150 ^owner user. Admits special user '^me'.
7151 ^GUID Global Unique Identifier.
7152 Hexadecimal id in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
7153 ^comment string.
7154 ^ignorehidden boolean. A way to return also the changesets from hidden branches.
7155 ^onlywithrevisions boolean. To filter whether a cset has revisions or not.
7156 ^returnparent boolean. A way to return the parent of a cset. Good for scripting.
7157 ^parent changeset id (integer).
7158 ^ID integer.
7159 ^order ^by field to use for sorting. Check "sorting fields" for more info.
7160 Replication fields Check "replication related fields" below.
7161
7162 Sorting fields:
7163 - ^date
7164 - ^changesetid
7165
7166 Replication related fields:
7167 - ^ReplLogId
7168 - ^ReplSrcDate
7169 - ^ReplSrcId
7170 - ^ReplSrcRepository
7171 - ^ReplSrcServer
7172
7173 Examples:
7174
7175 cm ^find ^changeset "^where ^branch = '/main/scm23119'"
7176 (Finds all changesets in branch 'scm23119'.)
7177
7178 cm ^find ^changeset "^where ^attribute = 'status'"
7179 (Finds the changesets with the attribute 'status'.)
7180
7181 cm ^find ^changeset "^where ^date >= '6/8/2018' ^and ^owner != '^me'"
7182 (Finds all changesets with creation date equal or
7183 greater than 6/8/2018 and created by others than me.)
7184
7185 cm ^find ^changeset "^where ^guid = '1b30674f-14cc-4fd7-962b-676c8a6f5cb6'"
7186 (Finds the changeset with the specified guid.)
7187
7188 cm ^find ^changeset "^where ^comment = ''"
7189 (Finds the changesets with no comments.)
7190
7191 cm ^find ^changeset "^where ^onlywithrevisions = 'false'"
7192 (Finds changesets with no revisions.)
7193
7194 cm ^find ^changeset "^where ^changesetid = 29 ^and ^returnparent = 'true'"
7195 (Finds the parent of changeset 29.)
7196
7197 cm ^find ^changeset "^where ^parent = 548"
7198 (Finds all changesets which parent is cset 548.)
7199
7200^label:
7201 You can find labels by filtering using the following fields:
7202
7203 ^name string.
7204 ^attribute string.
7205 ^attrvalue string.
7206 ^date date. Check "date constants" for more info in this guide.
7207 ^owner user. Admits special user '^me'.
7208 ^GUID Global Unique Identifier.
7209 Hexadecimal id in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
7210 ^branch branch spec. Use 'cm ^help ^objectspec' to learn how to
7211 specify this object.
7212 ^branchid integer.
7213 ^changeset changeset id (integer).
7214 ^comment string.
7215 ^ID integer.
7216 ^order ^by field to use for sorting. Check "sorting fields" for more info.
7217 Replication fields Check "replication related fields" below.
7218
7219 Sorting fields:
7220 - ^date
7221 - ^labelname
7222
7223 Replication related fields:
7224 - ^ReplLogId
7225 - ^ReplSrcDate
7226 - ^ReplSrcId
7227 - ^ReplSrcRepository
7228 - ^ReplSrcServer
7229
7230 Examples:
7231
7232 cm ^find ^label "^where ^name ^like '7.0.16.%'"
7233 (Finds the labels with a name that starts with '7.0.16.'.)
7234
7235 cm ^find ^label "^where ^date >= '^this ^month' ^and \
7236 ^attribute = 'publish-status' ^and ^attrvalue != 'PUBLISHED'"
7237 (Finds the labels created this month with an attribute 'publish-status'
7238 set to a value other than 'PUBLISHED'.)
7239
7240 cm ^find ^label "^where ^branch = '/main'"
7241 (Finds all labels applied to the main branch.)
7242
7243 cm ^find ^label "^where ^changeset = 111733"
7244 (Finds the labels applied to changeset 111733.)
7245
7246^merge:
7247 You can find merges by filtering using the following fields:
7248
7249 ^srcbranch branch spec.
7250 Use 'cm ^help ^objectspec' to learn how to specify this object.
7251 ^srcchangeset changeset id (integer).
7252 ^dstbranch branch spec. Use 'cm ^help ^objectspec' to learn how to
7253 specify this object.
7254 ^dstchangeset changeset id (integer).
7255 ^date date. Check "date constants" for more info in this guide.
7256 ^owner user. Admits special user '^me'.
7257 ^GUID Global Unique Identifier.
7258 Hexadecimal id in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
7259 ^type string. Check possible values in "Type values" below.
7260 ^ID integer.
7261
7262 ^Type values:
7263 - ^merge
7264 - ^cherrypick
7265 - ^cherrypicksubstractive
7266 - ^interval
7267 - ^intervalcherrypick
7268 - ^intervalcherrypicksubstractive
7269
7270 Examples:
7271
7272 cm ^find ^merge "^where ^srcbranch = '^br:/main'"
7273 (Finds merges from the main branch.)
7274
7275 cm ^find ^merge "^where ^dstchangeset = 108261" \
7276 --^format="{^srcbranch} {^srcchangeset} {^dstbranch} {^dstchangeset} {^owner}"
7277 (Finds the merges to changeset 108261 and prints the
7278 formatted output showing the source (branch and cset id),
7279 the destination (branch and cset id), and the merge owner.)
7280
7281 cm ^find ^merge "^where ^type = '^cherrypick' ^and ^owner = '^me'"
7282 (Finds all my cherry picks.)
7283
7284^replicationlog:
7285 You can find replication log by filtering using the following fields:
7286
7287 ^branch branch spec. Use 'cm ^help ^objectspec' to learn how to
7288 specify this object.
7289 ^repositoryname string.
7290 ^owner user. Admits special user '^me'.
7291 ^date date. Check "date constants" for more info in this guide.
7292 ^server string.
7293 ^package boolean.
7294 ^ID integer.
7295
7296 Examples:
7297
7298 cm ^find ^replicationlog "^where ^branch = '/main/gm22358'"
7299 (Finds the replication logs of branch 'gm22358'.)
7300
7301 cm ^find ^replicationlog "^where ^package = 'T' ^and ^server ^like '%cloud%'"
7302 (Finds the replication logs created from package which
7303 server name contains 'cloud'.)
7304
7305^review:
7306 You can find code reviews by filtering using the following fields:
7307
7308 ^status string.
7309 ^assignee string.
7310 ^title string.
7311 ^target object spec: branch or changeset.
7312 Use 'cm ^help ^objectspec' to learn how to specify this object.
7313 ^targetid integer.
7314 ^targettype string. Check "target types" for more info.
7315 ^date date. Check "date constants" for more info in this guide.
7316 ^owner user. Admits special user '^me'.
7317 ^GUID Global Unique Identifier.
7318 Hexadecimal id in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
7319 ^ID integer.
7320 ^order ^by field to use for sorting. Check "sorting fields" for more info.
7321
7322 Target types:
7323 - ^branch
7324 - ^changeset
7325
7326 Sorting fields:
7327 - ^date
7328 - ^modifieddate
7329 - ^status
7330
7331 Examples:
7332
7333 cm ^find ^review "^where ^status = 'pending' ^and ^assignee = '^me'"
7334 (Finds all my pending reviews.)
7335
7336 cm ^find ^review "^where ^target = '^br:/main/scm17932'"
7337 (Finds the reviews related to branch 'scm17932'.)
7338
7339 cm ^find ^review "^where ^targettype = '^changeset'"
7340 (Finds the reviews which target type is changeset.)
7341
7342^revision:
7343 You can find revisions by filtering using the following fields:
7344
7345 ^branch branch spec. Use 'cm ^help ^objectspec' to learn how to
7346 specify this object.
7347 ^changeset changeset id (integer).
7348 ^item string or integer.
7349 ^itemid integer.
7350 ^attribute string.
7351 ^attrvalue string.
7352 ^archived boolean.
7353 ^comment string.
7354 ^date date. Check "date constants" for more info in this guide.
7355 ^GUID Global Unique Identifier.
7356 Hexadecimal id in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
7357 ^owner user. Admits special user '^me'.
7358 ^parent revision id (integer).
7359 ^returnparent boolean.
7360 ^shelve shelve id (integer).
7361 ^size integer (in bytes).
7362 ^type string. Check "type values" for more info.
7363 ^workspacecheckoutid integer.
7364 ^ID integer.
7365 Replication field Check "replication related fields" below.
7366
7367 ^type values:
7368 - ^dir
7369 - ^bin
7370 - ^txt
7371
7372 Replication related fields:
7373 - ^ReplLogId
7374 - ^ReplSrcDate
7375 - ^ReplSrcId
7376 - ^ReplSrcRepository
7377 - ^ReplSrcServer
7378
7379 Examples:
7380
7381 cm ^find ^revision "^where ^changeset >= 111756"
7382 (Finds the revisions created in changeset 111756
7383 and later.)
7384
7385 cm ^find ^revision "^where ^item = 'readme.txt' ^or ^itemid = 2250"
7386 (Finds the revisions of item 'readme.txt' plus
7387 item id 2250.)
7388
7389 cm ^find ^revision "^where ^item = 'readme.txt' ^or ^item = 2250"
7390 (Gets the same revisions as the previous example.)
7391
7392 cm ^find ^revision "^where ^attribute = 'status' ^and ^attrvalue != 'open'"
7393 (Finds the revisions with attribute 'status' which
7394 value is other than 'open'.)
7395
7396 cm ^find ^revision "^where ^archived = 'true'"
7397 (Finds the revisions that are archived in an
7398 external storage.)
7399
7400 cm ^find ^revision "^where ^type = '^txt' and \
7401 ^size > 300000 ^and ^owner = '^me' and ^date >= '2 ^months ^ago'"
7402 (Finds the text revisions created by me two months
7403 ago and with size greater than about 3MB.)
7404
7405^shelve:
7406 You can find shelves by filtering using the following fields:
7407
7408 ^owner user. Admits special user '^me'.
7409 ^date date. Check "date constants" for more info in this guide.
7410 ^attribute string.
7411 ^attrvalue string.
7412 ^comment string.
7413 ^GUID Global Unique Identifier.
7414 Hexadecimal id in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
7415 ^parent integer.
7416 ^shelveid integer.
7417 ^ID integer.
7418 Replication field Check "replication related fields" below.
7419
7420 Replication related fields:
7421 - ^ReplLogId
7422 - ^ReplSrcDate
7423 - ^ReplSrcId
7424 - ^ReplSrcRepository
7425 - ^ReplSrcServer
7426
7427 Examples:
7428
7429 cm ^find ^shelve "^where ^owner != '^me' ^and ^date >= '^1 ^years ^ago'"
7430 (Finds the shelves created by others than me during the last
7431 year.)
7432
7433 cm ^find ^shelve "^where ^shelveid = 2"
7434 (Finds the shelve with name 2.)
7435
7436 cm ^find ^shelve "^where ^id >= 3848"
7437 (Finds the shelves which object id is greater than 3848.)
7438
7439Replication related fields:
7440 Many objects track replication data, meaning Unity VCS tracks where they were
7441 originally created.
7442
7443 The fields you can use are:
7444 ^ReplSrcServer repspec. Stands for "replication source server".
7445 Server where the object was replicated from.
7446 ^ReplSrcRepository string. Stands for "replication source repo". It is
7447 the repository where the object was replicated from.
7448 ^ReplLogId integer. ID of the replication operation. In Unity VCS,
7449 each time new objects are created from a replica,
7450 a new 'replicationlog' is created.
7451 ^ReplSrcDate date. It is the date when the replica actually took
7452 place.
7453 Replicated objects will retain its original creation
7454 date, o this field is useful if you want to find
7455 objects that where replicated within a specific
7456 timeframe.
7457 ^ReplSrcId integer. It is the ID of the replication source server.
7458 You can discover this ID searching for
7459 '^replicationsource' objects with the 'cm ^find' command.
7460
7461 Examples:
7462
7463 cm ^find ^branch "^where ^replsrcserver='skull.codicefactory.com:9095'"
7464 (Finds the branches replicated from server 'skull'.)
7465
7466 cm ^find ^branch "^where ^replsrcserver = 'skull.codicefactory.com:9095' \
7467 ^and ^replsrcrepository = 'codice'"
7468 (Finds the branches replicated from server 'skull'
7469 and from repository 'codice'.)
7470
7471 cm ^find ^revision "^where ^repllogid = 2019974"
7472 (Finds the revisions replicated from replica 2019974.)
7473
7474 cm ^find ^label "^where ^replsrcdate >= '^one ^month ^ago' \
7475 ^and ^date >= '15 ^days ^ago'"
7476 (Finds the labels created 15 days ago and were
7477 replicated one month ago.)
7478
7479 cm ^find ^replicationlog "^where ^date > '^one ^week ^ago'"
7480 (returns the following line:)
7481 - 8780433 27/09/2018 8:49:38 codice@BACKYARD:8087 F mbarriosc
7482
7483 (Finds the replication logs created one week ago. Now, you can
7484 check that the replicated branch was created before it was
7485 replicated over:)
7486
7487 cm ^find ^branch "^where ^repllogid = 8780433"
7488 (returns the following line:)
7489 - 8780443 26/09/2018 12:20:55 /main/scm23078 maria codice T
7490
7491 cm ^find ^replicationsource
7492 (returns the following two lines:)
7493 - 7860739 codice@AFRODITA:8087 d9c4372a-dc55-4fdc-ad3d-baeb2e975f27
7494 - 8175854 codice@BACKYARD:8087 66700d3a-036b-4b9a-a26f-adfc336b14f9
7495
7496 (Now, you can find the changesets replicated from codice@AFRODITA:8087:)
7497 cm ^find ^changesets "^where ^replsrcid = 7860739"
7498
7499Date constants:
7500 You can use date formats that follow your machine localization settings.
7501 For example, if your computer displays dates in the format 'MM-dd-yyyy',
7502 you can use dates such as '12-31-2019' in your queries.
7503
7504 You can also use the following constants to simplify your queries:
7505 '^today' today's date.
7506 '^yesterday' yesterday's date.
7507 '^this ^week' current week's Monday date.
7508 '^this ^month' current month's 1st day date.
7509 '^this ^year' current year's January 1st date.
7510 '^one ^day ^ago' one day before the current date.
7511 '^one ^week ^ago' seven days before the current date.
7512 '^one ^month ^ago' one month before the current date.
7513 'n ^days ^ago' 'n' days before the current date.
7514 'n ^months ^ago' 'n' months before the current date.
7515 'n ^years ^ago' 'n' years before the current date.
7516
7517 The following '^where' clauses are valid for fields of type '^date':
7518 - '(...) ^where ^date > '^today' (...)'
7519 - '(...) ^where ^date < '^yesterday' (...)'
7520 - '(...) ^where ^date > '^this ^week' (...)'
7521 - '(...) ^where ^date > '^this ^month' (...)'
7522 - '(...) ^where ^date < '^one ^day ^ago' ^and ^date > '3 ^days ^ago' (...)'
7523 - '(...) ^where ^date < '^one ^week ^ago' ^and ^date > '3 ^weeks ^ago' (...)'
7524 - '(...) ^where ^date < '^one ^month ^ago' ^and ^date > '3 ^months ^ago' (...)'
7525 - '(...) ^where ^date > '1 ^year ^ago' (...)'
7526
7527 You can also force a specific date format on the 'cm ^find' command using the
7528 --^dateformat flag. Check 'cm ^find --^help' for further details.
7529
7530== CMD_DESCRIPTION_TRIGGER_SHOWTYPES ==
7531Displays available trigger types.
7532
7533== CMD_USAGE_TRIGGER_SHOWTYPES ==
7534Usage:
7535
7536 cm ^trigger ^showtypes
7537
7538== CMD_HELP_TRIGGER_SHOWTYPES ==
7539Displays the list of available trigger types.
7540
7541Examples:
7542
7543 cm ^trigger ^showtypes
7544
7545== CMD_DESCRIPTION_SHOWACL ==
7546Shows the ACL of an object.
7547
7548== CMD_USAGE_SHOWACL ==
7549Usage:
7550
7551 cm ^showacl | ^sa <object_spec> [--^extended] [--^xml[=<output_file>]]
7552 [--^encoding=<name>]
7553
7554Options:
7555
7556 --^extended Shows ACL hierarchy tree.
7557 --^xml Prints the output in XML format to the standard output.
7558 It is possible to specify an output file.
7559 --^encoding Used with the '--^xml' option, specifies the encoding to
7560 use in the XML output, i.e.: utf-8.
7561 See the MSDN documentation at
7562 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
7563 to get the table of supported encodings and its format,
7564 (at the end of the page, in the "Name" column).
7565 object_spec Specification of the object to show the ACL of.
7566 The valid objects for this command are:
7567 repserver, repository, branch, changeset, label, item,
7568 and attribute.
7569 (Use 'cm ^help ^objectspec' to learn more about specs.)
7570
7571== CMD_HELP_SHOWACL ==
7572Examples:
7573
7574 cm ^showacl ^repserver:PlasticServer:8084
7575 (Shows the ACL of the selected server.)
7576
7577 cm ^sa ^br:/main --^extended
7578 (Shows the ACL hierarchy tree of the selected branch specification.)
7579
7580== CMD_DESCRIPTION_SHOWCOMMANDS ==
7581Shows all the available commands.
7582
7583== CMD_USAGE_SHOWCOMMANDS ==
7584Usage:
7585
7586 cm ^showcommands
7587
7588== CMD_HELP_SHOWCOMMANDS ==
7589 Bear in mind that there might be deprecated commands not displayed here
7590 but which functionallity remains due to retrocompatibility reasons.
7591
7592== CMD_DESCRIPTION_SHOWOWNER ==
7593Shows the owner of an object.
7594
7595== CMD_USAGE_SHOWOWNER ==
7596Usage:
7597
7598 cm ^showowner | ^so <object_spec>
7599
7600Options:
7601
7602 object_spec Specification of the object to show the owner of.
7603 The object must be one of the following:
7604 repository server, repository, branch, changeset,
7605 label, attribute, revision, and item.
7606 (Use 'cm ^help ^objectspec' to learn more about specs.)
7607
7608== CMD_HELP_SHOWOWNER ==
7609Remarks:
7610
7611 This command displays the owner of an object. The owner can be a user or
7612 a group. The owner can be modified with 'cm ^setowner' command.
7613
7614Examples:
7615
7616 cm ^showowner ^repserver:PlasticServer:8084
7617 (Shows the owner of the selected server.)
7618
7619 cm ^so ^item:samples\
7620 (Shows the owner of the selected item specification.)
7621
7622== CMD_DESCRIPTION_SHOWPERMISSIONS ==
7623Lists the available permissions.
7624
7625== CMD_USAGE_SHOWPERMISSIONS ==
7626Usage:
7627
7628 cm ^showpermissions | ^sp
7629
7630== CMD_HELP_SHOWPERMISSIONS ==
7631Examples:
7632
7633 cm ^showpermissions
7634
7635== CMD_DESCRIPTION_SHOWSELECTOR ==
7636> **This command is deprecated.** Shows the workspace selector.
7637
7638== CMD_USAGE_SHOWSELECTOR ==
7639Selectors are discontinued and its use is not recommended.
7640
7641Usage:
7642
7643 cm ^showselector | ^ss [<wk_path> | <wk_spec>]
7644
7645Options:
7646
7647 wk_path Path of the workspace to show the selector.
7648 wk_spec Workspace specification. (Use 'cm ^help ^objectspec' to
7649 learn more about workspace specs.)
7650
7651== CMD_HELP_SHOWSELECTOR ==
7652Remarks:
7653
7654 If neither path nor workspace spec is specified, the command will take the
7655 current directory as the workspace path.
7656
7657Examples:
7658
7659 cm ^showselector c:\workspace
7660 (Shows the selector for the selected workspace path.)
7661
7662 cm ^ss
7663 (Shows the selector for current workspace.)
7664
7665 cm ^showselector > mySelector.txt
7666 (Writes into a file the selector for the current workspace.)
7667
7668 cm ^showselector ^wk:mywk@reptest
7669 (Shows the selector for the workspace 'mywk' in the repository 'reptest'.)
7670
7671== CMD_DESCRIPTION_SUPPORT ==
7672Allows the user to perform support related operations.
7673
7674== CMD_USAGE_SUPPORT ==
7675Usage:
7676
7677 cm ^support <command> [options]
7678
7679Commands:
7680
7681 - ^bundle
7682
7683 To get more information about each command run:
7684 cm ^support <command> --^usage
7685 cm ^support <command> --^help
7686
7687== CMD_HELP_SUPPORT ==
7688Examples:
7689
7690 cm ^support
7691 cm ^support ^bundle
7692 cm ^support ^bundle c:\outputfile.zip
7693
7694== CMD_DESCRIPTION_SUPPORT_BUNDLE ==
7695Creates a "support bundle" package with relevant logs.
7696You can attach the file while requesting help, asking for extra info, or
7697submitting a bug.
7698
7699== CMD_USAGE_SUPPORT_BUNDLE ==
7700Usage:
7701
7702 cm ^support ^bundle [<outputfile>]
7703
7704Options:
7705
7706 outputfile Creates the "support bundle" package at the specified
7707 location.
7708
7709== CMD_HELP_SUPPORT_BUNDLE ==
7710Remarks:
7711
7712This command allows users to create a "support bundle" package which can be
7713attached when requesting help, asking for extra info, or submitting a bug.
7714The user can optionally specify a location for the output file; otherwise, the
7715output file will be written to the temp directory.
7716
7717Examples:
7718
7719 cm ^support ^bundle
7720 (Creates "support bundle" in temp directory.)
7721
7722 cm ^support ^bundle c:\outputfile.zip
7723 (Creates "support bundle" at the specified location.)
7724
7725== CMD_DESCRIPTION_SWITCH ==
7726Switches the workspace to a branch, changeset, label, or shelveset.
7727
7728== CMD_USAGE_SWITCH ==
7729Usage:
7730
7731 cm ^switch (<brspec> | <csetspec> | <lbspec> | <shspec>)
7732 [--^workspace=<path>] [--^repository=<name>]
7733 [--^forcedetailedprogress]
7734 [--^silent] [--^verbose] [--^xml[=<output_file>]] [--^encoding=<name>]
7735 [--^forcedetailedprogress] [--^noinput]
7736
7737Options:
7738
7739 --^workspace Path where the workspace is located.
7740 --^repository Switches to the specified repository.
7741 --^forcedetailedprogress Forces detailed progress even when standard
7742 output is redirected.
7743 --^noinput Skips the interactive questions to continue the
7744 operation with pending changes or to shelve them.
7745 Using this option disables the possibility of
7746 bringing your pending changes.
7747 --^silent No output is shown unless an error happens.
7748 --^verbose Shows additional information.
7749 --^xml Prints the output in XML format to the standard output.
7750 It is possible to specify an output file.
7751 Using this option disables the possibility of
7752 bringing your pending changes.
7753 --^encoding Used with the --^xml option, specifies the encoding to
7754 use in the XML output, i.e.: utf-8.
7755 See the MSDN documentation at
7756 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
7757 to get the table of supported encodings and its format,
7758 (at the end of the page, in the "Name" column).
7759 brspec Target branch.
7760 (Use 'cm ^help ^objectspec' to learn more about branch specs.)
7761 csetspec Target changeset.
7762 (Use 'cm ^help ^objectspec' to learn more about changeset specs.)
7763 lbspec Target label.
7764 (Use 'cm ^help ^objectspec' to learn more about label specs.)
7765 shspec Target shelveset.
7766 (Use 'cm ^help ^objectspec' to learn more about shelveset specs.)
7767
7768== CMD_HELP_SWITCH ==
7769Remarks:
7770
7771 This command allows users to update the workspace tree to the contents
7772 of the specified object (branch, label, shelveset, or changeset).
7773
7774Examples:
7775
7776 cm ^switch ^br:/main
7777 cm ^switch ^lb:Rel1.1
7778 cm ^switch ^br:/main/scm002 --^repository=rep2
7779 cm ^switch ^cs:4375
7780 cm ^switch ^sh:2
7781
7782== CMD_DESCRIPTION_SWITCH_TO_BRANCH ==
7783> **This command is deprecated.** Use cm ^switch instead. Sets a branch as the working branch.
7784
7785== CMD_USAGE_SWITCH_TO_BRANCH ==
7786Usage:
7787
7788 cm ^switchtobranch [options] [branch_spec]
7789
7790Options:
7791
7792 --^label=name | --^changeset=number load revisions from the specified
7793 label or changeset. One of these options
7794 is required if no branch_spec is given.
7795 --^changeset=cset Switch to the specified changeset.
7796 --^repository=rep Switch to the specified repository.
7797 --^workspace | -wk=path path where the workspace is located.
7798 branch_spec Branch specification.
7799
7800== CMD_HELP_SWITCH_TO_BRANCH ==
7801Remarks:
7802
7803 This command allows users to work in a branch.
7804 If no branch_spec specified, a label or a changeset must be specified.
7805 If no repository is specified, the branch is set to the current repository.
7806
7807Examples:
7808
7809 cm ^switchtobranch ^br:/main
7810 cm ^switchtobranch ^br:/main/task001
7811 cm ^switchtobranch --^label=BL050
7812 (Read-only configuration. The command loads the contents of the labeled
7813 changeset.)
7814
7815
7816== CMD_DESCRIPTION_SYNC ==
7817Synchronize with Git.
7818
7819== CMD_USAGE_SYNC ==
7820Usage:
7821
7822 cm ^synchronize | ^sync <repspec> ^git [<url> [--^user=<usr_name> --^pwd=<pwd>]]
7823 [(--^txtsimilaritypercent | --^binsimilaritypercent | \
7824 --^dirsimilaritypercent)=<value>]
7825 [--^author] [--^skipgitlfs] [--^gitpushchunk=<value>]
7826
7827Options:
7828
7829 --^user User name for the specified URL.
7830 --^pwd Password for the specified URL.
7831 --^txtsimilaritypercent Similarity percentage to consider two text files
7832 are the same (moved item)
7833 --^binsimilaritypercent Similarity percentage to consider two binary files
7834 are the same (moved item)
7835 --^dirsimilaritypercent Similarity percentage to consider two directories
7836 are the same (moved item)
7837 --^author Uses name and timestamp values from the git author.
7838 (git committer by default)
7839 --^skipgitlfs Ignores the Git LFS configuration in the
7840 .gitattributes file. It acts like without Git LFS
7841 support.
7842 --^gitpushchunk Process the push operation (exporting changes from
7843 Unity VCS to Git) in chunks of a certain number of
7844 changesets. This is only useful for huge repos to
7845 avoid network or package size related issues or
7846 just for debugging purposes. It uses chunks of
7847 1000 changesets if no value is specified.
7848 url Remote repository URL (http(s):// or git:// or a
7849 SSH URL).
7850 repspec Repository specification. (Use 'cm ^help ^objectspec' t
7851 learn more about repository specs.)
7852 git (Default).
7853
7854== CMD_HELP_SYNC ==
7855Remarks:
7856
7857 - If the git repository requires user and password, then use '^url', '--^user',
7858 and '--^pwd' options.
7859 - If the git repository doesn't require user and password, then use '^url'
7860 option with the first sync operation. With next sync operations, '^url'
7861 option is optional.
7862 - To use the SSH protocol to perform the sync, you must have the 'ssh' client
7863 added to the PATH environment variable and properly configured to connect
7864 to the remote host (i.e. private/public keys configured).
7865 - Similarity works the same way as the Unity VCS GUI does.
7866
7867Examples:
7868
7869 cm ^sync default@localhost:8087 ^git git://localhost/repository
7870
7871== CMD_DESCRIPTION_TRIGGER ==
7872Allows the user to manage triggers.
7873
7874== CMD_USAGE_TRIGGER ==
7875Usage:
7876
7877 cm ^trigger | ^tr <command> [options]
7878
7879Commands:
7880
7881 - ^create | ^mk
7882 - ^delete | ^rm
7883 - ^edit
7884 - ^list | ^ls
7885 - ^showtypes
7886
7887 To get more information about each command run:
7888 cm ^trigger <command> --^usage
7889 cm ^trigger <command> --^help
7890
7891== CMD_HELP_TRIGGER ==
7892Examples:
7893
7894 cm ^tr ^mk ^before-mklabel new "/path/to/script" --^server=myserver:8084
7895 cm ^tr ^edit ^before-mklabel 7 --^position=4 --^server=myserver:8084
7896 cm ^tr ^ls ^before-mkbranch --^server=myserver:8084
7897 cm ^tr ^rm ^after-setselector 4
7898 cm ^tr ^showtypes
7899
7900== CMD_DESCRIPTION_UNDOCHECKOUT ==
7901Undoes the checkout of an item.
7902
7903== CMD_USAGE_UNDOCHECKOUT ==
7904Usage:
7905
7906 cm ^undocheckout | ^unco <item_path>[ ...] [-^a | --^all] [--^symlink] [--^silent]
7907 [--^keepchanges | -^k]
7908 [--^machinereadable [--^startlineseparator=<sep>]
7909 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]]
7910
7911Options:
7912
7913 -^a | --^all Undoes all of the changes in the specified items. If
7914 the item(s) were checked out, the checkout will be
7915 reverted. If the item(s) were locally modified, the
7916 modifications will be reverted.
7917 --^symlink Applies the undocheckout operation to the link and not
7918 to the target.
7919 --^silent Does not show any output.
7920 --^machinereadable Outputs the result in an easy-to-parse format.
7921 --^startlineseparator Used with the '--^machinereadable' flag,
7922 specifies how the lines should start.
7923 --^endlineseparator Used with the '--^machinereadable' flag,
7924 specifies how the lines should end.
7925 --^fieldseparator Used with the '--^machinereadable' flag,
7926 specifies how the fields should be separated.
7927 --^keepchanges | -^k Undoes the checkout and preserves the local changes.
7928 Sample: undo the checkout of a file leave it as locally
7929 changed with the same content on disk that it was.
7930 This option cannot be used with dynamic workspaces.
7931 item_path Items to apply the operation. Use a whitespace to separate
7932 paths. Use double quotes (" ") to specify paths
7933 containing spaces. Use . to apply the operation to
7934 the current directory.
7935
7936
7937== CMD_HELP_UNDOCHECKOUT ==
7938Remarks:
7939
7940 If an item is checked out and you do not want to checkin it, you can undo
7941 the checkout using this command. Both files and folders can be unchecked
7942 out. The item will be updated to the state it had before checking it out.
7943
7944 Requirements:
7945 - The item must be under source code control.
7946 - The item must be checked out.
7947
7948Reading input from stdin:
7949
7950 The '^undocheckout' command can read paths from stdin. To do this, pass a
7951 single dash "-".
7952 Example:
7953 cm ^undocheckout ^checkin -
7954
7955 Paths will be read until an empty line is entered.
7956 This allows you to use pipe to specify for which files to undo the checkout.
7957 Example:
7958 dir /S /B *.c | cm ^undocheckout --^all -
7959 (In Windows, undoes the checkout of all .c files in the workspace.)
7960
7961Examples:
7962
7963 cm ^undocheckout .
7964 (Undoes checkouts in the current directory.)
7965
7966 cm ^undocheckout file1.txt file2.txt
7967 cm ^unco c:\workspace\file.txt
7968 (Undoes checkouts of the selected files.)
7969
7970 cm ^unco -^a file1.txt
7971 (Undoes checkouts or local modifications of 'file1.txt')
7972
7973 cm ^unco link --^symlink
7974 (Applies the undocheckout operation to the symlink file and not to the target.)
7975
7976 cm ^status --^short --^changelist=pending_to_review | cm ^undocheckout -
7977 (Undoes client changelist. The command above will list the paths in the
7978 changelist named 'pending_to_review' and the path list will be redirected
7979 to the input of the undocheckout command).
7980
7981 cm ^unco . --^machinereadable
7982 (Undoes checkouts in the current directory, and prints the result in a
7983 simplified, easier-to-parse format.)
7984
7985 cm ^unco . --^machinereadable --^startlineseparator=">" --^endlineseparator="<" \
7986 --^fieldseparator=","
7987 (Undoes checkouts in the current directory, and prints the result in a
7988 simplified, easier to parse format, starting and ending the lines, and
7989 separating the fields, with the specified strings.)
7990
7991== CMD_DESCRIPTION_UNDOCHECKOUTUNCHANGED ==
7992Undoes non-changed checked out items.
7993
7994== CMD_USAGE_UNDOCHECKOUTUNCHANGED ==
7995Usage:
7996
7997 cm ^uncounchanged | ^unuc <item_path>[ ...] [-^R | -^r | --^recursive]
7998 [--^symlink] [--^silent]
7999
8000Options:
8001
8002 -^R | -^r | --^recursive Undoes unchanged items recursively in the specified paths.
8003 --^symlink Applies the uncounchanged operation to the link and not
8004 to the target.
8005 --^silent Does not show any output.
8006 item_path Items to apply the operation. Use a whitespace to separate
8007 paths. Use double quotes (" ") to specify paths
8008 containing spaces. Use . to apply the operation to current
8009 directory.
8010
8011== CMD_HELP_UNDOCHECKOUTUNCHANGED ==
8012Remarks:
8013
8014 This command is applied from the root of the workspace recursively.
8015
8016Reading input from stdin:
8017
8018 The '^uncounchanged' command can read paths from stdin. To do this, pass a
8019 single dash "-".
8020 Example: cm ^uncounchanged -
8021
8022 Paths will be read until an empty line is entered.
8023 This allows you to use pipe to specify for which unchanged files to undo
8024 the checkout.
8025 Example:
8026 dir /S /B *.c | cm ^uncounchanged -
8027 (In Windows, undoes the checkout on all unchanged .c files in the
8028 workspace.)
8029
8030Examples:
8031
8032 cm ^uncounchanged . -^R
8033 (Undoes checkouts of not changed files recursively on the current directory.)
8034
8035 cm ^unuc /home/myuser/mywk/project/templates -^R
8036 (Undoes checkouts of not changed files recursively on the selected directory.)
8037
8038== CMD_DESCRIPTION_UNDELETE ==
8039Undeletes an item using a specific revision.
8040
8041== CMD_USAGE_UNDELETE ==
8042Usage:
8043
8044 cm ^undelete <revspec> <path>
8045
8046Options:
8047
8048 revspec Specification of the revision whose contents will
8049 be loaded in the workspace. (Use 'cm ^help ^objectspec' to
8050 learn more about revision specs.)
8051 path Restore path.
8052
8053== CMD_HELP_UNDELETE ==
8054Remarks:
8055
8056 The item to undelete should not be already loaded in the workspace.
8057
8058 The '^undelete' operation is not supported for xlinks.
8059
8060Example:
8061
8062 cm ^undelete ^revid:756 C:\mywks\src\foo.c
8063 cm ^undelete ^itemid:68#^cs:2 C:\mywks\dir\myfile.pdf
8064 cm ^undelete ^serverpath:/src#^br:/main C:\mywks\Dir
8065
8066== CMD_DESCRIPTION_UNDOCHANGE ==
8067Undoes the changes on a path.
8068
8069== CMD_USAGE_UNDOCHANGE ==
8070Usage:
8071
8072 cm ^undochange | ^unc <item_path>[ ...] [-^R | -^r | --^recursive]
8073
8074Options:
8075
8076 -^R | -^r | --^recursive Applies the operation recursively.
8077 item_path Items to apply the operation. Use a whitespace to separate
8078 paths. Use double quotes (" ") to specify paths
8079 containing spaces. Use . to apply the operation to
8080 the current directory.
8081
8082== CMD_HELP_UNDOCHANGE ==
8083Remarks:
8084
8085 If an item is checked out or modified but not checked in and you do not
8086 want to check it in, you can undo the changes using this command. The item
8087 will be updated to the contents it had before.
8088
8089Reading input from stdin:
8090
8091 The '^undochange' command can read paths from stdin. To do this, pass a
8092 single dash "-".
8093 Example:
8094 cm ^undochange -
8095
8096 Paths will be read until an empty line is entered.
8097 This allows you to use pipe to specify for which files to undo changes.
8098 Example:
8099 dir /S /B *.c | cm ^undochange -
8100 (In Windows, undoes the changes of all .c files in the workspace.)
8101
8102Examples:
8103
8104 cm ^unc .
8105 (Undoes changes of the files on the current directory.)
8106
8107 cm ^undochange . -^R
8108 (Undoes changes of the files recursively on the current directory.)
8109
8110 cm ^unc file1.txt "file 2.txt"
8111 (Undoes changes of the selected files.)
8112
8113 cm ^unc c:\workspace\file.txt
8114 (Undoes changes of the selected file.)
8115
8116== CMD_DESCRIPTION_UNDO ==
8117Undoes changes in a workspace.
8118
8119== CMD_USAGE_UNDO ==
8120Usage:
8121
8122 cm ^undo [<path> [...]] [--^symlink] [-^r | --^recursive] [<filter> [...]]
8123 [--^silent | [--^machinereadable [--^startlineseparator=<sep>]
8124 [--^endlineseparator=<sep>]
8125 [--^fieldseparator=<sep>]]
8126
8127Options:
8128
8129 --^symlink Applies the undo operation to the symlink and not
8130 to the target.
8131 -^r Executes the undo recursively.
8132 --^silent Does not show any output.
8133 --^machinereadable Outputs the result in an easy-to-parse format.
8134 --^startlineseparator Used with the '--^machinereadable' flag, specifies
8135 how the lines should start.
8136 --^endlineseparator Used with the '--^machinereadable' flag, specifies
8137 how the lines should end.
8138 --^fieldseparator Used with the '--^machinereadable' flag, specifies
8139 how the fields should be separated.
8140 path Path of the files or directories to apply the operation to.
8141 Use double quotes (" ") to specify paths containing spaces.
8142 Use a whitespace to separate paths.
8143 If no path is specified, by default the undo operation will take
8144 all of the files in the current directory.
8145 filter Applies the specified filter or filters to the given paths. Use
8146 a whitespace to separate filters. See the Filters section for
8147 more information.
8148
8149== CMD_HELP_UNDO ==
8150Remarks:
8151
8152 - If no path is specified, it will undo every change in the current
8153 directory but not recursively.
8154
8155 - If one or more paths are specified, it will undo every change in the
8156 specified paths but not recursively.
8157
8158 - If you want the operation to be recursive, you must specify the '-^r' flag.
8159 To undo all of the changes below a directory including changes affecting
8160 the directory itself, run the following command:
8161
8162 cm ^undo dirpath -^r
8163
8164 If dirpath is a workspace path, every change in the workspace will be
8165 undone.
8166
8167 - The '^undo' command is dangerous because it undoes work irreversibly.
8168 Once the ^undo has finished, it is not possible to recover the previous
8169 state of the files and directories affected by it.
8170
8171 - Consider the following scenario:
8172
8173 - /src
8174 - file.txt
8175 - code.cs
8176 - /test
8177 - test_a.py
8178 - test_b.py
8179
8180 These commands are equivalent when executed from the /src directory:
8181 cm ^undo
8182 cm ^undo *
8183 cm ^undo file.txt code.cs /test
8184
8185 These commands are also equivalent when executed from the /src directory:
8186 cm ^undo .
8187 cm ^undo /src file.txt code.cs
8188
8189Filters:
8190
8191 The paths can be filtered using one or more of the filters below. Each of
8192 those filters refers to a type of change:
8193 --^checkedout Selects checked-out files and directories.
8194 --^unchanged Selects files whose content is unchanged.
8195 --^changed Selects locally changed or checked-out files and directories.
8196 --^deleted Selects deleted files and directories.
8197 --^moved Selects moved files and directories.
8198 --^added Selects added files and directories.
8199
8200 If the path matches one or more of the specified kinds of changes, those
8201 types of changes will be undone on that said path.
8202 For example, if you specify both '--^checkedout' and '--^moved', if a file
8203 is both checkedout and moved, both changes will be undone.
8204
8205 If no filter is specified, all kinds of changes are undone.
8206
8207Examples:
8208
8209 cm ^undo .
8210 (Undoes all changes in the current directory.
8211 It won't undo changes within its subdirectories.)
8212
8213 cm ^undo . -^r
8214 (Undoes all changes in the current directory recursively. If executed
8215 from the workspace's root, undoes all changes in the entire workspace.)
8216
8217 cm ^co file.txt
8218 cm ^undo file.txt
8219 (Undoes the checkout on 'file.txt'.)
8220
8221 cm ^undo c:\otherworkspace\file.txt
8222 (Undoes changes in file 'file.txt' located in a workspace other than the
8223 current one.)
8224
8225 ^echo ^content >> file.txt
8226 cm ^undo file.txt
8227 (Undoes the local change to 'file.txt'.)
8228
8229 cm ^undo src
8230 (Undoes changes to the src directory and its files.)
8231
8232 cm ^undo src/*
8233 (Undoes changes in every file and directory contained in src, without
8234 affecting src.)
8235
8236 cm ^undo *.cs
8237 (Undoes changes to every file or directory that matches *.cs in the current
8238 directory.)
8239
8240 cm ^undo *.cs -^r
8241 (Undoes changes on every file or directory that matches *.cs in the current
8242 directory and every directory below it.)
8243
8244 cm ^co file1.txt file2.txt
8245 ^echo ^content >> file1.txt
8246 cm ^undo --^unchanged
8247 (Undoes the checkout of unchanged 'file2.txt', ignoring locally changed
8248 'file1.txt'.)
8249
8250 ^echo ^content >> file1.txt
8251 ^echo ^content >> file2.txt
8252 cm ^co file1.txt
8253 cm ^undo --^checkedout
8254 (Undoes the changes in checked-out file 'file1.txt', ignoring 'file2.txt' as
8255 it is not checked-out.)
8256
8257 cm ^add file.txt
8258 cm ^undo file.txt
8259 (Undo the add of 'file.txt' making it once again a private file.)
8260
8261 ^rm file1.txt
8262 ^echo ^content >> file2.txt
8263 cm ^add file3.txt
8264 cm ^undo --^deleted --^added *
8265 (Undoes the 'file1.txt' delete and 'file3.txt' add, ignoring the 'file2.txt'
8266 change.)
8267
8268== CMD_DESCRIPTION_LOCK_UNLOCK ==
8269Undoes item locks on a server.
8270
8271== CMD_USAGE_LOCK_UNLOCK ==
8272Usage:
8273
8274 cm ^lock ^unlock <itemspec>[ ...] [--^remove]
8275
8276Options:
8277 --^remove Removes the locks completely for the specified items.
8278 If this option is not specified, it only releases the
8279 Locked status.
8280 itemspec One or more item specs. (Use 'cm ^help ^objectspec'
8281 to learn more about itemspecs.)
8282
8283== CMD_HELP_LOCK_UNLOCK ==
8284Remarks:
8285
8286 - Only the administrator of the server can run the 'cm ^unlock --^remove'
8287 command to delete locks.
8288 - Only the administrator can release locks that belong to other users.
8289 Users can release their own locks.
8290
8291Examples:
8292
8293 cm ^lock ^unlock ^itemid:56@myrep@DIGITALIS:8084
8294 (Releases the lock for the item id 56 in the repo 'myrep@DIGITALIS'.)
8295
8296 cm ^lock ^unlock ^item:/home/user/workspace/foo.psd ^item:/home/user/workspace/bar.psd
8297 (Releases the selected item locks.)
8298
8299 cm ^lock ^unlock ^itemid:56@myrep ^itemid:89@myrep --^remove
8300 (Removes the selected items locks.)
8301
8302== CMD_DESCRIPTION_LOCK_CREATE ==
8303Create item locks on a server.
8304
8305== CMD_USAGE_LOCK_CREATE ==
8306Usage:
8307
8308 cm ^lock ^create | ^mk <branchspec> <itemspec>[ ...]
8309
8310 branchspec The branch where the locks will be created.
8311 (Use 'cm ^help ^objectspec' to learn more about branchspecs.)
8312 itemspec One or more item specs. (Use 'cm ^help ^objectspec'
8313 to learn more about itemspecs.)
8314
8315== CMD_HELP_LOCK_CREATE ==
8316Remarks:
8317
8318 - Only the administrator can create locks.
8319 - All locks created with this command are created in Retained status.
8320 - If the revision loaded in the specified branch (for each item) is the
8321 same loaded in the lock destination branch (/main by default),
8322 then no lock is created.
8323 - The repspec or the branchspec must be the same of all the itemspecs
8324 specified.
8325
8326Examples:
8327
8328 cm ^lock ^create /main/task@myrep ^itemid:56@myrep
8329 (Creates a lock for the item id 56 in the branch /main/task@myrep.)
8330
8331 cm ^lock ^create br:/main/task item:/workspace/foo.psd ^item:/workspace/bar.psd
8332 (Creates a lock for the selected item in the branch /main/task.)
8333
8334== CMD_DESCRIPTION_UPDATE ==
8335Updates the workspace and downloads latest changes.
8336
8337== CMD_USAGE_UPDATE ==
8338Usage:
8339
8340 cm ^update [<item_path> | --^last]
8341 [--^changeset=<csetspec>] [--^cloaked] [--^dontmerge] [--^forced]
8342 [--^ignorechanges] [--^override] [--^recursewk] [--^skipchangedcheck]
8343 [--^silent] [--^verbose] [--^xml[=<output_file>]] [--^encoding=<name>]
8344 [--^machinereadable [--^startlineseparator=<sep>]
8345 [--^endlineseparator=<sep>] [--^fieldseparator=<sep>]]
8346 [--^forcedetailedprogress] [--^noinput]
8347
8348Options:
8349
8350 --^changeset Updates the workspace to a specific changeset.
8351 (Use 'cm ^help ^objectspec' to learn more about
8352 changeset specs.)
8353 --^cloaked Includes the cloaked items in the update operation.
8354 If this option is not specified, those items that are
8355 cloaked will be ignored in the operation.
8356 --^dontmerge In case an update merge is required during the update
8357 operation, does not perform it.
8358 --^forced Forces updating items to the revision specified in
8359 the selector.
8360 --^ignorechanges Ignores the pending changes warning message that is
8361 shown if there are pending changes detected when
8362 updating the workspace.
8363 --^noinput Skips the interactive questions to continue the
8364 operation with pending changes or to shelve them.
8365 Using this option disables the possibility of
8366 bringing your pending changes.
8367 --^override Overrides changed files outside Unity VCS control.
8368 Their content will be overwritten with the server
8369 content.
8370 --^recursewk Updates all the workspaces found within the current
8371 path. Useful to update all the workspaces contained
8372 in a specific path.
8373 --^skipchangedcheck Checks if there are local changes in your workspace
8374 before starting. If you always checkout before
8375 modifying a file, you can use this check and speed
8376 up the operation.
8377 --^silent No output is shown unless an error happens.
8378 Using this option disables the possibility of
8379 bringing your pending changes.
8380 --^verbose Shows additional information.
8381 --^xml Prints the output in XML format to the standard output.
8382 It is possible to specify an output file.
8383 Using this option disables the possibility of
8384 bringing your pending changes.
8385 --^encoding Used with the --^xml option, specifies the encoding to
8386 use in the XML output, i.e.: utf-8.
8387 See the MSDN documentation at
8388 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
8389 to get the table of supported encodings and its format,
8390 (at the end of the page, in the "Name" column).
8391 --^machinereadable Outputs the result in an easy-to-parse format.
8392 Using this option disables the possibility of
8393 bringing your pending changes.
8394 --^startlineseparator Used with the '--^machinereadable' flag,
8395 specifies how the lines should start.
8396 --^endlineseparator Used with the '--^machinereadable' flag,
8397 specifies how the lines should end.
8398 --^fieldseparator Used with the '--^machinereadable' flag,
8399 specifies how the fields should be separated.
8400 --^forcedetailedprogress Forces detailed progress even when standard output
8401 is redirected.
8402 --^last Changes the workspace selector from a changeset
8403 configuration or a label configuration to a branch
8404 configuration before updating. The selector is changed
8405 to the branch the changeset or label belongs to.
8406 item_path Path to update. Use . to apply update to current directory.
8407 If no path is specified, then the current workspace is
8408 fully updated.
8409
8410== CMD_HELP_UPDATE ==
8411Remarks:
8412
8413 The '^update' command only downloads needed files.
8414
8415 The command assumes recursive operation.
8416
8417 When the '--^last' option is used, it is not necessary to specify a path.
8418 In this case, the workspace the current working directory belongs to will
8419 be updated. (Remember that specifying this flag could cause the workspace
8420 selector to be changed to a branch configuration if the selector was
8421 previously pointing to a changeset or a label.)
8422
8423Examples:
8424
8425 cm ^update
8426 (Updates all in the current workspace.)
8427
8428 cm ^update .
8429 (Updates current directory, and all children items.)
8430
8431 cm ^update . --^forced --^verbose
8432 (Forces retrieval of all revisions.)
8433
8434 cm ^update --^last
8435
8436 cm ^update . --^machinereadable --^startlineseparator=">"
8437 (Updates current directory and prints the result in a simplified
8438 easier-to-parse format, starting the lines with the specified
8439 strings.)
8440
8441== CMD_DESCRIPTION_VERSION ==
8442Shows the current client version number.
8443
8444== CMD_USAGE_VERSION ==
8445Usage:
8446
8447 cm ^version
8448
8449== CMD_HELP_VERSION ==
8450Shows the current client version number.
8451
8452== CMD_DESCRIPTION_WHOAMI ==
8453Shows the current Unity VCS user.
8454
8455== CMD_USAGE_WHOAMI ==
8456Usage:
8457
8458 cm ^whoami
8459
8460== CMD_HELP_WHOAMI ==
8461Shows the current Unity VCS user.
8462
8463== CMD_DESCRIPTION_WORKSPACE ==
8464Allows the user to manage workspaces.
8465
8466== CMD_USAGE_WORKSPACE ==
8467Usage:
8468
8469 cm ^workspace | ^wk <command> [options]
8470
8471Commands:
8472
8473 - ^list | ^ls
8474 - ^create | ^mk
8475 - ^delete | ^rm
8476 - ^move | ^mv
8477 - ^rename
8478
8479 To get more information about each command run:
8480 cm ^workspace <command> --^usage
8481 cm ^workspace <command> --^help
8482
8483== CMD_HELP_WORKSPACE ==
8484Examples:
8485
8486 cm ^workspace ^create myWorkspace wk_path
8487 cm ^workspace ^list
8488 cm ^workspace ^delete myWorkspace
8489
8490== CMD_DESCRIPTION_WORKSPACE_CREATE ==
8491Creates a new workspace.
8492
8493== CMD_USAGE_WORKSPACE_CREATE ==
8494Usage:
8495
8496 cm ^workspace | ^wk [^create | ^mk] <rep_spec>
8497 [^create | ^mk] <wk_name> <wk_path> [<rep_spec>]
8498 [^create | ^mk] <wk_name> <wk_path> [--^selector[=<selector_file>]
8499 (Creates a new workspace.)
8500
8501 cm ^workspace | ^wk [^create | ^mk] <wk_name> <wk_path> --^dynamic --^tree=[<tree>]
8502 (Creates a dynamic workspace. This feature is still experimental, and it's
8503 only available for Windows.)
8504
8505Options:
8506
8507 --^selector Edits a selector for the new workspace.
8508 If a selector file is specified, then sets the selector
8509 for the new workspace from the specified file.
8510 --^dynamic Creates a dynamic workspace. This feature is still
8511 experimental, and it's only available for Windows.
8512 Specifying this flag requires using the --^tree parameter.
8513 --^tree Used with the '--^dynamic' flag, specifies the initial
8514 point the dynamic workspace is going to load. It can
8515 either be a branch, changeset, or label specification.
8516 The workspace will later on use the repository in the
8517 spec. (Use 'cm ^help ^objectspec' to learn more about specs.)
8518 wk_name The new workspace name.
8519 wk_path Path of the new workspace.
8520 rep_spec Creates the new workspace with the specified repository.
8521 Repository specification: check 'cm ^help ^objectspec'.
8522
8523== CMD_HELP_WORKSPACE_CREATE ==
8524Remarks:
8525
8526 - A workspace is a view of the repository mapped to the local filesystem.
8527 The workspace selector defines the rules that specify workspace content.
8528 Use 'cm ^showselector' to display a workspace selector or 'cm ^setselector'
8529 to modify it.
8530 - If neither rep_spec nor '--^selector' is specified, then the workspace
8531 will automatically be configured to use the first repository
8532 (alphabetically) of the server configured in the client.conf file.
8533 - The dynamic workspaces is a experimental feature (Windows only), and it
8534 requires the plasticfs.exe program running.
8535
8536Examples:
8537
8538 cm ^workspace ^create mycode
8539 cm ^wk ^mk mycode
8540 (Creates a 'mycode' workspace pointing to the repository with the same name.
8541 The workspace directory will be created under the current directory.)
8542
8543 cm ^wk ^mk mycode@localhost:8084
8544 cm ^wk ^mk mycode@myorganization@cloud
8545 (Creates a 'mycode' workspace as before, but you can specify different repository server.)
8546
8547 cm ^workspace ^create myworkspace c:\workspace
8548 cm ^wk ^mk myworkspace /home/john/plastic_view
8549 (Creates 'myworkspace' workspace in Windows and in Linux respectively.)
8550
8551 cm ^wk mywktest c:\wks\wktest --^selector=myselector.txt
8552 (Creates 'mywktest' workspace using the selector in 'myselector.txt' file.)
8553
8554 cm ^wk mywkprj c:\wks\wkprj myrep@^repserver:localhost:8084
8555 (Creates 'mywkprj' workspace with the selected repository.)
8556
8557 cm ^wk mywkprj c:\dynwks\mywkprj --^dynamic --^tree=^br:/main@myrep@localhost:8084
8558 (Creates dynamic 'mywkprj' workspace with the 'myrep@localhost:8084'
8559 repository, pointing to '^br:/main' the first time it gets mounted.)
8560
8561== CMD_DESCRIPTION_WORKSPACE_DELETE ==
8562Deletes a workspace.
8563
8564== CMD_USAGE_WORKSPACE_DELETE ==
8565Usage:
8566
8567 cm ^workspace | ^wk ^delete | ^rm [<wk_path> | <wkspec>] [--^keepmetadata]
8568
8569Options:
8570
8571 --^keepmetadata Does not delete the metadata files in the .plastic
8572 folder.
8573 wk_path Path of the workspace to be deleted.
8574 wkspec Specification of the workspace to delete. (Use
8575 'cm ^help ^objectspec' to learn more about specs.)
8576
8577== CMD_HELP_WORKSPACE_DELETE ==
8578Remarks:
8579
8580 This command deletes a workspace, specified by path or spec.
8581 If no arguments are specified, current workspace will be assumed.
8582
8583Examples:
8584
8585 cm ^workspace ^delete
8586 (Removes current workspace.)
8587
8588 cm ^wk ^delete c:\workspace
8589 cm ^workspace rm /home/danipen/wks
8590 cm ^wk ^rm ^wk:MiWorkspace
8591 cm ^wk ^rm ^wk:MiWorkspace@DIGITALIS
8592
8593== CMD_DESCRIPTION_WORKSPACE_LIST ==
8594Lists workspaces.
8595
8596== CMD_USAGE_WORKSPACE_LIST ==
8597Usage:
8598
8599 cm ^workspace | ^wk [^list | ^ls] [--^format=<str_format>]
8600
8601Options:
8602
8603 --^format Retrieves the output message in a specific format. See
8604 Remarks for more info.
8605
8606== CMD_HELP_WORKSPACE_LIST ==
8607Remarks:
8608
8609 Output format parameters (--^format option):
8610 This command accepts a format string to show the output.
8611 The output parameters of this command are the following:
8612
8613 {0} | {^wkname} Workspace name.
8614 {1} | {^machine} Client machine name.
8615 {2} | {^path} Workspace path.
8616 {3} | {^wkid} Workspace unique identifier.
8617 {4} | {^wkspec} Workspace specification using the format:
8618 'wkname@machine'.
8619 {^tab} Inserts a tab space.
8620 {^newline} Inserts a new line.
8621
8622Examples:
8623
8624 cm ^wk
8625 (Lists all workspaces.)
8626
8627 cm ^workspace ^list --^format={0}#{3,40}
8628 cm ^workspace ^list --^format={^wkname}#{^wkid,40}
8629 (Lists all workspaces and shows the workspace name, a # symbol and the
8630 workspace GUID field in 40 spaces, aligned to left.)
8631
8632 cm ^wk --^format="Workspace {0} in path {2}"
8633 cm ^wk --^format="Workspace {^wkname} in path {^path}"
8634 (Lists all workspaces and shows result as formatted strings.)
8635
8636== CMD_DESCRIPTION_WORKSPACE_MOVE ==
8637Moves a workspace.
8638
8639== CMD_USAGE_WORKSPACE_MOVE ==
8640Usage:
8641
8642 cm ^workspace | ^wk ^move | ^mv [<wkspec>] <new_path>
8643
8644Options:
8645
8646 wkspec Specification of the workspace to move. (Use
8647 'cm ^help ^objectspec' to learn more about specs.)
8648 new_path Workspace will be moved to here.
8649
8650== CMD_HELP_WORKSPACE_MOVE ==
8651Remarks:
8652
8653 This command allows users to move a workspace to another location on disk.
8654
8655Examples:
8656
8657 cm ^workspace ^move myWorkspace \new\workspaceDirectory
8658 (Moves 'myWorkspace' to the specified location.)
8659
8660 cm ^wk ^mv c:\users\maria\wkspaces\newlocation
8661 (Moves the current workspace to the new location.)
8662
8663== CMD_DESCRIPTION_WORKSPACE_RENAME ==
8664Renames a workspace.
8665
8666== CMD_USAGE_WORKSPACE_RENAME ==
8667Usage:
8668
8669 cm ^workspace | ^wk ^rename [<wk_name>] <new_name>
8670
8671Options:
8672
8673 wk_name Workspace to rename.
8674 new_name New name for the workspace.
8675
8676== CMD_HELP_WORKSPACE_RENAME ==
8677Remarks:
8678
8679 This command renames a workspace.
8680 If no workspace name is supplied, the current workspace will be used.
8681
8682Examples:
8683
8684 cm ^workspace ^rename mywk1 wk2
8685 (Renames the workspace 'mywk1' to 'wk2'.)
8686
8687 cm ^wk ^rename newname
8688 (Renames the current workspace to 'newname'.)
8689
8690== CMD_DESCRIPTION_WORKSPACESTATUS ==
8691Shows changes in the workspace.
8692
8693== CMD_USAGE_WORKSPACESTATUS ==
8694Usage:
8695
8696 cm ^status [<wk_path>] [--^changelist[=<name>] | --^changelists] [--^cutignored]
8697 [ --^header] [ --^noheader] [ --^nomergesinfo] [ --^head]
8698 [--^short] [--^symlink] [ --^dirwithchanges] [--^xml[=<output_file>]]
8699 [--^encoding=<name>] [ --^wrp | --^wkrootrelativepaths]
8700 [--^fullpaths | --^fp] [<legacy_options>] [<search_types>[ ...]]
8701 [--^pretty]
8702 [--^machinereadable [--^startlineseparator=sep]
8703 [--^endlineseparator=sep] [--^fieldseparator=sep]]
8704
8705Options:
8706
8707 --^changelist Shows changes in the selected changelist.
8708 --^changelists Shows changes grouped in client changelists.
8709 --^cutignored Skips the contents of ignored directories.
8710 Requires the '--^ignored' search type. See the Search
8711 types section for more information.
8712 --^header Only prints the workspace status.
8713 --^noheader Only prints the modified item search result.
8714 --^nomergesinfo Doesn't print the merge info for changes.
8715 --^head Prints the status of the last changeset on the branch.
8716 --^short Lists only paths that contains changes.
8717 --^symlink Applies the operation to the symlink and not to the
8718 target.
8719 --^dirwithchanges Shows directories that contain changes inside them
8720 (added, moved, removed items inside).
8721 --^xml Prints the output in XML format to the standard output.
8722 It is possible to specify an output file.
8723 --^pretty Prints workspace changes in a nice table format.
8724 --^encoding Used with the --^xml option, specifies the encoding to
8725 use in the XML output, i.e.: utf-8.
8726 See the MSDN documentation at
8727 http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
8728 to get the table of supported encodings and its format
8729 (at the end of the page, in the "Name" column).
8730 --^wrp Print workspace root relative paths instead of
8731 current directory relative paths.
8732 --^fullpaths, --^fp Force printing absolute paths, overriding any other
8733 path printing setting.
8734 --^machinereadable Outputs the result in an easy-to-parse format.
8735 --^startlineseparator Used with the '--^machinereadable' flag,
8736 specifies how the lines should start.
8737 --^endlineseparator Used with the '--^machinereadable' flag,
8738 specifies how the lines should end.
8739 --^fieldseparator Used with the '--^machinereadable' flag,
8740 specifies how the fields should be separated.
8741 --^iscochanged Shows whether contents of a checked-out file have
8742 changed or not. This flag is only available with
8743 "--^compact", "--^xml" and "--^machinereadable" options.
8744 If this flag is not set, the "--^compact", "--^xml" or
8745 "--^machinereadable" options will show just "^CO"
8746 status for a checked-out file with its contents
8747 changed.
8748 If this flag is set, the "--^compact", "--^xml" or
8749 "--^machinereadable" options will show "^CO+CH" status
8750 for a checked-out file with its contents changed.
8751 wk_path Path of the workspace where the search will be
8752 performed.
8753
8754Legacy options:
8755
8756 --^cset Prints the workspace status in the legacy format.
8757 --^compact Prints the workspace status and changelists in the
8758 legacy format.
8759 --^noheaders When used in conjunction with the '--^compact' flag, the
8760 changelist headers will not be printed. (Does not apply
8761 to the new changelists format.)
8762
8763Search types:
8764
8765 --^added Prints added items.
8766 --^checkout Prints checkedout items.
8767 --^changed Prints changed items.
8768 --^copied Prints copied items.
8769 --^replaced Prints replaced items.
8770 --^deleted Prints deleted items.
8771 --^localdeleted Prints locally deleted items.
8772 --^moved Prints moved items.
8773 --^localmoved Prints locally moved items.
8774 --^percentofsimilarity=<value> Percent of similarity between two files in
8775 order to consider them the same item. Used
8776 in the locally moved search. Its default
8777 value is 20%.
8778 --^txtsameext Only those text files that have the same
8779 extension will be taken into account by the
8780 similarity content matching process during
8781 the moved items search. By default, any
8782 text file will be processed.
8783 --^binanyext Any binary file will be taken into account
8784 by the similarity content matching process
8785 during the moved items search. By default,
8786 only those binary files that have the same
8787 extension will be processed.
8788 --^private Prints non controlled items.
8789 --^ignored Prints ignored items.
8790 --^hiddenchanged Prints hidden changed items. (Includes
8791 '--^changed')
8792 --^cloaked Prints cloaked items.
8793 --^controlledchanged This flag substitutes the following options:
8794 '--^added', '--^checkout', '--^copied',
8795 '--^replaced', '--^deleted', '--^moved'.
8796 --^all This flag replaces the following parameters:
8797 '--^controlledchanged', '--^changed',
8798 '--^localdeleted', '--^localmoved', '--^private'.
8799
8800== CMD_HELP_WORKSPACESTATUS ==
8801Remarks:
8802
8803 The '^status' command prints the loaded changeset on a workspace and gets
8804 the changed elements inside the workspace.
8805
8806 This command can be used to show the pending changes in a workspace; the
8807 type of changes that can be searched can be modified by using the command
8808 parameters. By default, all changes are displayed, be they controlled
8809 or local.
8810
8811 The percent of similarity parameter '--^percentofsimilarity' (-^p) is used
8812 by the locally moved search to decide if two elements are the same item.
8813 The default value is 20% but it can be adjusted.
8814
8815 It is possible to show workspace changes grouped by client changelists.
8816 The '^default' changelist includes the changes that are not included in
8817 other changelists. That being said, the changes the default changelist
8818 will show depends on the search types flags specified.
8819
8820 Showing changes grouped by changelists requires showing controlled
8821 changes too (items with status equal to '^added', '^checkout', '^copied',
8822 '^replaced', '^deleted', or '^moved'). So, the '--^controlledchanged' option
8823 will be automatically enabled when changelists are shown.
8824
8825 The default encoding for XML output is utf-8.
8826
8827 By default, this command will print current directory relative paths,
8828 unless the '--^machinereadable' or '--^short' flags are specified. If
8829 any of them are specified, the command will print absolute paths.
8830
8831 If '--^xml' flag is specified, workspace root relative paths will
8832 be printed (unless the '--^fp' flag is also specified, printing
8833 absolute paths instead).
8834
8835Examples:
8836
8837 cm ^status
8838 (Prints the working changeset and also all item types changed in the
8839 workspace, except the ignored ones.)
8840
8841 cm ^status --^controlledchanged
8842 (Prints the working changeset and also the items that are checkedout, added,
8843 copied, replaced, deleted, and moved.)
8844
8845 cm ^status --^added
8846 (Prints only the working changeset and the added items inside the workspace.)
8847
8848 cm ^status c:\workspaceLocation\code\client --^added
8849 (Prints the working changeset and the added items under the specified path
8850 recursively.)
8851
8852 cm ^status --^changelists
8853 cm ^status --^changelist
8854 (Shows all the workspace changes grouped by client changelists.)
8855
8856 cm ^status --^changelist=pending_to_review
8857 (Shows the changes on the changelist named 'pending_to_review'.)
8858
8859 cm ^status --^changelist=default --^private
8860 (Shows the changes in the 'default' changelist, showing private items, along
8861 with items with controlled changes, if any.)
8862
8863 cm ^status --^short --^changelist=pending_to_review | cm ^checkin -
8864 (Checkins the changes in the changelist 'pending_to_review'.)
8865
8866 cm ^status C:\workspaceLocation --^xml=output.xml
8867 (Gets the status information in XML format and using utf-8 in the file
8868 output.xml.)
8869
8870 cm ^status --^ignored
8871 (Shows all ignored items.)
8872
8873 cm ^status --^ignored --^cutignored
8874 (Shows ignored files whose parent directory is not ignored and ignored
8875 directories but not their contents.)
8876
8877== CMD_DESCRIPTION_XLINK ==
8878Creates, edits, or displays details of an Xlink.
8879
8880== CMD_USAGE_XLINK ==
8881Usage:
8882
8883 cm ^xlink [-^w] [-^rs] <xlink_path> / (<csetspec> | <lbspec> | <brspec)>
8884 [<expansion_rules>[ ...]]
8885 (Creates an Xlink.)
8886
8887 cm ^xlink [-^rs] <xlink_path> /<relative_path> (<csetspec> | <lbspec> | <brspec>)
8888 [<expansion_rules>[ ...]]
8889 (Creates a readonly partial Xlink pointing to /<relative_path> instead of
8890 the default root / .)
8891
8892 cm ^xlink -^e <xlink_path> (<csetspec> | <lbspec> | <brspec>)
8893 (Edits an Xlink to change the target specification.)
8894
8895 cm ^xlink -^s|--^show <xlink_path>
8896 (Shows the Xlink information including the expansion rules.)
8897
8898 cm ^xlink -^ar|--^addrules <xlink_path> <expansion_rules>[ ...]
8899 (Adds the given expansion rules to the Xlink.)
8900
8901 cm ^xlink -^dr|--^deleterules <xlink_path> <expansion_rules>[ ...]
8902 (Removes the given expansion rules from the Xlink.)
8903
8904Options:
8905
8906 -^e Edits an existing Xlink to change the target changeset
8907 specification.
8908 -^s | --^show Shows information about the selected Xlink.
8909 -^ar | --^addrules Adds one or more expansion rules to the selected Xlink.
8910 -^dr | --^deleterules Deletes one or more expansion rules from the selected
8911 Xlink.
8912 -^w Indicates that the Xlink is writable. This means that
8913 the contents of the target repository can be modified
8914 through branch autoexpansion.
8915 -^rs Relative server. This option allows creating a relative
8916 Xlink that is independent of the repository server. This
8917 way, Xlinks created in replicated repositories in
8918 different servers will be automatically identified.
8919 expansion_rules To specify one or more expansion rule. Each expansion
8920 rule is a pair branch-target branch:
8921 ^br:/main/fix-^br:/main/develop/fix
8922 xlink_path This is the directory in the current workspace where
8923 the linked repository will be mounted (when creating an
8924 Xlink) or is mounted (when editing an Xlink).
8925 csetspec The full target changeset specification in the remote
8926 repository.
8927 This determines what version and branch is loaded in the
8928 workspace for the linked repository.
8929 (Use 'cm ^help ^objectspec' to learn more about changeset
8930 specs.)
8931 lbspec The full label specification in the remote repository.
8932 (Use 'cm ^help ^objectspec' to learn more about label
8933 specs.)
8934 brspec The full branch specification in the remote repository.
8935 This uses the current changeset where the specified
8936 branch is pointing to. (Use 'cm ^help ^objectspec' to
8937 learn more about branch specs.)
8938
8939== CMD_HELP_XLINK ==
8940Remarks:
8941
8942 This command creates an Xlink to a given changeset. By default, a read-only
8943 Xlink is created. This means that the contents loaded in the workspace
8944 inside the Xlink cannot be modified. To be able to make changes in the
8945 Xlinked content, create a writable Xlink instead (using the '-^w' option).
8946
8947 It is possible to use a simplified syntax of the command when editing the
8948 target changeset of an Xlink. This way, the only required parameter is the
8949 new target changeset. The rest of parameters of the Xlink will not be
8950 modified.
8951
8952 Branch auto-expansion:
8953
8954 When a change is made in any writable-xlinked repositories ('-^w' option), a
8955 new branch needs to be created in the target repository. The name of the
8956 new branch is based on the checkout branch defined in the top-level
8957 repository. To determine the name of the branch to use, these rules apply:
8958
8959 1) A check is made to see if a branch with the same full name exists
8960 in the target repository:
8961 - If it exists, this is used as the checkout branch.
8962 - If it does not exist, the branch name is built this way:
8963 - Name of the branch of the target Xlinked changeset + short name of
8964 the checkout branch (last part).
8965 - If this branch exists, it is used as the checkout branch.
8966 - Otherwise, the branch is created and the branch base is set to the
8967 Xlinked changeset.
8968 2) A new version of the Xlink is created in the branch on the parent
8969 repository pointing to the new changeset in the Xlinked repository.
8970
8971 Finally, the complete Xlink structure is kept up to date with the latest
8972 changes in the right versions.
8973
8974Examples:
8975
8976 cm ^xlink code\firstrepo / 1@first@localhost:8084
8977 (Creates an Xlink in folder 'firstrepo' in the current workspace where the
8978 changeset '1' in the repository 'first' will be mounted.)
8979
8980 cm ^xlink opengl\include /includes/opengl 1627@includes@localhost:8087
8981 (Creates a readonly partial Xlink in directory 'opengl\include' in the
8982 current workspace where the path '/includes/opengl' in changeset '1627' in
8983 the repository 'includes' will be mounted as root. It means that whatever
8984 is inside '/includes/opengl' will be mounted in 'opengl\include' while the
8985 rest of the repository will be ignored.)
8986
8987 cm ^xlink -^w -^rs code\secondrepo / ^lb:LB001@second@localhost:8084
8988 (Creates a writable and relative Xlink in folder 'secondrepo' in the
8989 current workspace where the label 'LB001' in the repository 'second' will
8990 be mounted.)
8991
8992 cm ^xlink code\thirdrepo / 3@third@localhost:8087 ^br:/main-^br:/main/scm003
8993 (Creates an Xlink in folder 'thirdrepo' in the current workspace where the
8994 changeset '3' in the repository 'third' will be mounted.)
8995
8996 cm ^xlink -^e code\secondrepo ^br:/main/task1234@second@localhost:8084
8997 (Edits the Xlink 'code\secondrepo' to change the target repository by
8998 linking the branch 'main/task1234' in the repository 'second'.)
8999
9000 cm ^xlink --^show code\thirdrepo
9001 (Shows information of the Xlink 'code\thirdrepo' including its expansion
9002 rules if exist).
9003
9004 cm ^xlink -^ar code\secondrepo ^br:/main-^br:/main/develop ^br:/main/fix-^br:/main/develop/fix
9005 (Adds two expansion rules to the xlink 'code\secondrepo'.)
9006
9007 cm ^xlink -^dr code\secondrepo ^br:/main/fix-^br:/main/develop/fix
9008 (Deletes the expansion rule from the xlink 'code\secondrepo').
9009
9010== CMD_DESCRIPTION_AUTOCOMPLETE ==
9011Allows to implement autocomplete suggestions in a line at the cursor position.
9012
9013== CMD_USAGE_AUTOCOMPLETE ==
9014Usage:
9015
9016 cm ^autocomplete ^install
9017 (Installs 'cm' command completion in the shell.)
9018
9019 cm ^autocomplete ^uninstall
9020 (Uninstalls 'cm' command completion from the shell.)
9021
9022 cm ^autocomplete --^line <shell_line> --^position <cursor_position>
9023 (Returns autocomplete suggestions for 'shell_line' to be inserted at
9024 'cursor_position'.)
9025
9026Options:
9027
9028 shell_line The line the user has written into the shell when the
9029 autocompletion was requested.
9030 In Bash, it is at the COMP_LINE environment variable.
9031 In PowerShell, it is at the $wordToComplete variable.
9032 cursor_position The position of the cursor when the autocompletion was
9033 requested.
9034 In Bash, it is at the COMP_POINT environment variable.
9035 In PowerShell, it is at the $cursorPosition variable.
9036
9037== CMD_HELP_AUTOCOMPLETE ==
9038
9039Remarks:
9040
9041 This command is not intended to be used by the final user,
9042 but it is documented in case it is needed to extend autocompletion
9043 support for the shell of choice.
9044
9045Examples:
9046
9047 cm ^autocomplete --^line "cm ^show" --^position 7
9048 (Shows a list of commands starting with "show". In this case:
9049 showcommands, showfindobjects, showacl, showowner, showpermissions,
9050 showselector.)
9051
9052== CMD_DESCRIPTION_API ==
9053Starts a local HTTP server that listens for REST API requests.
9054
9055== CMD_USAGE_API ==
9056Usage:
9057
9058 cm ^api [(-^p|--^port)=<portnumber>] [(-^r|--^remote)]
9059
9060Options:
9061
9062 -^p | --^port Tells the server to listen on port <portnumber>
9063 instead of 9090.
9064 -^r | --^remote Allows incoming remote connections. This means
9065 connections that come from other hosts instead of the
9066 local one.
9067
9068== CMD_HELP_API ==
9069Remarks:
9070
9071 The cm ^api command allows programmers to perform Unity VCS client operations
9072 in their machines.
9073 Read the Unity VCS API Guide for more information:
9074 https://www.plasticscm.com/documentation/restapi/plastic-scm-version-control-rest-api-guide
9075
9076 By default, the API listens for local connections only, on port 9090.
9077
9078 Press the Enter key to stop the server.
9079
9080Examples:
9081
9082 cm ^api
9083 (Starts the API listening on port 9090, local connections only.)
9084
9085 cm ^api -^r
9086 (Starts the API listening on port 9090, allowing any incoming connection.)
9087
9088 cm ^api --^port=15000 -^r
9089 (Starts the API listening on port 15000, allowing any incoming connection.)
9090
9091== CMD_DESCRIPTION_CONFIGURECLIENT ==
9092Configures the Unity VCS client for the current machine user to work with a default server.
9093
9094== CMD_USAGE_CONFIGURECLIENT ==
9095Usage:
9096 cm ^configure [--^language=<language> --^workingmode=<mode> [AuthParameters]
9097 --^server=<server> [--^port=<port>]] [--^clientconf=<clientconfpath>]
9098
9099Options:
9100
9101 --^language Available languages. See remarks for more info.
9102 --^workingmode Available users/security working modes. See remarks for more info.
9103 --^server Unity VCS server IP / address.
9104 --^port Unity VCS server port (optional for Cloud servers).
9105 --^clientconf File path used to create the configuration file (optional).
9106 AuthParameters Authentication parameters. See Remarks for more info.
9107
9108== CMD_HELP_CONFIGURECLIENT ==
9109Remarks:
9110
9111 The cm ^configure command cannot be used on Cloud Edition or DVCS Edition of Unity VCS.
9112 Use 'plastic --configure' instead.
9113
9114 Languages:
9115
9116 - en (English)
9117 - es (Spanish)
9118
9119 Working modes:
9120
9121 - NameWorkingMode (Name)
9122 - NameIDWorkingMode (Name + ID)
9123 - LDAPWorkingMode (LDAP)
9124 - ADWorkingMode (Active Directory)
9125 - UPWorkingMode (User and password)
9126 - SSOWorkingMode (Single Sign On)
9127
9128 Client configuration:
9129
9130 If this parameter is not specified, the default directory for
9131 'client.conf' file would be '%LocalAppData%\plastic4'
9132 on Windows or '$HOME/.plastic4' on linux/macOS.
9133
9134 AuthParameters:
9135
9136 - ^LDAPWorkingMode and ^UPWorkingMode
9137 - --^user=<user>
9138 - --^password=<password>
9139 - ^SSOWorkingMode
9140 - --^user=<user>
9141 - --^token=<token>
9142
9143Examples:
9144
9145 cm ^configure
9146 (runs the interactive Unity VCS client configuration command)
9147
9148 cm ^configure --^language=^en --^workingmode=^LDAPWorkingMode --^user=^jack --^password=^01234 \
9149 --^server=^plastic.mymachine.com --^port=^8084
9150 (configures the Unity VCS client with the specified parameters and creates the 'client.conf'
9151 configuration file in the default directory)
9152
9153 cm ^configure --^language=^en --^workingmode=^NameWorkingMode --^server=^plastic.mymachine.com \
9154 --^port=^8084 --^clientconf=^clientconf_exp.conf
9155 (configures the Unity VCS client with the specified parameters and creates the 'client.conf'
9156 configuration file in the specified path)
9157
9158 cm ^configure --^clientconf=c:/path/to/myclient.conf
9159 (Specified path will be used to create the client configuration file)
9160
9161 cm ^configure --^clientconf=myclient.conf
9162 (File myclient.conf inside default config directory will be used)
9163
9164 cm ^configure --^clientconf=c:/exisitingDirectory
9165 (Default filename, client.conf, in specified directory will be used)
9166 configuration file in the specified path)
9167
9168== CMD_DESCRIPTION_PURGE ==
9169Allows the user to inspect, register and execute repository purges. Purged revisions are no longer accessible for that repository, thus helping to free space.
9170
9171Warning: Purge actions are irreversible. Once they are executed, you will not be able to load purged revisions anymore—either by switching a workspace or when showing branch or changeset differences. Use this under your own responsibility.
9172
9173== CMD_USAGE_PURGE ==
9174Usage:
9175 cm ^purge <command> [options]
9176
9177Commands:
9178
9179 - ^register
9180 - ^execute
9181 - ^show
9182 - ^history
9183 - ^unregister
9184
9185 To get more information about each command run:
9186 cm ^purge <command> --^usage
9187 cm ^purge <command> --^help
9188
9189== CMD_HELP_PURGE ==
9190Examples:
9191
9192 cm ^purge ^register ".mkv" "1955-Nov-05 6:00 AM" --^repository=timemachine
9193 (registers a purge action for the 'timemachine' repository)
9194
9195 cm ^purge ^history
9196 (lists the ID and status of all the purge actions ever registerd in the server)
9197
9198 cm ^purge ^show 545ec81b-23ea-462c-91f4-d7c62a6e8817 --^verbose
9199 (shows in detail the purge action metadata for a given ID,
9200 including items and revisions affected by the purge)
9201
9202 cm ^purge ^execute 545ec81b-23ea-462c-91f4-d7c62a6e8817
9203 (starts a previously registered purge action)
9204
9205 cm ^purge ^unregister 545ec81b-23ea-462c-91f4-d7c62a6e8817
9206 (purges that were not executed can be deleted from the registry)
9207
9208== CMD_DESCRIPTION_PURGE_REGISTER ==
9209Computes and registers a purge action.
9210
9211File revisions older than the selected date(s) would be considered for purging and, as a rule, we will keep at least a revision in every branch head and labeled revisions. You can use the "cm ^purge ^show" command to check the selected revisions prior to run it with the "cm ^purge ^execute" command.
9212
9213== CMD_USAGE_PURGE_REGISTER ==
9214Usage:
9215 cm ^purge ^register (<extension> <before_date>)... [--^repository=<rep_spec>]
9216
9217Options:
9218
9219 --^repository Repository where the purge is intended to be applied.
9220 It is not necessary within a workspace path but to pick a different one.
9221 extension Extension of the file type to be purged. Note that revisions of renamed
9222 items will also be considered for its removal.
9223 before_date Only revisions older than this date will be considered for its removal.
9224
9225== CMD_HELP_PURGE_REGISTER ==
9226Examples:
9227
9228 cm ^purge ^register ".mkv" "1955-Nov-05 6:00 AM"
9229 (registers a purge action over revisions of Matroska files created before a certain date)
9230
9231 cm ^purge ^register ".mkv" "6:00 AM"
9232 (you can specify just the date or just the time)
9233
9234 cm ^purge ^register ".mkv" "6:00Z"
9235 (you can specify the time in UTC instead of local time)
9236
9237 cm ^purge ^register ".mkv" "1955-Nov-05 6:00 AM" --^repository=timemachine
9238 (you can specify a different repository to register the purge)
9239
9240== CMD_DESCRIPTION_PURGE_EXECUTE ==
9241Executes a purge action previously registered.
9242
9243Warning: Purge actions are irreversible. Once they are executed, you will not be able to load purged revisions anymore—either by switching a workspace or when showing branch or changeset differences. Use this under your own responsibility.
9244
9245Please ensure you check the file history to confirm which revisions/changesets are not relevant. Do not hesitate to use the cm ^purge ^show command prior to the purge execution in order to verify no unexpected revision is selected for its removal.
9246
9247== CMD_USAGE_PURGE_EXECUTE ==
9248Usage:
9249 cm ^purge ^execute <purge_guid> [--^server=<server>]
9250
9251Options:
9252
9253 --^server Allows to specify the server where purge actions
9254 will be executed.
9255 purge_guid The GUID returned by the "cm ^purge ^register" command.
9256
9257== CMD_HELP_PURGE_EXECUTE ==
9258Examples:
9259
9260 cm ^purge ^execute be5b9145-1bd9-4c43-bd90-f2ff727bbf13
9261 (Executes a purge given its ID).
9262
9263 cm ^purge ^execute be5b9145-1bd9-4c43-bd90-f2ff727bbf13 --^server=myorg@cloud
9264 (You can specify a precise server if you need it).
9265
9266== CMD_DESCRIPTION_PURGE_SHOW ==
9267Provides a report of the purge status and contents.
9268
9269== CMD_USAGE_PURGE_SHOW ==
9270Usage:
9271 cm ^purge ^show <purge_guid> [--^verbose | --^server=<server>]
9272
9273Options:
9274
9275 --^server Allows to specify the server where purge actions
9276 will be queried.
9277 --^verbose Extends the report to include the items and revisions
9278 involved in the purge.
9279 purge_guid The GUID returned by the "cm ^purge ^register" command.
9280
9281== CMD_HELP_PURGE_SHOW ==
9282Examples:
9283
9284 cm ^purge ^show be5b9145-1bd9-4c43-bd90-f2ff727bbf13
9285 (Provides a brief report of the purge status)
9286
9287 cm ^purge ^show be5b9145-1bd9-4c43-bd90-f2ff727bbf13 --^verbose
9288 (Provides additional information per purged extension,
9289 including items and revisions)
9290
9291 cm ^purge ^show be5b9145-1bd9-4c43-bd90-f2ff727bbf13 --^server=myorg@cloud
9292 (You can specify a different server if you wish)
9293
9294== CMD_DESCRIPTION_PURGE_HISTORY ==
9295Allows the user to check the state of all the purges registed in the server at some point.
9296
9297Also, it is useful to get information about them that are preserved for query purposes, such as the author, the date of execution or the storage size and the types affected by the purge.
9298
9299== CMD_USAGE_PURGE_HISTORY ==
9300Usage:
9301 cm ^purge ^history [--^verbose | --^server=<server>]
9302 [--^sort=(^desc|^asc)]
9303 [--^skip=<skip> | --^limit=<limit>]
9304
9305Options:
9306
9307 --^server Allows to specify the server where purge actions
9308 will be queried.
9309 --^verbose By default, only the ID and the status is shown per
9310 purge. This option includes more detailed information.
9311 --^sort Specifies an ordering for purges shown in the result.
9312 It can be descending (^desc) or ascending (^asc).
9313 --^skip Specifies a number of entries to skip so they are not
9314 reflected in the result.
9315 --^limit Specifies the maximum number of entries to show at once.
9316
9317== CMD_HELP_PURGE_HISTORY ==
9318Examples:
9319
9320 cm ^purge ^history
9321 (Shows the ID and status for all purges ever registered in the server).
9322
9323 cm ^purge ^history --^server=stoltz@cloud
9324 (You can override the server to use different one if needed).
9325
9326 cm ^purge ^history --^verbose
9327 (Includes more detailed data associated to the shown purges).
9328
9329 cm ^purge ^history --^sort=^asc
9330 (Shows the history starting from the oldest purges).
9331
9332 cm ^purge ^history --^skip=0 --^limit=20
9333 cm ^purge ^history --^skip=20 --^limit=20
9334 cm ^purge ^history --^skip=40 --^limit=20
9335 (Instead of showing everything at once, you can paginate results).
9336
9337== CMD_DESCRIPTION_PURGE_UNREGISTER ==
9338Purge actions can be deleted from the registry if you decide to not run them.
9339Remember that it is not possible to unregister purges that were already executed.
9340
9341== CMD_USAGE_PURGE_UNREGISTER ==
9342Usage:
9343 cm ^purge ^unregister <purge_guid> [--^server=<server>]
9344
9345Options:
9346
9347 --^server Allows to specify the server where purge actions
9348 will be queried.
9349 purge_guid The GUID returned by the "cm ^purge ^register" command.
9350
9351== CMD_HELP_PURGE_UNREGISTER ==
9352Examples:
9353
9354 cm ^purge ^unregister 545ec81b-23ea-462c-91f4-d7c62a6e8817
9355 (purges that were not executed can be deleted from the registry)
9356
9357 cm ^purge ^unregister 545ec81b-23ea-462c-91f4-d7c62a6e8817 --^server=myorg@cloud
9358 (you can specify a different server to unregister the purge)