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

Complex merge process, help!

Hi,

I have two streams with parallel work on the same projects (August & November releases).

We have hundreds of change sets in our August stream that need to be merged to our November stream, many of which are iterative change sets on the same code files over time.

I created a workspace for November and compared to the August stream. Instead of comparing the file contents, it is showing every change set in August not included in November. So, if one file has 200 change sets associated with it, it forces me to merge each individual change set rather then simply comparing the latest version of the two files and having me merge once.

Am I missing something? I'm coming from clearcase where comparing two branches would compare the files directly rather then forcing you to merge every change set.

This, combined with the fact that RTC doesn't auto-merge seemingly simple/unrelated blocks of code (for example, C# winforms .designer files), is making this process difficult and error prone.

thanks
-Bill T

0 votes



7 answers

Permanent link
There are a couple of different questions here.
One is how to do a "file-based diff" instead of a "change-set-based
diff" between your workspace and a stream.

It's not obvious (and there is a work item submitted to make this more
obvious), but what you do is:
Go to your pending changes view.
Multi-select all of the incoming change-sets.
Right click over those multi-selected change-sets, and select "Open in
Change Explorer".
The change explorer will then show you the differences between the files
in a directory tree view (with change sets combined).

WRT the merge tool, you can ask Eclipse to use the standard ClearCase
merge tool, instead of the default RTC merge tool, by using the
Team -> Jazz_Source_Control -> External_Compare_Tools
preference.

Cheers,
Geoff

On 7/11/2010 10:22 AM, bthorn17 wrote:
Hi,

I have two streams with parallel work on the same projects (August
& November releases).

We have hundreds of change sets in our August stream that need to be
merged to our November stream, many of which are iterative change
sets on the same code files over time.

I created a workspace for November and compared to the August stream.
Instead of comparing the file contents, it is showing every change set
in August not included in November. So, if one file has 200 change
sets associated with it, it forces me to merge each individual change
set rather then simply comparing the latest version of the two files
and having me merge once.

Am I missing something? I'm coming from clearcase where comparing two
branches would compare the files directly rather then forcing you to
merge every change set.

This, combined with the fact that RTC doesn't auto-merge seemingly
simple/unrelated blocks of code (for example, C# winforms .designer
files), is making this process difficult and error prone.

thanks
-Bill T

0 votes


Permanent link
There are a couple of different questions here.
One is how to do a "file-based diff" instead of a "change-set-based
diff" between your workspace and a stream.

It's not obvious (and there is a work item submitted to make this more
obvious), but what you do is:
Go to your pending changes view.
Multi-select all of the incoming change-sets.
Right click over those multi-selected change-sets, and select "Open in
Change Explorer".
The change explorer will then show you the differences between the files
in a directory tree view (with change sets combined).

WRT the merge tool, you can ask Eclipse to use the standard ClearCase
merge tool, instead of the default RTC merge tool, by using the
Team -> Jazz_Source_Control -> External_Compare_Tools
preference.

Cheers,
Geoff

On 7/11/2010 10:22 AM, bthorn17 wrote:
Hi,

I have two streams with parallel work on the same projects (August
& November releases).

We have hundreds of change sets in our August stream that need to be
merged to our November stream, many of which are iterative change
sets on the same code files over time.

I created a workspace for November and compared to the August stream.
Instead of comparing the file contents, it is showing every change set
in August not included in November. So, if one file has 200 change
sets associated with it, it forces me to merge each individual change
set rather then simply comparing the latest version of the two files
and having me merge once.

Am I missing something? I'm coming from clearcase where comparing two
branches would compare the files directly rather then forcing you to
merge every change set.

This, combined with the fact that RTC doesn't auto-merge seemingly
simple/unrelated blocks of code (for example, C# winforms .designer
files), is making this process difficult and error prone.

thanks
-Bill T


Hi,

Thanks for the reply. Unfortunately changing the compare tool doesn't help me here. It's the merge tool that I feel is lacking - although maybe it's the same as clearcase's I don't know. It just seems it is struggling on simpler files. Regardless, that's not a huge concern at this point.

As far as your first suggestion to do a file-based compare - I don't have incoming change sets to open in the change explorer. I am comparing my target workspace with the source stream which brings up a list of hundreds of change sets. Once viewing this list, if I select all of them to view in change explorer - it doesn't give me an option to do anything with them, except create a patch. Is this what you meant?

thanks
-Bill

0 votes


Permanent link
If you are running the "Compare With" actions, the view where the incoming and outgoing change sets are presented in is called the Change Explorer.

There is a toggle near on the top menu bar to show the delta as the net file/folder changes rather than as individual change sets.

