2

I currently have a jacked-up delivery from a child stream to a parent in ClearCase. If I try to undo the delivery it tells me I can't because the "integration activity has checkins" or "checked in versions".

If I try to resume the delivery it says it encountered an error attempting to checkout or merge an element, but doesn't specifically tell me which one.

So I'm looking for a way to either:

  1. Manually stop the delivery (undo all checkouts in the parent stream?)

  2. Find out what element is causing the delivery problem (is it same as the one causing the undo problem)

  3. or Find out what element is causing the undo problem and find a way to undo the checkin (I don't know how to do this. I tried to delete a version in the version tree, but I don't have permission).

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Ian
  • 4,169
  • 3
  • 37
  • 62

1 Answers1

2

For 3/ "Find out what element is causing the undo problem", this is easy (but not recommended): you need to remove all the checked-in versions done during the complete phase of the deliver.
And that is by far the most dangerous solution, especially if any type of activity (other checkins, baselines, ...) has been done on the destination Stream (the stream to which you are delivering file, ie the Stream with the view you are using to deliver to)

You can see those checked-in file by describing the deliver activity (which always starts with deliverbl.xxx)

cleartool descr -l activity:deliverbl.xxx@\myPVob

1/ and 2/ are linked.
A good solution to easily detect the issue is to resume the deliver graphically: open the ClearCase project Explorer (clearprojexp), right-click on the source Stream and select deliver (Baseline or Activities, to default or alternate target: it doesn't matter).
ClearCase will detect that a deliver is in progress and will propose to resume.

All you need to do is check all the files with a red circle and white cross (not the files with a yellow warning sign, those are not blocking the deliver).

Once you have one of those files, right-click on it, and select "display element merge": you will have a more precise error message that you can copy-paste.

If those files are in lost+found directory, all you need to do is to edit the config spec of the view used for the deliver, and add a non-selection rule to avoid selecting anything from lost+found:

 cd /path/to/your/view
 cleartool edcs
 #add at the start of the config spec
 element /myVob/lost+found/... -none

Then resume again your deliver, and you will see that those 'lost+found' files become ignored (with a warning non-blocking status attached to them).

If those files aren't in lost+found and are failing the deliver because of "Not a vob object <directory name>", the first check to do is to go to the parent directory of said files in a shell session and type cleartool ls: you will see their status.
In this case, the OP Ian reports them as hijacked, so it was simply about undoing their hijacked status.

He reports also having to delete (rmname) some binary files, although my answer to the question "Clearcase UCM is trying to merge pdf files" is pointing to an alternative solution (copy merge).


My recommendation: in that particular state (deliver with checkins already there), try hard to complete the deliver, not to cancel it.

Community
  • 1
  • 1
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • When I resume the deliver I get three elements with errors; when I select "Display element log" for that element it says "Not a vob object ". So if I add the path of these elements/directories (on my HD) to the configspec in the "Component selection rules..." area, I should be okay? – Ian Jan 09 '12 at 20:52
  • But it doesn't appear that they're in the lost+found area. They're just normal paths to directories that used to be in the view. – Ian Jan 09 '12 at 20:54
  • @Ian: you cannot just add them in the config spec. I usually see that error when one is delivering a source Stream which contains a component which isn't yet added on the destination Stream (ie the destination Stream doesn't contain a foundation baseline of that new component yet). Rebase the destination Stream first if this is the case. If this is not the case, you need to go in the parent directory of that file, and copy-paste the result of a `cleartool ls` in order for me to debug. – VonC Jan 09 '12 at 21:16
  • @Ian: the other reason, "especially for files that used to be in the view", are files that are deleted in the source view and should be considered as "non-visible" (so warning sign). Make sure you are only considering "error" files (red circle, white cross). – VonC Jan 09 '12 at 21:18
  • Okay I was able to resolve my issues by updating the target view and then undoing all hijacks (apparently it had a bunch, but the errors said "not an element in a vob") and then deleting (rmname) a file or two in the target directory, because they were binary files that couldn't be merged, thanks. – Ian Jan 09 '12 at 22:33
  • @Ian: Excellent. I have updated my answer to include your conclusions. – VonC Jan 10 '12 at 05:14