Merge tool of MC

Bert Freudenberg bert at impara.de
Sat Sep 17 21:33:54 UTC 2005


Am 17.09.2005 um 20:11 schrieb stéphane ducasse:

> hi
>
> I would like to understand how the merge tool works.
> When I do merge I get a list of changes,

Yes, you are displayed a list of all the changes - added, removed, or  
modified methods and classes.

> some of them are marked changed

Not sure what you mean ... the line highlighted in bold face mark  
conflicts. A conflict occurs if the same method was modified both in  
the image and in the version you are merging.

> Then I do not understand the keep and reject buttons.

"Keep" means to keep the changes, that is the new definition will be  
used, the one in your image will be modified.
"Reject" rejects the change, the version that was in your image will  
be kept.

> If I select an item and press reject nothing happens, should the  
> selected item be underlined, crossed?

You can only reject conflicts, the ones that are highlighted in bold.

It's a bit misleading that the buttons are always shown, even if  
there is nothing for you to do. I actually changed that when merging  
a configuration - the Merge dialog is only shown if there actually  
was a conflict.

> How do I know the ones that I reject or keep?

Use your brain :-)

Really, that's why Monticello lets you as a programmer decide - it  
*cannot* decide on its own whether to use the version that was  
modified in the image, or the one from the branch you are merging in.

Sometimes it is necessary to first "keep" the change, and then after  
the merging, fix the methods in the regular browser. This happens,  
for example, when both versions each added a line to a method.  
Neither of the methods would be correct, so you would have to add the  
one line from the previous version back into the newer version.

We could use a bit more tool support for that - it would be nice if  
one could fix the method right in the merge tool. But in practice the  
conflicts requiring manual fixing are not that common.

- Bert -




More information about the Squeak-dev mailing list