On Friday, 17 April 2009 14:03:15 Michael Schroeder wrote:
If you really, really insist on performing an automatic merge upon checkout, feel free to go ahead and implement that, [...]
That's nothing that we dictate, it's what the client does (in your case osc).
Well ... that's not really true today: when osc checks out a link package in expanded form, it relies on the server's idea of what that expansion is. Looking at the example I gave in the email that opened this thread, target(1) target(2) <--- link(1) link(2) target(3) When osc checks out link(2) after target(3) has been created, the server decides to deliver apply(diff(target(2), link(2)), target(3)) instead. The email stating this thread explains how this is almost but not quite a merge, and why the result cannot be relied upon. The two ways to fix it are either: * to deliver the original version of link(2), i.e., link(2) == apply(diff(target(2), link(2)), target(2)) and to implement merging client side, or * to deliver the actual merge result, i.e., merge(target(3), target(2), link(2)) and only resolve merge conflicts on the client. So please let's fix this one of these ways. (In my opinion merging belongs on the client, but either way would actually work.) Thanks, Andreas -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org