Hope this helps
JohnC
SCM Server

0 votes


Permanent link
Remember that you can configure RTC to use any external merge tool. For example, if you are on a windows environment you could try something like WinMerge or a commercial product like beyond compare.


Cheers

Rob


There are a couple of different questions here.
One is how to do a "file-based diff" instead of a "change-set-based
diff" between your workspace and a stream.

It's not obvious (and there is a work item submitted to make this more
obvious), but what you do is:
Go to your pending changes view.
Multi-select all of the incoming change-sets.
Right click over those multi-selected change-sets, and select "Open in
Change Explorer".
The change explorer will then show you the differences between the files
in a directory tree view (with change sets combined).

WRT the merge tool, you can ask Eclipse to use the standard ClearCase
merge tool, instead of the default RTC merge tool, by using the
Team -> Jazz_Source_Control -> External_Compare_Tools
preference.

Cheers,
Geoff

On 7/11/2010 10:22 AM, bthorn17 wrote:
Hi,

I have two streams with parallel work on the same projects (August
& November releases).

We have hundreds of change sets in our August stream that need to be
merged to our November stream, many of which are iterative change
sets on the same code files over time.

I created a workspace for November and compared to the August stream.
Instead of comparing the file contents, it is showing every change set
in August not included in November. So, if one file has 200 change
sets associated with it, it forces me to merge each individual change
set rather then simply comparing the latest version of the two files
and having me merge once.

Am I missing something? I'm coming from clearcase where comparing two
branches would compare the files directly rather then forcing you to
merge every change set.

This, combined with the fact that RTC doesn't auto-merge seemingly
simple/unrelated blocks of code (for example, C# winforms .designer
files), is making this process difficult and error prone.

thanks
-Bill T


Hi,

Thanks for the reply. Unfortunately changing the compare tool doesn't help me here. It's the merge tool that I feel is lacking - although maybe it's the same as clearcase's I don't know. It just seems it is struggling on simpler files. Regardless, that's not a huge concern at this point.

As far as your first suggestion to do a file-based compare - I don't have incoming change sets to open in the change explorer. I am comparing my target workspace with the source stream which brings up a list of hundreds of change sets. Once viewing this list, if I select all of them to view in change explorer - it doesn't give me an option to do anything with them, except create a patch. Is this what you meant?

thanks
-Bill

0 votes


Permanent link
If you are running the "Compare With" actions, the view where the incoming and outgoing change sets are presented in is called the Change Explorer.

There is a toggle near on the top menu bar to show the delta as the net file/folder changes rather than as individual change sets.

Hope this helps
JohnC
SCM Server


Hi,

If I toggle it to see the delta, it still doesn't give me an option to merge the files based on file-diff. It is a read-only view where I can see the changes based on file diff, but can't do much with it. Unless I'm missing something?

I ended up accepting all the individual change sets into my November workspace. It was tedious and lengthy, but got it done in the end.

0 votes


Permanent link
The "external compare tool" is used for both comparing and merging, so
specifying the compare tool as described below would cause it to be used
for merging as well.

WRT the file-based compare, if you just want to compare your workspace
to the source stream, then you can use the "compare with" approach that
John posted about earlier. But if you want to subsequently merge in the
changes (as you indicated in a response), you'll need to use the
"Pending Changes" view, not the "compare with" operation.

WRT your not getting an "Open in Change Explorer" option, one reason for
that to happen is that you've selected something other than a change
set. To see if that is the case, just multi-select a couple of change
sets, and verify you have an "OiCE" operation as a choice. Then expand
the selection ... if that operation choice goes away, you've selected
something other than a change set.

Cheers,
Geoff

On 7/11/2010 3:37 PM, bthorn17 wrote:

Thanks for the reply. Unfortunately changing the compare tool doesn't
help me here. It's the merge tool that I feel is lacking - although
maybe it's the same as clearcase's I don't know. It just seems it is
struggling on simpler files. Regardless, that's not a huge concern at
this point.

As far as your first suggestion to do a file-based compare - I don't
have incoming change sets to open in the change explorer. I am
comparing my target workspace with the source stream which brings up
a list of hundreds of change sets. Once viewing this list, if I
select all of them to view in change explorer - it doesn't give me an
option to do anything with them, except create a patch. Is this what
you meant?

gmclemmwrote:
There are a couple of different questions here.
One is how to do a "file-based diff" instead of a
"change-set-based
diff" between your workspace and a stream.

It's not obvious (and there is a work item submitted to make this
more
obvious), but what you do is:
Go to your pending changes view.
Multi-select all of the incoming change-sets.
Right click over those multi-selected change-sets, and select
"Open in
Change Explorer".
The change explorer will then show you the differences between the
files
in a directory tree view (with change sets combined).

