Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Jazz source repository

We are currently investigating migrating from CVS, our current source repository, to another repository manager. We looked into Subversion, which would allow us to migrate project by project by using hook scripts to keep the Subversion repository synchronized with the CVS repository. But, since we started using RTC, we were wondering if we could follow the same strategy to migrate to the Jazz source repository manager instead of Subversion.



Basically, I'm asking if there are hooks in the Jazz source repository that would trigger scripts to run on commit (in Subversion, they call those "post-commit" hooks) and are there command-line tools to work with the Jazz repository.

0 votes



2 answers

Permanent link
There is a Jazz SCM command line tool so you could write a CVS commit
script that pushed changes made in CVS to a Jazz repository. However,
there is no delivery hook in Jazz so it would be harder to push changes
the other way. It could be done using a Jazz client or build server
(i.e. Jazz builds are run on machines that have a partial Jazz client)
since the client/build machine could either listen for change
notifications for the Stream or run at specific intervals for the
purpose of pushing changes from Jazz to CVS. In essence, this is how the
CC connector works.

The drawback with the CC-style connector is that the history is lost
when changes are pushed either way. With CVS, it would be possible,
albeit non-trivial, to maintain the history. The other issue that needs
to be dealt with is conflict resolution. If conflicting changes were
released to both Jazz and CVS, this would require manual intervention. I
wonder how the CVS-SVN sync scripts you mentioned deal with this.

I think it is worthwhile to note that we are working towards a solution
to this. We made some progress in 1.0.1 in improving the CVS and SVN
importers and I've outlined a way that you could import multiple
branches from CVS on the following wiki page:

https://jazz.net/wiki/bin/view/Main/SCMImport

The process is a bit too manual at the current time but we hope to make
improvements in the next release.

Unfortunately, we couldn't make any progress on syncing changes between
Jazz and CVS/SVN in 1.0.1 because our server data schemas were frozen
and we would need to persist data on the server to do syncing properly.
We will hopefully be pursuing this further in the next release. The work
is being tracked by work item
https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/40296

Michael

Siocnarf wrote:
We are currently investigating migrating from CVS, our current source
repository, to another repository manager. We looked into Subversion,
which would allow us to migrate project by project by using hook
scripts to keep the Subversion repository synchronized with the CVS
repository. But, since we started using RTC, we were wondering if we
could follow the same strategy to migrate to the Jazz source
repository manager instead of Subversion.



Basically, I'm asking if there are hooks in the Jazz source repository
that would trigger scripts to run on commit (in Subversion, they call
those "post-commit" hooks) and are there command-line tools
to work with the Jazz repository.

0 votes


Permanent link
One terminological comment: we're now using "connector" to mean any kind
of cross-repository data integration mechanism. The current ClearCase
Connector and ClearQuest Connector are both "synchronizers", in that
they actually create replicas of the data from one repository in the
other repository. Another kind of connector is a "bridge", which links
objects in one repository to those in another repository (the current
SVN connector is a bridge).

Also note that saying that "history is lost" sounds a bit scary ... the
history still exists in the original repository. But it is true that the
entire history is not replicated in both repositories (just the versions
that were current in the synchronized stream/branch at the time of each
sync request).

Cheers,
Geoff



Michael Valenta wrote:
There is a Jazz SCM command line tool so you could write a CVS commit
script that pushed changes made in CVS to a Jazz repository. However,
there is no delivery hook in Jazz so it would be harder to push changes
the other way. It could be done using a Jazz client or build server
(i.e. Jazz builds are run on machines that have a partial Jazz client)
since the client/build machine could either listen for change
notifications for the Stream or run at specific intervals for the
purpose of pushing changes from Jazz to CVS. In essence, this is how the
CC connector works.

The drawback with the CC-style connector is that the history is lost
when changes are pushed either way. With CVS, it would be possible,
albeit non-trivial, to maintain the history. The other issue that needs
to be dealt with is conflict resolution. If conflicting changes were
released to both Jazz and CVS, this would require manual intervention. I
wonder how the CVS-SVN sync scripts you mentioned deal with this.

I think it is worthwhile to note that we are working towards a solution
to this. We made some progress in 1.0.1 in improving the CVS and SVN
importers and I've outlined a way that you could import multiple
branches from CVS on the following wiki page:

https://jazz.net/wiki/bin/view/Main/SCMImport

The process is a bit too manual at the current time but we hope to make
improvements in the next release.

Unfortunately, we couldn't make any progress on syncing changes between
Jazz and CVS/SVN in 1.0.1 because our server data schemas were frozen
and we would need to persist data on the server to do syncing properly.
We will hopefully be pursuing this further in the next release. The work
is being tracked by work item
https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/40296


Michael

Siocnarf wrote:
We are currently investigating migrating from CVS, our current source
repository, to another repository manager. We looked into Subversion,
which would allow us to migrate project by project by using hook
scripts to keep the Subversion repository synchronized with the CVS
repository. But, since we started using RTC, we were wondering if we
could follow the same strategy to migrate to the Jazz source
repository manager instead of Subversion.



Basically, I'm asking if there are hooks in the Jazz source repository
that would trigger scripts to run on commit (in Subversion, they call
those "post-commit" hooks) and are there command-line tools
to work with the Jazz repository.

0 votes

Your answer

Register or log in 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.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details

Question asked: Oct 01 '08, 9:45 a.m.

Question was seen: 6,484 times

Last updated: Oct 01 '08, 9:45 a.m.

Confirmation Cancel Confirm