Clearcase uncheckout Issue - clearcase

I am having an issue with ClearCase when checkin/uncheckout:
Error undoing checkout D:\cc_views\test_cvob\test.cpp
No permission to perform operation uncheckout
Must be one of Object creator , element owner, vob owner,memeber of clearcase group
Unable to cancel checkout for D:\cc_views\test_cvob\test.cpp
Note: I'm able to uncheckout/checkin other files in the view
How would you troubleshoot this error message?

The first way to troubleshoot that kind of error message is by having a look to the rights associated with the version and the file element (with a traling '##'):
cleartool descr -l test.cpp
cleartool descr -l test.cpp##
It can be sometime linked to an update issue. Try:
cleartool update -overwrite test.cpp

Related

Error in clearecase wile checking out a file

I have an issue with ClearCase I was trying to check out a file from the dir by using ct co -nc file name, but I am getting the following error:
cleartool: Error: branch type "test1" not found in VOB "/dir/file" and no global type definition can be found.
cleartool: Error: Unable to create branch requested by -mkbranch option in config spec.
cleartool: Error: Unable to check out "file".
But when I was trying to check out another file from dir I am able to do them. I am only getting the problem to check out that file.
Can anyone help me how can I overcome this error?
This looks like a config spec using a branch named "test1" in a selection rule (element ... -mkbranch test1) which was not created first.
So first, check what the config spec looks like:
cleartool catcs
See also what the config spec are for the files in the parent folder of that file:
cd /path/to/§parent/folder
cleartool ls
See if using cleartool mkbrtype would help:
cleartool mkbrtype -c "test1 branch" test1#/vobs/avob
(I use the Unix syntax, judging from your previous config spec)
Looks like "test1" branch type does not exist in the vob.
Create a branch using ct mkbrtype. Run the following command form the folder where file is present
ct mkbrtype -nc test1
As the error is occurring only for one file, the config spec should have selection rule only for that file. Can check this using
ct catcs
Note:- When adding a branch rule in config spec, Always check the brtype exists with that name.

Cleartool findmerge error

