[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Integrated Merge Question - How are conflicts evaluated?

From: Bob Archer <bob.archer_at_amsi.com>
Date: Fri, 19 Mar 2010 11:18:19 -0400

> Apologies if someone has already posted this question but I have been
> looking for the answer for some time to no avail.
> I am testing the integration of some different 3rd party merge tools with
> TortoiseSVN. The reason for trying a 3rd party app is that I've noticed
> some
> unwanted behavour in 3 way merges with TortoiseMerge - namely that where
> there are identical changes in two branches, they are ignored in the merge
> and the merge completes without reporting a conflict and without including
> the changes in the branches.
> I've started with Beyond Compare 3 due to the excellent reviews and
> because
> I use this app for diff'ing at the moment. When I run a 3 way merge from
> the
> command line using BC3 and the /automerge switch the merge works exactly
> as
> I'd have expected. However, when I set the merge tool to external and use
> the following command line prompt (as advised by the guys at Scooter) then
> TortoiseSVN doesn't identify the file as conflicted and the output is as
> it
> was using tortoisemerge i.e. nothing has changed. However, I know that the
> changes to the settings have taken effect because other merges identify
> conflicts and use beyond compare as the diff'ing tool to resolve them.
> "C:\Program Files\Beyond Compare 3\BComp.exe" %mine %theirs %base %merged
> /title1=%yname /title2=%tname /title3=%bname /title4=%mname
> So my question is this: does TortoiseSVN use the external application to
> perform the merge and identify conflicts or does it only use the external
> tool to diff conflicts that its internal merge engine identifies?

My understanding is that the svn library does the merge... if it detects a conflict it creates two files... one with your file, one with the repository file and then the merged file with the conflicts marked. It passes these three files to Beyond Compare.. you use beyond compare to resolve the confluct. Once you have don't that you have to tell svn the conflict is resolved... how would it know otherwise?

This is all explained in chapter 4 section 6 of the TSVN doc. I quote a relevant portion here:

"Afterwards execute the command TortoiseSVN → Resolved and commit your modifications to the repository. Please note that the Resolve command does not really resolve the conflict. It just removes the filename.ext.mine and filename.ext.r* files, to allow you to commit your changes."

I think when using TortoiseMerge it has a button to "Save and Mark as Resolved" all in one swoop... which you don't have in Beyond Compare.



To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2010-03-19 16:17:18 CET

This is an archived mail posted to the TortoiseSVN Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.