锘??xml version="1.0" encoding="utf-8" standalone="yes"?> ct mkview -tag <view_tag> <view_storage_path> example:
ct mkview -tag alex_test /net/nj2/
Other Command:
ct lsview list all the views reside in the hosts |
ct lsview | grep name list specified view by name |
ct rmview -tag <view_tag> remove an exist view |
2. After you create a vew, you need to Set the View to enter it. Then you are able to see the vob content only when you set the view.
ct setview <view_tag> |
Example:
ct setview alex_test |
Other Commands
ct pwv see which view you are currently in |
exit quit from current view |
3. When you are in a view, you need to set the config spec correctly to pick up the right version of element.
ct catcs view your config spec |
ct edcs edit your config spec by vi editor |
Other Commands
ct catcs > filename Copy your config spec to a file |
ct setcs filename Set your config spec from a file |
What doew config spec say ? For example:
element* CHECKEDOUT element* .../ISGcq00123456/LASTEST element* BLUETOOTH_00.07.00 element* AP_SIPC.01.32.00 element* AP_IB2.00.38_ARM element* /main/LATEST |
Command
element <file path> <version path> |
file path: hello.c, *, /vob/su_java/...
version path: Label or Branch
4. Now you may have a task to do. You have a CR assigned, and you know the baseline version.
ct mkbrtype ISGcq00123456 |
ct mkbranch ISGcq00123456 hello.c@@/main/2 |
Result: hello.c@@/main/ISGcq00123456/0 is created and checked out(a copy of hello.c in the dir was created and you can edited it. If there is not hello.c in the dir, the clearcase would submit a error).
element* .../ISGcq00123456/LATEST |
Accessional:
ct mkbranch -nco ISGcq00123456 hello.c@@/main/2 |
ct rmbranch hello.c@@/main/ISGcq00123456. |
Make sure no checked out version on this branch
ct rename brtype:old_name brtype:new_name |
It will apply to all the created branch.
ct rmtype -rmall brtype:ISGcq00123456 |
5. After making your CR branch on the file to be changed, check out the version if it hasn't been checked out(checkout鍚庝細浜х敓涓涓嚜宸辯殑縐佹湁鏂囦歡錛屼綘鍙互鑷繁淇敼錛屽埆浜虹湅涓嶅埌錛屽彧鏈夎繖涓枃浠惰checkin鍚庢墠浼氭斁鍒皏obs閲?/font>).
ct co -nc hello.c@@/main/ISGcq00123456/0 |
Then, you are able to edit this file. After you finish the change, check in the file to vob.
ct ci -nc hello.c |
The result is, the element will increase one version on the branch:
hello.c@@/main/ISGcq00123456/1 |
Accessional
A checked out version is only in your view. Other engineer can not see it. If you remove that view, you will lost the checked out version.
You can undo checkout by:
ct unco hello.c |
If a checked version has no change, it can't be checked in. You will get an error message like "The file is identical"
An unreserved checked out will not block other people check out the same version. Normally, we just use reserved checkout.
You can only check out a file on the branch which has mastership role.
6. If your task is to create a new file, you need to do below steps:
ct mkbranch ISGcq00123456 /vob/su_jave/code/src |
ct mkelem -nco hello.c |
Create a folder
ct mkelem -eltype directory test |
Dont check it out, because you need to make the CR branch on this file.
ct mkbranch ISGcq00123456 hello.c |
ct ci -nc /vob/su_java/code/src |
Accessional
ct lsco -cview -r |
7. Now, your task is ongoing. In coding and testing, you may need to merge your file to other version. below example gives the merge steps:
Example: Merge file from hello.c@@/main/branchfrom/5 to hello.c@@/main/branchto/2
ct co -nc hello.c@@/main/branchto/2 |
ct merge -to hello.c hello.c@@/main/branchfrom/5 |
Usually you may also need to compare two versions
ct diff hello.c hello.c hello.c@@/main/branchfrom/5 hello.c@@/main/branchto/2 |
Compare this version from the previous version
ct diff -pre hello.c@@/main/branchto/2 |
Accessional
ct lsvt hello.c |
include the merge info
ct lsvt -merge hello.c |
Remove a merge arrow:
ct rmmerge hello.c@@/main/branchfrom/5 hello.c@@/main/branchto/2 |
Dont do actual merge, just draw a merge line
ct merge -ndata hello.c@@/main/branchfrom/5 hello.c@@/main/branchto/2 |
In what cases we need merge:
8. If you want to remove an un-use version, use the command
ct rmver hello.c@@/main/branchto/2 |
Then the version 2 will be removed, but next time the version will increase from 1 to 3.
If you want to remove a file, you can use remove name command:
ct rmname hello.c |
Be sure to make branch and check out the current directory before rmove it, just like the steps of make element.
If you want to rename a file, you can use
ct mv old_name new_name |
If you want to create an element link, you can use
ct ln source_file file_link |
(checkout current folder like above)
9. Now you may have completed the task of coding, testing, inspection, and prepare to release it. You need to check your developed version is complied with below rules:
10. How to label the version
Make the label type:
ct mklbtype BLUETOOTH_00.07.00 |
Make label on a version:
ct mklabel BLUETOOTH_00.07.00 hello.c@@/main/branchto/2 |
Move a label from the old version to a new version:
ct mklabel -replace BLUETOOTH_00.07.00 hello.c@@/main/branchto/3 |
Remove label on a version:
ct rmlabel BLUETOOTH_00.07.00 hello.c@@/main/branchto/3 |
Remove the label type
ct rmtype lbtype:BLUETOOTH_00.07.00 |
11. How to search the reuqired version
Find all files with the version(.../ISGcq00373766/LATEST) and with no label SAMBA_AP_DSL_BLUETOOTH_00.00.07:
ct find /vob/directory -version 'version(.../ISGcq00373766/LATEST) && !version(SAMBA_AP_DSL_BLUETOOTH_00.00.07)' -print |
Find all files with the version SAMBA_AP_DSL_BLUETOOTH_00.00.07, and then search STRING in all found files:
ct find .-version 'version(SAMBA_AP_DSL_BLUETOOTH_00.00.07)' -exec 'grep STRING $CLEARCASE_PN' |