chnage flow target question
Have question about the flow target
1. i have stream A workspace
2. other developers checked in the code in stream A and i also checkin code
3. I see it as incoming changes for the code other devl checked in
4. i now change the flow target to stream b
5. i see all the changes i accepted at #3 as outgoing including mine
and few other changes as in-coming
6. when i try to deliver only my changes to stream B it gives me error
"delivering this changes will introduce gaps in the stream, you are trying to deliver a subset of outgoing change set but they need to be delivered together because of dependencies between them" what does this mean ?
I see orange bi-directional arrows what does it represent. i see that one file is modified by many developers if i select one file it appears in blue and rest other file in ligt blue color is it because of dependency ?
is it that my version of file is new and it needs the older version of file to be delivered first ?
does it need to accept first all in-coming change before delivering outgoing change set ?
2 answers
On 7/27/2011 3:08 PM, mehulnp wrote:
Have question about the flow target
1. i have stream A workspace
2. other developers checked in the code in stream A and i also checkin
code
Note that you checkin code to your workspace. You *deliver* code to a
stream. So I'll assume you meant "other developers have delivered
changes to stream A and I have also delivered changes to stream A".
3. I see it as incoming changes for the code other devl checked in
4. i now change the flow target to stream b
5. i see all the changes i accepted at #3 as outgoing including mine
and few other changes as in-coming
That means that stream B did not have those changes from stream A.
6. when i try to deliver only my changes to stream B it gives me
error
"delivering this changes will introduce gaps in the stream, you
are trying to deliver a subset of outgoing change set but they need
to be delivered together because of dependencies between them"
what does this mean ?
That means that the changes from those other developers must have
modified at least one of the files that you modified, and that either
you had accepted the changes from the other developers before you made
your changes, or that you merged your changes with those of the other
developers.
I see orange bi-directional arrows what does it represent. i see that
one file is modified by many developers if i select one file it
appears in blue and rest other file in ligt blue color is it because
of dependency ?
The orange bi-directional arrows indicate that those files have
conflicts, i.e. both your changes and at least one of the incoming
changes have modified the same file. When you select your outgoing file
that is in conflict, it will highlight in blue the Unresolved file that
it created for that conflict.
is it that my version of file is new and it needs the older version of
file to be delivered first ?
That is what the gap error message meant, but the orange arrow indicates
a conflict, which requires you to do a merge to resolve the conflict, or
suspend/discard one of the contributing change sets.
does it need to accept first all in-coming change before delivering
outgoing change set ?
That is what you would do to resolve a "gap error" but would not resolve
a "conflict".
Cheers,
Geoff
Comments
Geoff has the correct answer to your question. I'll add some information related to gaps since that came up in part of your question.
In RTC 4.0.5 we delivered additional support when trying to accept change sets which have a gap (often encountered when trying to backport fixes). In a very brief summary of the feature, when you accept change sets with a gap, you can now follow a gap workflow that accepts one change set at a time and, for change sets that contain gaps, creates a new change set (with aided traceability), that contains the equivalent changes. This means users will not have to accept the change sets 'as a patch'. Applying change sets as a patch has limitations compared to the new workflow (as discussed in the article below).
This feature is summarized in the RTC 4.0.5 'New & Noteworthy' page: https://jazz.net/downloads/rational-team-concert/releases/4.0.5?p=news#scm-improve-usability-405-m1
<continue reading my next comment below> (I was limited in the number of characters I could add per comment)
Below are some videos which show this feature:
-Accepting multiple change sets with gaps in the RTC 4.0.5 client for Eclipse IDE: https://www.youtube.com/watch?v=28raag5RdzU
-Accepting a change set with a gap in the RTC 4.0.5 client for Eclipse IDE: https://www.youtube.com/watch?v=TucVu_BgB7E
In RTC 5.0 we added a "fill the gap" feature where the change sets that fill the gap are shown to the user, allowing them to either accept all the change sets or to continue with the gap workflow that was available in RTC 4.0.5.
This feature is summarized in the RTC 5.0 'New & Noteworthy' page: https://jazz.net/downloads/rational-team-concert/releases/5.0?p=news#eclipse-fill-gaps
The classes that are involved for filling the gap include (available in RTC 5.0):
client side: IWorkspaceConnection.findChangeSetsToAcceptToFillGap(...)
server side: IScmQueryService.findChangeSetsToAcceptToFillGap(...)
Both features are explained in detail in the "Improved Gap Handling for SCM" article: https://jazz.net/library/article/1372