It's all about the answers!

Ask a question

ClearCase Connector using old values


Erik anderson (38315029) | asked Oct 22 '08, 2:14 p.m.
I've been testing the ClearCase Connector and have managed to paint myself into a corner. In some early testing, I used a private vob (eanderso_test.projects) and it was working fine. I wanted to open it up to a wider audience and use a public vob (zztest.projects) with an existing UCM component (junit.comp), so I cleaned up the sync job, sync stream, workspaces (merge, internal, and CLONE), and clearcase view (DO_NOT...) and renamed the Jazz component to match my UCM component (from Junit.comp to junit.comp).

Then I tried to setup a new sync job and export from Jazz, but the job fails because it's using some values from my original test (i.e. component):

Retrieving meta-data for: junit.comp
Updating folder: eanderso_test.01/Junit.comp
Restoring folder: JUnit Examples
Synchronization exception: Failure while trying to execute cleartool command:

cleartool chproject -amodcomp component:Junit.comp@\eanderso_test.projects project:JJ1.0_junit.comp@\zztest.projects

cleartool: Error: No permission to perform operation "change activity".
cleartool: Error: Must be one of: object owner, VOB owner, member of ClearCase group
cleartool: Error: Unable to set modifiable component list for project "project:JJ1.0_junit.comp@\zztest.projects".


I've double checked the properties of the sync job and they seem correct. Not sure where it's getting the old values from or how to get this working in the new vob.

5 answers



permanent link
Geoffrey Clemm (30.1k33035) | answered Oct 22 '08, 11:08 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Hi Erik,

There's an old US commercial whose punch line was "you can't fool mother
nature". Well, the CC Connector is like that (:-). Once you have
associated a particular Jazz component with a particular UCM component,
the connector remembers that (by UUID), and no amount of subsequent
renaming of the Jazz component will fool it into thinking otherwise (the
"lookup by name" is just for forming the initial association).

So you would need to create a new Jazz component to associate with the
new UCM component. To do so:
- rename the old Jazz component to some scratch name
- create a new Jazz component (with the same name as the new UCM component)
- "move" (or "copy", if you don't care about history) the files/folders
from the old Jazz component to the new Jazz component
- do the export.

Cheers,
Geoff

eanderso wrote:
I've been testing the ClearCase Connector and have managed to paint
myself into a corner. In some early testing, I used a private vob
(eanderso_test.projects) and it was working fine. I wanted to open
it up to a wider audience and use a public vob (zztest.projects) with
an existing UCM component (junit.comp), so I cleaned up the sync job,
sync stream, workspaces (merge, internal, and CLONE), and clearcase
view (DO_NOT...) and renamed the Jazz component to match my UCM
component (from Junit.comp to junit.comp).

Then I tried to setup a new sync job and export from Jazz, but the job
fails because it's using some values from my original test (i.e.
component):

Retrieving meta-data for: junit.comp
Updating folder: eanderso_test.01/Junit.comp
Restoring folder: JUnit Examples
Synchronization exception: Failure while trying to execute
cleartool command:

cleartool chproject -amodcomp
component:Junit.comp@\eanderso_test.projects
project:JJ1.0_junit.comp@\zztest.projects

cleartool: Error: No permission to perform operation
"change activity".
cleartool: Error: Must be one of: object owner, VOB owner,
member of ClearCase group
cleartool: Error: Unable to set modifiable component list for
project "project:JJ1.0_junit.comp@\zztest.projects".


I've double checked the properties of the sync job and they seem
correct. Not sure where it's getting the old values from or how to
get this working in the new vob.

permanent link
Erik anderson (38315029) | answered Oct 23 '08, 9:25 a.m.
Thanks Geoff

It got further but still some residue from original test. This is what I did:

In Team Concert workspace
    Renamed component to junit.comp.old
    Made new component foobar
    Moved files and dirs to foobar component
    Removed junit.comp.old component
    Delivered
In ClearCase
    made new UCM component foobar
    made new UCM projects and stream configured with foobar component
In Team Concert
    cleaned up previous sync stream, workspaces, and view
    setup new sync job
    added foobar component to sync stream
    changed COMPONENT_VOB_TAG property.

Ran the job and
Sync:
action: SYNCHRONIZE
synchronization stream location string: Stream|URI:itemOid/com.ibm.team.scm.Workspace/_f7KpMKEAEd29gojDqFqRNA
synchronizer version number 'I20080618-1642'
running on host 'durango'
Computing changes in synchronized stream
Creating baseline in component: foobar
Computing changes in component: foobar
Checking in brought over changes
Computing changes in synchronized stream
Restoring root: JUnit Examples
Synchronization exception: Failure while trying to execute cleartool command:

