[Seaside] monticello remote repositories
Julian Fitzell
seaside@lists.squeakfoundation.org
Sun, 29 Dec 2002 20:11:48 -0800
Andreas Raab wrote:
> Julien,
>
>
>>I'm not convinced though, that you couldn't to 3-way merge
>>at a finer granularity than line-by-line.
>
>
> Oh, I'm not saying you couldn't. I'm saying you may not necessarily have
> to ;-)
>
>
>>I still don't quite see how a diff between my modified
>>version and the version on the server is helpful, though.
>
>
> Try it. That's really all I can say. I'm going from experience and my
> experience just tells me that all other things being equal I would
> _much_ rather see that diff right away than a fully fledged
> three-way-diff some months down the road ;-) This was why I was raising
Aha!
I totally agree that a "now" solution is better than waiting for a
"later, better" solution. What I was trying to figure out was how the
particular diff you were referring to was helpful. I tried creating the
methods I was talking about below (the 3 versions of #foo) and looked at
the diffs and I think I see what you mean. You end up with your version
of the code crossed out and the server's version in red - so you could
compare the two side-by-side and (assuming you know the purpose of both
changes and roughly what the original state was) you can come up with a
new version that combines the two (or drops one, as appropriate).
So, yeah... it's a bit hackish but I can how it could be a useful
short-term solution.
> this point to begin with. When people start using Monticello (and it
> looks like it's going to happen) then this is likely to be one of the
> more problematic issues. And I _think_ that even something as dog-simple
> as showing that diff can get you a very long way.
>
> Again, that's just from experience on my part. You don't have to take it
> by face value and if you want to do the three way diff/merge then, by
> all means, go for it! The point here is that if you want to have a "good
> enough" solution without much work on your part it's probably worthwhile
> to just throw in a few lines of code along the lines of:
>
> "a random selection of 'conflicts'"
> conflicts := Smalltalk
> allSelect:[:cm| cm primitive between: 100 and: 200].
>
> msgSet := MessageSet
> openMessageList: conflicts
> name: 'conflicting methods'
> autoSelect: nil.
>
> msgSet showRegularDiffs: true.
>
> and see if that helps. At its worst, it will be useless and then you've
> wasted a few lines of code to try it. At its best you will find yourself
> wanting to do other things than writing the three way diff/merge stuff
> ;-)
>
> Cheers,
> - Andreas
>
> _______________________________________________
> Seaside mailing list
> Seaside@lists.squeakfoundation.org
> http://lists.squeakfoundation.org/listinfo/seaside
--
julian@beta4.com
Beta4 Productions (http://www.beta4.com)