Merging non-conflicting methods with

Avi Bryant avi at beta4.com
Sun Mar 21 10:42:15 UTC 2004


On Mar 21, 2004, at 2:22 AM, bernhard at pieber.com wrote:

> I have a question regarding merging of non-conflicting methods:
>
> The Merge Browser lists first all conflicting methods in bold and then
> the non-conflicting methods. The button Reject seems to only have an
> effect on the conflicting methods. If I select a conflicting method and
> press Reject it is striked out in the list and the method is not merged
> in when I press Merge later. Is there also a way to do this for
> non-conflicting methods?

No.  That's probably the most frequently denied feature request for MC 
:).  The problem is that once you have rejected an item from the merge, 
you'll never be able to merge it in again - as far as MC is concerned, 
you saw that method and don't have it, so you must not have wanted it.  
This isn't what people likely expect when they use the merge browser (I 
think they usually want that feature when they need to cherry pick a 
few items from another version now, and would like to be able to cherry 
pick a few more later).  I think having to explicitly merge in and then 
remove those methods is more clear.

That said, it *would* be nice to have a cherry pick interface, but I 
think it has to be without semantics - that is, a way to copy changes 
from one branch to another without actually affecting the ancestry.  If 
you find yourself doing this a lot you probably need to be separating 
your branches out more (ideally, each independent change should be on a 
branch from the last stable release).

> I try to merge Monticello-bp.65.mcz into Monticello-avi.146.mcz in the
> following way: I only want to keep non-conflicting changes, i.e. 
> changes
> to methods which were not changed in the meantime. I do not want to get
> methods which were in version 64 but were deleted afterwards. Is there 
> a
> way to achieve this with the current UI?

That sounds like a standard merge to me.  In other words, if you load 
-avi.146, select -bp.65, and then choose Merge, that's exactly what I 
would expect to see.

> By the way, is there a way to compare two versions with each other even
> if none of them is in the image? That would be very useful.

Yes.  Use the History view on the later one, then bring up the 
context-menu on the earlier version name in the list of ancestors and 
you can choose to see a diff.  If you're browsing History and you want 
to diff two arbitrary ancestors, you can spawn a new History for the 
later ancestor and then do the same thing.




More information about the Squeak-dev mailing list