cleartool ln -nc W:\DO_NOT_USE_JJ1.0.1_foobar_jazzsync[b:d6877bca0e]eanderso_test.01\Junit.comp@@\main\JJ1.0_Integ\1\JUnit Examples@@\main\0 W:/DO_NOT_USE_JJ1.0.1_foobar_jazzsync/zztest.01/foobar/JUnit Examples

cleartool: Error: Source "W:\DO_NOT_USE_JJ1.0.1_foobar_jazzsync[b:d6877bca0e]eanderso_test.01\Junit.comp@@\main\JJ1.0_Integ\1\JUnit Examples" and destination "W:/DO_NOT_USE_JJ1.0.1_foobar_jazzsync/zztest.01/foobar/JUnit Examples" are in different versioned object bases.

current working directory: W:\DO_NOT_USE_JJ1.0.1_foobar_jazzsync
command result status: 1

I wouldn't be sweating it but I have a group that's already using Jazz and is in a similar situation (the first sync failed when the Jazz component didn't match the UCM component and it tried to create a UCM component with spaces).

permanent link
Geoffrey Clemm (30.1k33035) | answered Oct 23 '08, 2:00 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
That shouldn't happen (:-).
I've opened up workitem 63338 to investigate.

So you can make progress, the workaround is to delete your sync streams,
then use the connector command line to delete all of the existing clone
information in the Jazz repository, and then to create a new sync stream.

I'll ask Paul Komar (our command line meister :-) to post a message to
this thread about how to do that, for folks who haven't used the command
line before.

Cheers,
Geoff

eanderso wrote:
Thanks Geoff

It got further but still some residue from original test. This is
what I did:

In Team Concert workspace
Renamed component to junit.comp.old
Made new component foobar
Moved files and dirs to foobar component
Removed junit.comp.old component
DeliveredIn ClearCase
    made new UCM component foobar
    made new UCM projects and stream configured with foobar
    component
In Team Concert
    cleaned up previous sync stream, workspaces, and
    view
    setup new sync job
    added foobar component to sync stream
    changed COMPONENT_VOB_TAG property.

Ran the job and
Sync:
action: SYNCHRONIZE
synchronization stream location string:
Stream|URI:itemOid/com.ibm.team.scm.Workspace/_f7KpMKEAEd29gojDqFqRNA
synchronizer version number 'I20080618-1642'
running on host 'durango'
Computing changes in synchronized stream
Creating baseline in component: foobar
Computing changes in component: foobar
Checking in brought over changes
Computing changes in synchronized stream
Restoring root: JUnit Examples
Synchronization exception: Failure while trying to execute
cleartool command:

cleartool ln -nc
W:\DO_NOT_USE_JJ1.0.1_foobar_jazzsync\eanderso_test.01\Junit.comp@@\main\JJ1.0_Integ\1\JUnit
Examples@@\main\0
W:/DO_NOT_USE_JJ1.0.1_foobar_jazzsync/zztest.01/foobar/JUnit
Examples

cleartool: Error: Source
"W:\DO_NOT_USE_JJ1.0.1_foobar_jazzsync[b:d6877bca0e]eanderso_test.01\Junit.comp@@\main\JJ1.0_Integ\1\JUnit
Examples" and destination
"W:/DO_NOT_USE_JJ1.0.1_foobar_jazzsync/zztest.01/foobar/JUnit
Examples" are in different versioned object bases.

current working directory:
W:\DO_NOT_USE_JJ1.0.1_foobar_jazzsync
command result status: 1

I wouldn't be sweating it but I have a group that's already using Jazz
and is in a similar situation (the first sync failed when the Jazz
component didn't match the UCM component and it tried to create a UCM
component with spaces).

permanent link
Paul Komar (421) | answered Oct 24 '08, 12:02 p.m.
There is no way to undo the removal of CC Connector clone links, so you should have a good, recent backup of your Jazz repository (if you think you might want to undo the link removal).

The following command will remove all clone links in a given repository:
.../ccctools/eclipse/scm clones --repository-uri {repository url} --username {username} --password {password} --remove-links

for example:
scm clones --repository-uri https://example.com:9443/jazz --username ccsync --password notMyRealPassword --remove-links


You should confirm that the links have been removed by running the command with the "--list" option, to validate that the clone links have been removed. The "--list" option will print the total number of links found.
scm clones --repository-uri https://example.com:9443/jazz --username ccsync --password notMyRealPassword --list


Notes:
. the scm program that has the clones subcommand is located below the ccctools directory (not the scmtools directory)
. The program will list the links as it removes them.
. we know that the clones subcommand behavior can be confusing. For example, in 1.0, the output of the "--remove-links" option is indistinguishable from "--list" output.

permanent link
Erik anderson (38315029) | answered Oct 24 '08, 4:32 p.m.
Thanks for the assist (and quick turn around)

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.