I have ClearCase 220.127.116.11 on Win 7 64-bit.
I'm writing a checkout postop trigger. When it runs successful (does what I want) it ends with three error messages:
cleartool: Warning: Checked-out version is not selected by view.
cleartool: Error: Database identifier (dbid) not found in database: "\bbjunk".
I think the logic of the trigger is confusing ClearCase. Here is what the trigger is doing using this config spec:
element * CHECKEDOUT
element * \main\bp21\LATEST
element * ...\bp21_s\LATEST
element * ...\bp20\LATEST -mkbranch bp21_s
element * ...\bp19\LATEST -mkbranch bp21_s
element * \main\LATEST -mkbranch bp21
In short, if the user checks out an element from the either the bp19 or bp20 branches, CC will branch to the bp21_s branch and do the checkout. Then the postop trigger starts. If the checkout is to a branch ending with "_s" the trigger unchecks the element out and performs a new checkout to a branch directly off of \main (\main\bp21 in this case) using the mkbranch command. It then copies the contents of file originally being checked out to the checkout and creates a merge arrow from the version originally being checked out to the final checkout.
At the end the version the trigger wants to be checked out is successfully checked out and the merge arrow is created. But I get those errors from the original checkout command that launched the trigger.
Any idea why?
To be a little clearer, here are the steps that are happening for a file.
1. User checks out foo.c@@/main/bp19/1
2. The checkout results in foo.c@@/main/bp19/bp21_s/CHECKEDOUT
3. The trigger fires
4. The checkout is undone
5. The "cleartool mkbranch" command creates a checkout to foo.c@@/main/bp21/CHECKEDOUT
6. A merge hyperlink is created from version /main/bp19/1 to /main/bp21/CHECKEDOUT
7. The warning and error appear.
(Please do not ask why the customer wants this trigger. If you could see their whole development process mess, this is actually, I hate to say it, a good idea.)
This topic has been locked.
1 reply Latest Post - 2013-01-11T13:59:18Z by brcowan
Pinned topic cleartool: Error: Database identifier (dbid) not found in database on co
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
Updated on 2013-01-11T13:59:18Z at 2013-01-11T13:59:18Z by brcowan
brcowan 2000005CYP661 PostsACCEPTED ANSWER
Re: cleartool: Error: Database identifier (dbid) not found in database on co2013-01-11T13:59:18Z in response to BoeBrianBrian, as long as you are undoing a checkout the postop trigger, you will get this error. Period. You can't avoid it because your trigger is knocking the legs out from underneath the parent cleartool command. Personally, I would use a preop trigger that checks the selection rule used to find the element, and if it makes the wrong branch, abort the checkout.
I'm actually surprised that the merge hyperlink is getting created, is that part of the trigger as well?
Advisory Software Engineer
ClearCase Software Advisory Team (SWAT)
IBM Software Group
550 King St
Littleton, MA 01460