It's all about the answers!

Ask a question

Guidance on using the CC Connectors


Geoffrey Clemm (30.1k33035) | asked Mar 26 '10, 1:14 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I got the following questions in email, and thought I'd share it with
the folks on this forum.

1). Do the RTC developers deliver/accept directly to/from
the Sync stream or do we setup a separate Dev stream? If the
latter, who manages the deliveries and accepts to/from the
Dev stream to the Sync stream?

You can do it either way. The benefit of just using the
sync stream as a dev stream is that changes from ClearCase
just magically show up on that stream (no RTC user action required).

But the down-side is that these changes might end up disrupting
the builds on that dev stream. If you find this is a problem (or
expect this to be a problem), you might want to use the other approach,
i.e. have a separate RTC dev stream, and then at appropriate
times, merge changes from the RTC dev stream and sync stream
into the Merge workspace, do a build in the Merge workspace to
confirm the changes combine well, and once the Merge workspace
builds are good, deliver those merged changes into both the RTC
dev stream and the sync stream.

2). On the 'base' ClearCase side, do we sync directly to
the release integration branch or to a separate sync branch?
If the latter, who manages the merges from the sync branch
to the release branch?

On the ClearCase side, you definitely do not want to sync
directly to the release integration branch (because that branch
is locked during the duration of the sync). So there should be
a separate sync branch.

You can write a script that runs nightly, to findmerge from the
release integration branch to the sync branch, and then if there
are no merge conflicts, findmerge the result back to the release
integration branch. But similar to the RTC scenario above, to
avoid disrupting the state with untested combinations of the sync
branch and the integration branch, you might want to run automated
tests in the view with that merged result before checking in the
changes to either the sync branch or the release integration branch.

3). What is the purpose of the CLONE workspace that the
wizard creates and how to use?

You should never load or try to make changes in the CLONE workspace
(or the INTERNAL workspace). These workspaces contain the internal
metadata needed by the sync process. The only valid use of the CLONE
workspace is as a source of changes (a "flow target") for the
Merge workspace, to resolve conflicts in the sync process.

Note that these workspaces are owned by the sync account, to
make sure regular users cannot modify them. That is one reason the
sync documentation warns that a user should never log in to RTC
with the sync account (since that would bypass the read protection
on those internal wordspaces).

I personally believe that we are supposed to establish one
level of indirection between the sync stream and dev stream
in RTC and the sync branch and release branch in ClearCase,
but can't seem to find any documentation that describes how
best to set this up.

Let me know if you need any more guidance than what appears above.
We are preparing additional guidance and documentation on best
practices for the CC Connector ... stay tuned. Until then, please
feel free to continue to use the forum for any questions you may
have.

Cheers,
Geoff

Be the first one to answer this question!


Register or to post your answer.