Wednesday, January 2, 2008

"Permission denied" during merge

M:\qinl_CBFE14.2_i\MidTier>cleartool merge -to Srv -version \main\CBFE14.0_i\1 \main\CBFE14.2_i\LATEST
********************************
<<<>>> directory 2: M:\qinl_CBFE14.2_i\MidTier\Srv@@\main\CBFE14.0_i\1
>>> directory 3: M:\qinl_CBFE14.2_i\MidTier\Srv@@\main\CBFE14.2_i\0
>>> directory 4: Srv
********************************
-----------[ directory 1 ]-------------|---------[ added directory 2 ]---------
-| runEMMAServer\ --09-06T15:53 vs217
*** Automatic: Applying ADDITION from directory 2
-------[ renamed directory 1 ]---------|-------[ renamed to directory 2 ]------
src.jtest\ 2006-06-12 yw17 | src.ctest\ 2006-06-12 yw17
merge: Error: An unexpected error has occurred.
merge: Error: Unable to remove "c:\li\tmp\tmp15600": Permission denied.

When delivering, the GUI showed "unexpected error" and prevented the delivery from proceed. Try it command line, the error message provided more information, but not much meaningful. All the involved elements are belonging to the same group as the user IDs, which have 777 access to them.

The error message is reproducable using different user IDs (thus different views) and machines. But using the ccadmin account in a UNIX box, the merge can proceed.

Examining the Srv directory more closely, I found out that, in the source, the src.jtest folder was renamed to src.jtest folder, and a new src.jtest folder was added as a new element; while in the target, the src.jtest folder has not been renamed yet. I believe it is the evil twin that caused the issue.

May be I should try to rename the src.jtest to src.ctest in the target manually before the merge. However, I have worked around the issue using the ccadmin id. Maybe next time.

No comments: