[RFC] Workingstyle of different VCS systems

Matthew Woehlke mw_triad at users.sourceforge.net
Wed Apr 11 15:22:27 UTC 2007


Andreas Pakulat wrote:
> On 10.04.07 17:57:10, Matthew Woehlke wrote:
>> Andreas Pakulat wrote:
>>> On 10.04.07 09:39:58, Matthew Woehlke wrote:
>>>> What happens in svn when a merge fails?
>>> You get a file wich is in a conflict state and cannot be committed as it
>>> is (until you do svn resolved). [snip]
>> I meant when the attempt to patch *fails*, i.e. cannot determine what to 
>> patch (e.g. because I did something stupid like 'merge foo.c#4 foo.c#5 
>> bar.c'). Although I imagine perforce would choke similarly. Mainly I'm 
>> just curious. :-)
> 
> This doesn't fail. It just generates a hell of a lot of conflicts. Like
> this: [snip example]

Ah, ok. Thanks for enlightening me. :-)

>>>> Well, perforce doesn't *require* you to do the resolve right away, but I 
>>>> can't think of any use case where you would want to do something after 
>>>> the integrate but before the resolve.
>>> Hmm, given that we will have "resolve" action anyway (as conflicts in
>>> svn can happen on normal updates), I guess we can as well let the merge
>>> be without the resolve. The backend can then update the state properly,
>>> i.e. in perforce all files are marked as conflict or "needs resolve" and
>>> the user can then select all files or specific ones to resolve...
>> The only reason I'm worried about that is it prevents an automated 
>> merge() because user intervention will *always* be required. Maybe 
>> merge() should take some QFlags, one of which says we should force an 
>> attempt to do automatic merges (this would be default)? Hmm, but then 
>> how to implement that in a shared UI?
> 
> Well, perforce could do the merge automatically and it would fail on any
> files that need user interaction to merge properly (due to conflicts).
> Then it would pretty much resemble svn behaviour, where the merge would
> be done implictly by svn.

Right, that's exactly what I was thinking. I'm wondering if doing this 
would be a good idea; I want to say "yes" (even though it differs from 
the default perforce behavior, it is more standardized). But then we 
should provide a way to override it if doing a merge interactively.

-- 
Matthew
Not to be used as a flotation device.





More information about the KDevelop-devel mailing list