QUESTION: How can I start working with UCM if I only have the command-line available to me? ANSWER: CREATING A PROJECT VOB taiwan% ct mkvob -tag /vobs/proj -ucmproject -nc -public /vobstore/proj.vbs Registry password: Created versioned object base. Host-local path: taiwan:/vobstore/proj.vbs Global path: /net/taiwan/vobstore/proj.vbs VOB ownership: owner rational.com/bchang group rational.com/usr Additional groups: group rational.com/cc_cup_users VOBs have special data backup considerations. For more information on how to back up your VOB properly, see the documentation for administering ClearCase. If the backups aren't done properly, you are putting your data at risk! taiwan% ct mount /vobs/proj taiwan% CREATING A COMPONENT VOB Create the VOB: taiwan% ct mkvob -tag /vobs/comp -nc -public /vobstore/comp.vbs Registry password: Created versioned object base. Host-local path: taiwan:/vobstore/comp.vbs Global path: /net/taiwan/vobstore/comp.vbs VOB ownership: owner rational.com/bchang group rational.com/usr Additional groups: group rational.com/cc_cup_users VOBs have special data backup considerations. For more information on how to back up your VOB properly, see the documentation for administering ClearCase. If the backups aren't done properly, you are putting your data at risk! taiwan% ct mount /vobs/comp taiwan% Populate the VOB: taiwan% ct setview taiwan [taiwan] taiwan% cd /vobs/comp [taiwan] taiwan% ctco -nc . Checked out "." from version "/main/0". [taiwan] taiwan% ct mkelem -nc foo.txt bar.txt Created element "foo.txt" (type "text_file"). Checked out "foo.txt" from version "/main/0". Created element "bar.txt" (type "text_file"). Checked out "bar.txt" from version "/main/0". [taiwan] taiwan% echo foo.txt >> foo.txt [taiwan] taiwan% echo bar.txt >> bar.txt [taiwan] taiwan% ctci -nc foo.txt bar.txt . Checked in "foo.txt" version "/main/1". Checked in "bar.txt" version "/main/1". Checked in "." version "/main/1". [taiwan] taiwan% Componentize the VOB: [taiwan] taiwan% cd /vobs/proj [taiwan] taiwan% ct mkcomp -nc -root /vobs/comp ucm_technote Set Admin VOB for component "ucm_technote" Created component "ucm_technote". [taiwan] taiwan% ct describe -l component:ucm_technote component "ucm_technote" created 17-Apr-01.14:45:14 by Bruce Chang (bchang.usr@taiwan) owner: bchang group: usr Hyperlinks: ComponentRootDir@107@/vobs/proj -> /vobs/comp/.@@ [taiwan] taiwan% CREATING A PROJECT AND STREAMS Create the Project [taiwan] taiwan% ct mkproject -nc -title "UCM by commandline" -modcomp ucm_technote -in RootFolder ucm_tn_proj Created project "ucm_tn_proj". [taiwan] taiwan% ct describe -l project:ucm_tn_proj project "ucm_tn_proj" created 17-Apr-01.15:01:32 by Bruce Chang (bchang.usr@taiwan) owner: bchang group: usr folder: RootFolder@/vobs/proj title: UCM by commandline development streams: modifiable components: ucm_technote@/vobs/proj default rebase promotion level: INITIAL recommended baselines: policies: POLICY_UNIX_INT_SNAP disabled POLICY_UNIX_DEV_SNAP disabled POLICY_WIN_INT_SNAP disabled POLICY_WIN_DEV_SNAP enabled POLICY_DELIVER_REQUIRE_REBASE disabled POLICY_DELIVER_NCO_DEVSTR disabled [taiwan] taiwan% Create the Integration stream: [taiwan] taiwan% ct mkstream -nc -title "UCM by CLI Integration" -integration -in ucm_tn_proj ucm_cli_int Created stream "ucm_cli_int". [taiwan] taiwan% ct describe -l stream:ucm_cli_int stream "ucm_cli_int" created 17-Apr-01.15:07:17 by Bruce Chang (bchang.usr@taiwan) owner: bchang group: usr project: ucm_tn_proj@/vobs/proj title: UCM by CLI Integration contains activities: foundation baselines: views: Guarding: brtype:ucm_cli_int@/vobs/proj [taiwan] taiwan% Create the Development stream: [taiwan] taiwan% ct mkstream -nc -title "UCM by CLI Dev - Bruce" -in ucm_tn_proj ucm_cli_dev_bchang Created stream "ucm_cli_dev_bchang". [taiwan] taiwan% ct describe -l stream:ucm_cli_dev_bchang stream "ucm_cli_dev_bchang" created 17-Apr-01.15:08:57 by Bruce Chang (bchang.usr@taiwan) owner: bchang group: usr project: ucm_tn_proj@/vobs/proj title: UCM by CLI Dev - Bruce contains activities: foundation baselines: views: Guarding: brtype:ucm_cli_dev_bchang@/vobs/proj [taiwan] taiwan% Be sure to name your streams obviously, because there's no way to tell which streams are integration streams and which ones are development streams if you did it from the command line: [taiwan] taiwan% ct lsstream -l -in ucm_tn_proj stream "ucm_cli_int" 17-Apr-01.15:07:17 by Bruce Chang (bchang.usr@taiwan) owner: bchang group: usr project: ucm_tn_proj@/vobs/proj title: UCM by CLI Integration contains activities: foundation baselines: views: stream "ucm_cli_dev_bchang" 17-Apr-01.15:08:57 by Bruce Chang (bchang.usr@taiwan) owner: bchang group: usr project: ucm_tn_proj@/vobs/proj title: UCM by CLI Dev - Bruce contains activities: foundation baselines: views: [taiwan] taiwan% In order to use your streams, you'll have to create UCM views keyed to the respective stream: [taiwan] taiwan% ct mkview -tag ucm_cli_int -stream ucm_cli_int /viewstore/ucm_cli_int.vws Created view. Host-local path: taiwan:/viewstore/ucm_cli_int.vws Global path: /net/taiwan/viewstore/ucm_cli_int.vws It has the following rights: User : bchang : rwx Group: usr : r-x Other: : r-x Attached view to stream "ucm_cli_int". [taiwan] taiwan% ct mkview -tag ucm_cli_dev_bchang -stream ucm_cli_dev_bchang /viewstore/ucm_cli_dev_bchang.vws Created view. Host-local path: taiwan:/viewstore/ucm_cli_dev_bchang.vws Global path: /net/taiwan/viewstore/ucm_cli_dev_bchang.vws It has the following rights: User : bchang : rwx Group: usr : r-x Other: : r-x Attached view to stream "ucm_cli_dev_bchang". In order to use your new UCM views, however, you'll have to make use of the component VOB. If you set a UCM view as is, you won't see anything in the component VOB: [taiwan] taiwan% ct setview ucm_cli_dev_bchang [ucm_cli_dev_bchang] taiwan% cd /vobs/comp [ucm_cli_dev_bchang] taiwan% ls lost+found/ [ucm_cli_dev_bchang] taiwan% ct ls lost+found@@/main/0 Rule: /main/0 -nocheckout [ucm_cli_dev_bchang] taiwan% As we can see, the UCM view's config_spec doesn't select our elements. It doesn't even select the correct version of our directory! [ucm_cli_dev_bchang] taiwan% ct catcs ucm identity UCM.Stream oid:3d92fbe4.337f11d5.b2aa.00:02:0b:f7:2d:4c@vobuuid:83a2dc2c.337a11d5.b22e.00:02:0b:f7:2d:4c 1 # ONLY EDIT THIS CONFIG SPEC IN THE INDICATED "CUSTOM" AREAS # # This config spec was automatically generated by the UCM stream # "ucm_cli_dev_bchang" at 04/17/01 15:08:58. # # Select checked out versions element * CHECKEDOUT # Component selection rules... end ucm #UCMCustomElemBegin - DO NOT REMOVE - ADD CUSTOM ELEMENT RULES AFTER THIS LINE #UCMCustomElemEnd - DO NOT REMOVE - END CUSTOM ELEMENT RULES # Non-included component backstop rule: no checkouts element * /main/0 -ucm -nocheckout #UCMCustomLoadBegin - DO NOT REMOVE - ADD CUSTOM LOAD RULES AFTER THIS LINE [ucm_cli_dev_bchang] taiwan% ct ls -d . .@@/main/0 Rule: /main/0 -nocheckout [ucm_cli_dev_bchang] taiwan% exit [ucm_cli_dev_bchang] taiwan% [taiwan] taiwan% pwd /vobs/proj [taiwan] taiwan% MAKING USE OF THE COMPONENT VOB: In order to select the items you populated the component VOB with, we'll have to create and apply a label, which we can then import as a baseline: [taiwan] taiwan% cd /vobs/comp [taiwan] taiwan% ct mklbtype -nc COMPONENT_LABEL Created label type "COMPONENT_LABEL". [taiwan] taiwan% ct mklabel -r COMPONENT_LABEL . Created label "COMPONENT_LABEL" on "." version "/main/1". Created label "COMPONENT_LABEL" on "./bar.txt" version "/main/1". Created label "COMPONENT_LABEL" on "./foo.txt" version "/main/1". Created label "COMPONENT_LABEL" on "./lost+found" version "/main/0". [taiwan] taiwan% Now we import the label as a baseline: [taiwan] taiwan% cd /vobs/proj [taiwan] taiwan% ct mkbl -nc -import COMPONENT_LABEL@/vobs/comp Created baseline "COMPONENT_LABEL.105" in component "ucm_technote" from lbtype "COMPONENT_LABEL". [taiwan] taiwan% ct describe -l baseline:COMPONENT_LABEL.105 baseline "COMPONENT_LABEL.105" created 17-Apr-01.15:35:50 by Bruce Chang (bchang.usr@taiwan) owner: bchang group: usr component: ucm_technote@/vobs/proj label status: Fully Labeled change sets: promotion level: INITIAL Attributes: PromotionLevel = "INITIAL" Hyperlinks: BaselineLbtype@116@/vobs/proj -> lbtype:COMPONENT_LABEL@/vobs/comp [taiwan] taiwan% We see from the "Hyperlinks" section that this baseline was created from an lbtype. We can also see that the baseline has been added to the component: [taiwan] taiwan% ct lsbl -l -component ucm_technote baseline "ucm_technote_INITIAL.105" 17-Apr-01.14:45:14 by Bruce Chang (bchang.usr@taiwan) "Initial baseline for component "ucm_technote"" owner: bchang group: usr component: ucm_technote@/vobs/proj label status: Initially Labeled change sets: promotion level: INITIAL baseline "COMPONENT_LABEL.105" 17-Apr-01.15:35:50 by Bruce Chang (bchang.usr@taiwan) owner: bchang group: usr component: ucm_technote@/vobs/proj label status: Fully Labeled change sets: promotion level: INITIAL [taiwan] taiwan% However, it is not yet keyed to the Integration stream: [taiwan] taiwan% ct lsbl -l -stream ucm_cli_int [taiwan] taiwan% ct desc -l stream:ucm_cli_int stream "ucm_cli_int" created 17-Apr-01.15:07:17 by Bruce Chang (bchang.usr@taiwan) owner: bchang group: usr project: ucm_tn_proj@/vobs/proj title: UCM by CLI Integration contains activities: foundation baselines: views: ucm_cli_int Guarding: brtype:ucm_cli_int@/vobs/proj [taiwan] taiwan% REBASING: In order to get this baseline into the Integration stream, we'll have to set into the Integration view and rebase (this is the only kind of situation where you'll run a rebase in an Integration stream): [taiwan] taiwan% ct setview ucm_cli_int [ucm_cli_int] taiwan% ct rebase -baseline COMPONENT_LABEL.105 Adding baseline "COMPONENT_LABEL.105" of new component "ucm_technote" Updating rebase view's config spec... Creating integration activity... Setting integration activity... Merging files... No versions require merging in stream "ucm_cli_int". Build and test are necessary to ensure that the merges were completed correctly. When build and test are confirmed, run "cleartool rebase -complete". [ucm_cli_int] taiwan% pwd /vobs/proj [ucm_cli_int] taiwan% ls /vobs/comp bar.txt foo.txt lost+found/ [ucm_cli_int] taiwan% Since we are now picking up our populated VOB, we can go ahead and complete the rebase: [ucm_cli_int] taiwan% ct rebase -complete Rebase in progress on stream "ucm_cli_int". Started by "bchang" at 04/17/01 15:46:32. Merging files... No versions require merging in stream "ucm_cli_int". Checking in files... Clearing integration activity... Updating stream's configuration... Cleaning up... Rebase completed. [ucm_cli_int] taiwan% Also note that our config_spec has changed: [ucm_cli_int] taiwan% ct catcs ucm identity UCM.Stream oid:0202fa56.337f11d5.b30e.00:02:0b:f7:2d:4c@vobuuid:83a2dc2c.337a11d5.b22e.00:02:0b:f7:2d:4c 2 # ONLY EDIT THIS CONFIG SPEC IN THE INDICATED "CUSTOM" AREAS # # This config spec was automatically generated by the UCM stream # "ucm_cli_int" at 04/17/01 15:46:32. # # Select checked out versions element * CHECKEDOUT # Component selection rules... element [bf42ddbc337911d5b65300020bf72d4c=/vobs/comp]/... .../ucm_cli_int/LATEST element [bf42ddbc337911d5b65300020bf72d4c=/vobs/comp]/... COMPONENT_LABEL -mkbranch ucm_cli_int element [bf42ddbc337911d5b65300020bf72d4c=/vobs/comp]/... /main/0 -mkbranch ucm_cli_int end ucm #UCMCustomElemBegin - DO NOT REMOVE - ADD CUSTOM ELEMENT RULES AFTER THIS LINE #UCMCustomElemEnd - DO NOT REMOVE - END CUSTOM ELEMENT RULES # Non-included component backstop rule: no checkouts element * /main/0 -ucm -nocheckout #UCMCustomLoadBegin - DO NOT REMOVE - ADD CUSTOM LOAD RULES AFTER THIS LINE [ucm_cli_int] taiwan% We can also note a change in the properties of the baseline itself: [ucm_cli_int] taiwan% ct desc -l baseline:COMPONENT_LABEL.105 baseline "COMPONENT_LABEL.105" created 17-Apr-01.15:35:50 by Bruce Chang (bchang.usr@taiwan) owner: bchang group: usr component: ucm_technote@/vobs/proj label status: Fully Labeled change sets: promotion level: INITIAL Attributes: PromotionLevel = "INITIAL" Hyperlinks: BaselineLbtype@116@/vobs/proj -> lbtype:COMPONENT_LABEL@/vobs/comp Foundation@122@/vobs/proj -> anyactivity:timeline010417.154835@/vobs/proj UseBaseline@119@/vobs/proj <- stream:ucm_cli_int@/vobs/proj [ucm_cli_int] taiwan% However, you'll notice that there are no hyperlinks to the Development stream. Does this mean that the Development view doesn't see the populated items? Let's set into the Development view and see: [ucm_cli_int] taiwan% ct setview ucm_cli_dev_bchang [ucm_cli_dev_bchang] taiwan% ct ls /vobs/comp /vobs/comp/lost+found@@/main/0 Rule: /main/0 -nocheckout [ucm_cli_dev_bchang] taiwan% ct ls -d /vobs/comp /vobs/comp/.@@/main/0 Rule: /main/0 -nocheckout [ucm_cli_dev_bchang] taiwan% What are we to do? Why, rebase, of course! In this case, we can use the "recommended" baseline, because it's extracted from the Integration stream: [ucm_cli_dev_bchang] taiwan% ct rebase -recommended Adding baseline "COMPONENT_LABEL.105" of new component "ucm_technote" Updating rebase view's config spec... Creating integration activity... Setting integration activity... Merging files... No versions require merging in stream "ucm_cli_dev_bchang". Build and test are necessary to ensure that the merges were completed correctly. When build and test are confirmed, run "cleartool rebase -complete". [ucm_cli_dev_bchang] taiwan% ct ls /vobs/comp /vobs/comp/bar.txt@@/main/1 Rule: COMPONENT_LABEL -mkbranch ucm_cli_dev_bchang /vobs/comp/foo.txt@@/main/1 Rule: COMPONENT_LABEL -mkbranch ucm_cli_dev_bchang /vobs/comp/lost+found@@/main/0 Rule: COMPONENT_LABEL -mkbranch ucm_cli_dev_bchang [ucm_cli_dev_bchang] taiwan% ct rebase -complete Rebase in progress on stream "ucm_cli_dev_bchang". Started by "bchang" at 04/17/01 16:07:46. Merging files... No versions require merging in stream "ucm_cli_dev_bchang". Checking in files... Clearing integration activity... Updating stream's configuration... Cleaning up... Rebase completed. [ucm_cli_dev_bchang] taiwan% WORKING IN UCM: In order to work in UCM, while set to a UCM view, you must make and set an activity, or you'll get errors: [ucm_cli_dev_bchang] taiwan% cd /vobs/comp [ucm_cli_dev_bchang] taiwan% ctco -nc . Automatically created branch type "ucm_cli_dev_bchang" from global definition in VOB "/vobs/proj". cleartool: Error: To operate on UCM branch, must be set to an activity and a UCM view. cleartool: Error: Unable to create branch requested by -mkbranch option in config spec. cleartool: Error: Unable to check out ".". [ucm_cli_dev_bchang] taiwan% ct mkact -headline "UCM Technote Activity" -in ucm_cli_dev_bchang ucm_tn_act Created activity "ucm_tn_act". [ucm_cli_dev_bchang] taiwan% ctco -nc . cleartool: Error: To operate on UCM branch, must be set to an activity and a UCM view. cleartool: Error: Unable to create branch requested by -mkbranch option in config spec. cleartool: Error: Unable to check out ".". [ucm_cli_dev_bchang] taiwan% ct setact ucm_tn_act Set activity "ucm_tn_act" in view "ucm_cli_dev_bchang". [ucm_cli_dev_bchang] taiwan% Now, let's make some changes: [ucm_cli_dev_bchang] taiwan% ctco -nc . Created branch "ucm_cli_dev_bchang" from "." version "/main/1". Checked out "." from version "/main/ucm_cli_dev_bchang/0". Attached activities: activity:ucm_tn_act@/vobs/proj "UCM Technote Activity" [ucm_cli_dev_bchang] taiwan% ct mkelem -nc new_elem.txt Created element "new_elem.txt" (type "text_file"). Created branch "ucm_cli_dev_bchang" from "new_elem.txt" version "/main/0". Checked out "new_elem.txt" from version "/main/ucm_cli_dev_bchang/0". Attached activities: activity:ucm_tn_act@/vobs/proj "UCM Technote Activity" [ucm_cli_dev_bchang] taiwan% ctco -nc foo.txt bar.txt Created branch "ucm_cli_dev_bchang" from "foo.txt" version "/main/1". Checked out "foo.txt" from version "/main/ucm_cli_dev_bchang/0". Attached activities: activity:ucm_tn_act@/vobs/proj "UCM Technote Activity" Created branch "ucm_cli_dev_bchang" from "bar.txt" version "/main/1". Checked out "bar.txt" from version "/main/ucm_cli_dev_bchang/0". Attached activities: activity:ucm_tn_act@/vobs/proj "UCM Technote Activity" [ucm_cli_dev_bchang] taiwan% echo "new_elem.txt" >> new_elem.txt [ucm_cli_dev_bchang] taiwan% echo "UCM Technote Activity (ucm_tn_act)" >> new_elem.txt [ucm_cli_dev_bchang] taiwan% echo "UCM Technote Activity (ucm_tn_act)" >> foo.txt [ucm_cli_dev_bchang] taiwan% echo "UCM Technote Activity (ucm_tn_act)" >> bar.txt [ucm_cli_dev_bchang] taiwan% ctci -nc . new_elem.txt foo.txt bar.txt Checked in "." version "/main/ucm_cli_dev_bchang/1". Attached activities: activity:ucm_tn_act@/vobs/proj "UCM Technote Activity" Checked in "new_elem.txt" version "/main/ucm_cli_dev_bchang/1". Attached activities: activity:ucm_tn_act@/vobs/proj "UCM Technote Activity" Checked in "foo.txt" version "/main/ucm_cli_dev_bchang/1". Attached activities: activity:ucm_tn_act@/vobs/proj "UCM Technote Activity" Checked in "bar.txt" version "/main/ucm_cli_dev_bchang/1". Attached activities: activity:ucm_tn_act@/vobs/proj "UCM Technote Activity" [ucm_cli_dev_bchang] taiwan% Now that we're done making changes, we'll want to deliver those changes: [ucm_cli_dev_bchang] taiwan% ct deliver Changes to be DELIVERED: FROM: stream "ucm_cli_dev_bchang" TO: stream "ucm_cli_int" Using integration view: "ucm_cli_int". Do you wish to continue with this deliver operation? [no] yes Needs Merge "/view/ucm_cli_int/vobs/comp/." [(automatic) to /main/1 from /main/ucm_cli_dev_bchang/1 (base also /main/1)] Automatically created branch type "ucm_cli_int" from global definition in VOB "/vobs/proj". Created branch "ucm_cli_int" from "/view/ucm_cli_int/vobs/comp/." version "/main/1". Checked out "/view/ucm_cli_int/vobs/comp/." from version "/main/ucm_cli_int/0". Attached activities: activity:deliver.ucm_cli_dev_bchang.20010417.163802@/vobs/proj "deliver UCM by CLI Dev - Bruce on 04/17/01 16:38:02." ******************************** <<< directory 1: /view/ucm_cli_int/vobs/comp/.@@/main/1 >>> directory 2: /view/ucm_cli_int/vobs/comp/.@@/main/ucm_cli_dev_bchang/1 >>> directory 3: /view/ucm_cli_int/vobs/comp/. ******************************** -----------[ directory 1 ]-------------|---------[ added directory 2 ]--------- -| new_elem.txt 17-Apr.16:27 bchang *** Automatic: Applying ADDITION from directory 2 Recorded merge of "/view/ucm_cli_int/vobs/comp/.". Needs Merge "/view/ucm_cli_int/vobs/comp/foo.txt" [(automatic) to /main/1 from /main/ucm_cli_dev_bchang/1 (base also /main/1)] Created branch "ucm_cli_int" from "/view/ucm_cli_int/vobs/comp/foo.txt" version "/main/1". Checked out "/view/ucm_cli_int/vobs/comp/foo.txt" from version "/main/ucm_cli_int/0". Attached activities: activity:deliver.ucm_cli_dev_bchang.20010417.163802@/vobs/proj "deliver UCM by CLI Dev - Bruce on 04/17/01 16:38:02." Needs Merge "/view/ucm_cli_int/vobs/comp/bar.txt" [(automatic) to /main/1 from /main/ucm_cli_dev_bchang/1 (base also /main/1)] Created branch "ucm_cli_int" from "/view/ucm_cli_int/vobs/comp/bar.txt" version "/main/1". Checked out "/view/ucm_cli_int/vobs/comp/bar.txt" from version "/main/ucm_cli_int/0". Attached activities: activity:deliver.ucm_cli_dev_bchang.20010417.163802@/vobs/proj "deliver UCM by CLI Dev - Bruce on 04/17/01 16:38:02." Needs Merge "/view/ucm_cli_int/vobs/comp/new_elem.txt" [(automatic) to /main/0 from /main/ucm_cli_dev_bchang/1 (base also /main/0)] Created branch "ucm_cli_int" from "/view/ucm_cli_int/vobs/comp/new_elem.txt" version "/main/0". Checked out "/view/ucm_cli_int/vobs/comp/new_elem.txt" from version "/main/ucm_cli_int/0". Attached activities: activity:deliver.ucm_cli_dev_bchang.20010417.163802@/vobs/proj "deliver UCM by CLI Dev - Bruce on 04/17/01 16:38:02." Needs Merge "/view/ucm_cli_int/vobs/comp/foo.txt" [to /main/ucm_cli_int/CHECKEDOUT from /main/ucm_cli_dev_bchang/1 base /main/1] Trivial merge: "/view/ucm_cli_int/vobs/comp/foo.txt" is same as base "/view/ucm_cli_int/vobs/comp/foo.txt@@/main/1". Copying "/view/ucm_cli_int/vobs/comp/foo.txt@@/main/ucm_cli_dev_bchang/1" to output file. Moved contributor "/view/ucm_cli_int/vobs/comp/foo.txt" to "/view/ucm_cli_int/vobs/comp/foo.txt.contrib". Output of merge is in "/view/ucm_cli_int/vobs/comp/foo.txt". Recorded merge of "/view/ucm_cli_int/vobs/comp/foo.txt". Needs Merge "/view/ucm_cli_int/vobs/comp/bar.txt" [to /main/ucm_cli_int/CHECKEDOUT from /main/ucm_cli_dev_bchang/1 base /main/1] Trivial merge: "/view/ucm_cli_int/vobs/comp/bar.txt" is same as base "/view/ucm_cli_int/vobs/comp/bar.txt@@/main/1". Copying "/view/ucm_cli_int/vobs/comp/bar.txt@@/main/ucm_cli_dev_bchang/1" to output file. Moved contributor "/view/ucm_cli_int/vobs/comp/bar.txt" to "/view/ucm_cli_int/vobs/comp/bar.txt.contrib". Output of merge is in "/view/ucm_cli_int/vobs/comp/bar.txt". Recorded merge of "/view/ucm_cli_int/vobs/comp/bar.txt". Needs Merge "/view/ucm_cli_int/vobs/comp/new_elem.txt" [to /main/ucm_cli_int/CHECKEDOUT from /main/ucm_cli_dev_bchang/1 base /main/0] Trivial merge: "/view/ucm_cli_int/vobs/comp/new_elem.txt" is same as base "/view/ucm_cli_int/vobs/comp/new_elem.txt@@/main/0". Copying "/view/ucm_cli_int/vobs/comp/new_elem.txt@@/main/ucm_cli_dev_bchang/1" to output file. Moved contributor "/view/ucm_cli_int/vobs/comp/new_elem.txt" to "/view/ucm_cli_int/vobs/comp/new_elem.txt.contrib". Output of merge is in "/view/ucm_cli_int/vobs/comp/new_elem.txt". Recorded merge of "/view/ucm_cli_int/vobs/comp/new_elem.txt". Deliver has merged FROM: stream "ucm_cli_dev_bchang" TO: stream "ucm_cli_int" Using integration view: "ucm_cli_int". Build and test are necessary in integration view "ucm_cli_int" to ensure that the merges were completed correctly. When build and test are confirmed, run "cleartool deliver -complete". [ucm_cli_dev_bchang] taiwan% Being dutiful, we set to the Integration view to make sure we see what we like, then come back to complete the deliver: [ucm_cli_dev_bchang] taiwan% ct setview ucm_cli_int [ucm_cli_int] taiwan% ct ls bar.txt@@/main/ucm_cli_int/CHECKEDOUT from /main/ucm_cli_int/0 Rule: CHECKEDOUT bar.txt.contrib foo.txt@@/main/ucm_cli_int/CHECKEDOUT from /main/ucm_cli_int/0 Rule: CHECKEDOUT foo.txt.contrib lost+found@@/main/0 Rule: COMPONENT_LABEL -mkbranch ucm_cli_int new_elem.txt@@/main/ucm_cli_int/CHECKEDOUT from /main/ucm_cli_int/0 Rule: CHECKEDOUT new_elem.txt.contrib [ucm_cli_int] taiwan% exit [ucm_cli_dev_bchang] taiwan% ct deliver -complete Resume deliver FROM: stream "ucm_cli_dev_bchang" TO: stream "ucm_cli_int" Using integration view: "ucm_cli_int". Do you wish to continue with this deliver operation? [no] yes Are you sure you want to complete this deliver operation? [no] yes Deliver has completed FROM: stream "ucm_cli_dev_bchang" TO: stream "ucm_cli_int" Using integration view: "ucm_cli_int". [ucm_cli_dev_bchang] taiwan% We can check that the work has indeed been done: [ucm_cli_dev_bchang] taiwan% ct setview ucm_cli_int [ucm_cli_int] taiwan% ct ls bar.txt@@/main/ucm_cli_int/1 Rule: .../ucm_cli_int/LATEST bar.txt.contrib foo.txt@@/main/ucm_cli_int/1 Rule: .../ucm_cli_int/LATEST foo.txt.contrib lost+found@@/main/0 Rule: COMPONENT_LABEL -mkbranch ucm_cli_int new_elem.txt@@/main/ucm_cli_int/1 Rule: .../ucm_cli_int/LATEST new_elem.txt.contrib [ucm_cli_int] taiwan% The *.contrib files are view-private files (they have no config_spec rule next to them when we do "ct ls"), so we can clean up and get rid of them: [ucm_cli_int] taiwan% /usr/bin/rm *.contrib [ucm_cli_int] taiwan% Note that the deliver was recorded as an activity for this stream (the Integration stream): [ucm_cli_int] taiwan% ct lsact -l activity "deliver.ucm_cli_dev_bchang.20010417.163802" 17-Apr-01.16:38:06 by Bruce Chang (bchang.usr@taiwan) "Integration activity created by deliver on 04/17/01 16:38:02. " owner: bchang group: usr stream: ucm_cli_int@/vobs/proj title: deliver UCM by CLI Dev - Bruce on 04/17/01 16:38:02. change set versions: /vobs/comp/.@@/main/ucm_cli_int/1 /vobs/comp/foo.txt@@/main/ucm_cli_int/1 /vobs/comp/bar.txt@@/main/ucm_cli_int/1 /vobs/comp/new_elem.txt@@/main/ucm_cli_int/1 [ucm_cli_int] taiwan% But the deliver is not an activity in the Development stream: [ucm_cli_int] taiwan% exit [ucm_cli_dev_bchang] taiwan% ct lsact -l activity "ucm_tn_act" 17-Apr-01.16:21:10 by Bruce Chang (bchang.usr@taiwan) owner: bchang group: usr stream: ucm_cli_dev_bchang@/vobs/proj title: UCM Technote Activity change set versions: /vobs/comp/bar.txt@@/main/ucm_cli_dev_bchang/1 /vobs/comp/foo.txt@@/main/ucm_cli_dev_bchang/1 /vobs/comp/new_elem.txt@@/main/ucm_cli_dev_bchang/1 /vobs/comp/.@@/main/ucm_cli_dev_bchang/1 [ucm_cli_dev_bchang] taiwan% ACTIVITIES AND CHANGE SETS: Notice that the activities in both streams each list change set versions. Note the different outputs we get when we describe the element bar.txt and the particular version selected by the activity "ucm_tn_act": [ucm_cli_dev_bchang] taiwan% ct describe -l bar.txt@@ file element "bar.txt@@" created 17-Apr-01.14:40:21 by Bruce Chang (bchang.usr@taiwan) element type: text_file Protection: User : bchang : r-- Group: usr : r-- Other: : r-- source pool: sdft cleartext pool: cdft [ucm_cli_dev_bchang] taiwan% ct ls bar.txt bar.txt@@/main/ucm_cli_dev_bchang/1 Rule: .../ucm_cli_dev_bchang/LATEST [ucm_cli_dev_bchang] taiwan% ct describe -l bar.txt version "bar.txt@@/main/ucm_cli_dev_bchang/1" created 17-Apr-01.16:33:28 by Bruce Chang (bchang.usr@taiwan) Element Protection: User : bchang : r-- Group: usr : r-- Other: : r-- element type: text_file predecessor version: /main/ucm_cli_dev_bchang/0 Attached activities: activity:ucm_tn_act@/vobs/proj "UCM Technote Activity" Hyperlinks: Merge@84@/vobs/comp -> /vobs/comp/bar.txt@@/main/ucm_cli_int/1 [ucm_cli_dev_bchang] taiwan% The description shows both the fact that it is associated with the activity "ucm_tn_act", but that it was involved in a merge (which is what a deliver really is) to another version, which happens to be that selected by the deliver activity on the Integration stream. In fact, if we run a describe of this version, we'll see the relationship in mirror-image: [ucm_cli_dev_bchang] taiwan% ct describe -l bar.txt@@/main/ucm_cli_int/1 version "bar.txt@@/main/ucm_cli_int/1" created 17-Apr-01.16:48:18 by Bruce Chang (bchang.usr@taiwan) Element Protection: User : bchang : r-- Group: usr : r-- Other: : r-- element type: text_file predecessor version: /main/ucm_cli_int/0 Attached activities: activity:deliver.ucm_cli_dev_bchang.20010417.163802@/vobs/proj "deliver UCM by CLI Dev - Bruce on 04/17/01 16:38:02." Hyperlinks: Merge@84@/vobs/comp <- /vobs/comp/bar.txt@@/main/ucm_cli_dev_bchang/1 [ucm_cli_dev_bchang] taiwan% For more information, contact Rational Software Technical Support.