WRT the merge tool, you can ask Eclipse to use the standard
ClearCase
merge tool, instead of the default RTC merge tool, by using the
Team -> Jazz_Source_Control -> External_Compare_Tools
preference.

On 7/11/2010 10:22 AM, bthorn17 wrote:
Hi,

I have two streams with parallel work on the same projects (August
& November releases).

We have hundreds of change sets in our August stream that need to
be
merged to our November stream, many of which are iterative change
sets on the same code files over time.

I created a workspace for November and compared to the August
stream.
Instead of comparing the file contents, it is showing every change
set
in August not included in November. So, if one file has 200 change
sets associated with it, it forces me to merge each individual
change
set rather then simply comparing the latest version of the two
files
and having me merge once.

Am I missing something? I'm coming from clearcase where comparing
two
branches would compare the files directly rather then forcing you
to
merge every change set.

This, combined with the fact that RTC doesn't auto-merge seemingly
simple/unrelated blocks of code (for example, C# winforms .designer
files), is making this process difficult and error prone.

0 votes


Permanent link
Hi,

I am merging the changes after I do the Compare With. My issue here is I'm merging all of the change sets, instead of the file-based differences.

If I do the 'Open in Change Explorer' or toggle it to view the file-based differences, there isn't a way to merge in that view. I have to go back to the Change Explorer and 'Accept' the change sets into my Pending Changes - where subsequently, yes, I would do the merges or deliveries as needed.

My point is, it is forcing me to accept all the change sets instead of cutting to the chase and allowing me to do the merge based on file-differences alone.

-Bill

The "external compare tool" is used for both comparing and merging, so
specifying the compare tool as described below would cause it to be used
for merging as well.

WRT the file-based compare, if you just want to compare your workspace
to the source stream, then you can use the "compare with" approach that
John posted about earlier. But if you want to subsequently merge in the
changes (as you indicated in a response), you'll need to use the
"Pending Changes" view, not the "compare with" operation.

WRT your not getting an "Open in Change Explorer" option, one reason for
that to happen is that you've selected something other than a change
set. To see if that is the case, just multi-select a couple of change
sets, and verify you have an "OiCE" operation as a choice. Then expand
the selection ... if that operation choice goes away, you've selected
something other than a change set.

Cheers,
Geoff

On 7/11/2010 3:37 PM, bthorn17 wrote:

Thanks for the reply. Unfortunately changing the compare tool doesn't
help me here. It's the merge tool that I feel is lacking - although
maybe it's the same as clearcase's I don't know. It just seems it is
struggling on simpler files. Regardless, that's not a huge concern at
this point.

As far as your first suggestion to do a file-based compare - I don't
have incoming change sets to open in the change explorer. I am
comparing my target workspace with the source stream which brings up
a list of hundreds of change sets. Once viewing this list, if I
select all of them to view in change explorer - it doesn't give me an
option to do anything with them, except create a patch. Is this what
you meant?

gmclemmwrote:
There are a couple of different questions here.
One is how to do a "file-based diff" instead of a
"change-set-based
diff" between your workspace and a stream.

It's not obvious (and there is a work item submitted to make this
more
obvious), but what you do is:
Go to your pending changes view.
Multi-select all of the incoming change-sets.
Right click over those multi-selected change-sets, and select
"Open in
Change Explorer".
The change explorer will then show you the differences between the
files
in a directory tree view (with change sets combined).

WRT the merge tool, you can ask Eclipse to use the standard
ClearCase
merge tool, instead of the default RTC merge tool, by using the
Team -> Jazz_Source_Control -> External_Compare_Tools
preference.

On 7/11/2010 10:22 AM, bthorn17 wrote:
Hi,

I have two streams with parallel work on the same projects (August
& November releases).

We have hundreds of change sets in our August stream that need to
be
merged to our November stream, many of which are iterative change
sets on the same code files over time.

I created a workspace for November and compared to the August
stream.
Instead of comparing the file contents, it is showing every change
set
in August not included in November. So, if one file has 200 change
sets associated with it, it forces me to merge each individual
change
set rather then simply comparing the latest version of the two
files
and having me merge once.

Am I missing something? I'm coming from clearcase where comparing
two
branches would compare the files directly rather then forcing you
to
merge every change set.

This, combined with the fact that RTC doesn't auto-merge seemingly
simple/unrelated blocks of code (for example, C# winforms .designer
files), is making this process difficult and error prone.

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: Jul 11 '10, 10:20 a.m.

Question was seen: 5,972 times

Last updated: Jul 11 '10, 10:20 a.m.

Confirmation Cancel Confirm