I'm running this command :
cd into view directory
cd into the relevant folder
cleartool findmerge rvnDataPathEgressProcessor.cpp##\main\RavenAppMain_Integ\RavenApp1.5\RavenApp1.5.0.0_Integ\RavenApp1.6.0.0_Integ_OBS\RavenApp1.5.2.0_Integ\RavenApp1.5.5.0_Integ\14 -fversion rvnDataPathEgressProcessor.cpp##\main\RavenAppMain_Integ\RavenApp1.5\RavenApp1.5.0.0_Integ\RavenApp1.6.0.0_Integ_OBS\RavenApp1.5.2.0_Integ\RavenApp1.5.5.0_Integ\aviv.sharon_RavenApp1.5.5.0\15 -print -whynot
I'm getting this error:
cleartool: Warning: A version selector is required, not a pathname:
"rvnDataPathEgressProcessor.cpp##\main\RavenAppMain_In
teg\RavenApp1.5\RavenApp1.5.0.0_Integ\RavenApp1.6.0.0_Integ_OBS\RavenApp1.5.2.0_Integ\RavenApp1.5.5.0_Integ\aviv.sharon_Ra
venApp1.5.5.0\15".
No merge "rvnDataPathEgressProcessor.cpp" [no version "rvnDataPathEgressProcessor.cpp##\main\RavenAppMain_Integ\RavenApp1.
5\RavenApp1.5.0.0_Integ\RavenApp1.6.0.0_Integ_OBS\RavenApp1.5.2.0_Integ\RavenApp1.5.5.0_Integ\aviv.sharon_RavenApp1.5.5.0\
Any idea how to fix this?
A cleartool findmerge requires pname:
One or more file, directory versions, or both; only the specified file versions and the subtrees under the specified directory versions are considered.
If rvnDataPathEgressProcessor.cpp##\main\RavenAppMain_Integ\RavenApp1.5\RavenApp1.5.0.0_Integ\RavenApp1.6.0.0_Integ_OBS\RavenApp1.5.2.0_Integ\RavenApp1.5.5.0_Integ\aviv.sharon_RavenApp1.5.5.0 is not an existing extended pathname, there is no version to be found, and that would explain the error message.
Try finding a view which already select the destination version, and do a:
cleartool descr -l rvnDataPathEgressProcessor.cpp
That would give you the exact and full extended pathname.
The OP reports the second argument should be the version only, without the file:
\main\RavenAppMain_Integ\RavenApp1.5\RavenApp1.5.0.0_Integ\RavenApp1.6.0.0_Inte‌​g_OBS\RavenApp1.5.2.0_Integ\RavenApp1.5.5.0_Integ\aviv.sharon_RavenApp1.5.5.0\15 without the rvnDataPathEgressProcessor.cpp##.

Checked out but removed error while merging activities

I wish to merge an activity with my activity, the former activity has new directories and new elements.
I am getting the following error on issuing a merge with the following command
ct findmerge activityname#/vob/** -fcsets -nc -merge
The errors are as follows in 2 cases
Case1: No new elements created directly the merge command
Errors
/vob/**/Build.mk [checkedout but removed]
/vob/**/file1 [checkedout but removed]
/vob/**/file2 [checkedout but removed]
/vob/**/file3 [checkedout but but removed]
cleartool: Error: Checked out version, but could not copy data to "/vob/siren/oam/sdh/pkg/Build.mk" in view: Permission denied.
Correct the condition, then uncheckout and re-checkout the element.
Case2: I created the elements and the directory structure still the same error
Note: There are no errors for the elements which already exist in the vob
Try again your findmerge activity (as described here), but this time, without using cleartool setview (meaning without using a path starting with /vob, the mounting point for the dynamic view set by cleartool setview).
Always use the full path of the destination dynamic view (the one where the merge occur): as I told you in your previous question, cleartool setview is nothing but trouble.
Use:
cd /view/yourDestinationView/vobs/siren
ct findmerge activityname#/vob/** -fcsets -nc -merge

How to avoid repeat check outs on already checked out files or directories?

I have some files and directories out of which few are already checked out and few are not.
To check out those uncheck out files I am running recursive checkout:
ct co -nc ./*
Which gives below message for already checkout files or directory:
cleartool: Error: Element "abc/xyz" is already checked out to view "pqr".
Is there any way I can avoid performing ct co on already checked out files or directories?
First, you can check if you have the same issue when applying my old method "How do I perform a recursive checkout using ClearCase?".
cleartool find somedir -type f -exec "cleartool checkout -c \"Reason for massive checkout\" \"%CLEARCASE_PN%\""
(which is mirrored by the IBM technote swg21122520)
The other option is to:
first find checked out files (see "How to find all checkedout files with ClearCase cleartool?", without the -cview option, in order to list checked out files in all views)
redirect that find into a file
Then you can replace the -exec directive above in order, for each \"%CLEARCASE_PN%\" found, to:
check if it is listed in the checked out files found in the previous point
if it is not, proceed with the checkout.
In short: a two-step process.

How to find clearcase symlinks?

Currently, I have to wait for a symlink error when updating a clearcase view. I then take the name for the broken symlink and search for it specifically.
is there a way to find all broken symlinks, without necessarily knowing the name?
how to find one at a time:
cleartool> cd C:\cc_view\view_name\source_app
cleartool> find -all -type l -name "missing.link.name" -nxname -print
You shouldn't need a -all in your find query.
Broken symlink in a snapshot view update are element which are visible:
cleartool find . -type l -name "missing.link.name" -nxname -print
You can execute that command in a DOS session ("cleartool find", instead of a cleartool one "cleartool> find"): that allows you to redirect the result in a text file and parse the result.
The IBM article "How to find broken (orphaned) Symlinks" can also help.
Cause
User renamed the target, so the symbolic link is pointing to a non existing target.
After the rename of the versioned target file (a.doc -> a.docx, done by ClearCase Explorer) I get the update error, that the symlink a.doc does not exist.
Unable to resolve symlink "filename.doc". The symlink target will not be loaded.
Where can I find the link itself (in which folder is it located?)?
How can I solve the rename (?) of the symlink?
Answer
To find and remove the symlink:
Use a dynamic view (snapshot views cannot load the missing links).
Run M:\viewtag\vobtag>cleartool find . -kind slink -print
Refer to the following technote for information about how to remove the symlinks as found in the output of the above command: "Unable to resolve VOB symlink":
A cleartool ls from the command prompt will show:
virt.46e5e94ff9024144ab0fe9ed432ce6e6 --> ../virt
virt.5043bcc7c8f44439938d634bd5ba9ac2 --> ..virt [not loaded]
The above symbolic link is to a resource outside of ClearCase, which renders the hyperlink invalid for use in UCM.
Resolving the problem
Remove the broken (dangling) link from the VOB to clear the error, using the cleartool rmname command.
Example:
cleartool rmname virt.46e5e94ff9024144ab0fe9ed432ce6e6
Using cleartool rmname allows you to preserve the symbolic link, but remove references
to it from future directory versions.
Symbolic links can be permanently removed using cleartool rmelem, refer to technote 1148781 for more details.

Resources