Squeak SmalltalkJoker Squeak Smalltalk : Tools Tricks Usage : prevnext Monticello Merge 0

> 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.

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 -