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

Merging multiple revision may lead to unnecessary conflicts

From: Tobias Schäfer <tobiasschaefer_at_gmx.de>
Date: Fri, 7 Mar 2008 18:11:08 +0100

Hi,

using the nightly of TSVN which uses alpha2 of subversion I found the
following merge scenario which results in an unnecessary conflict. It
basically happens when multiple revisions are merged in the wrong order
despite them relying on one another.

Note: This is not the scenario which Stefan mentioned minutes ago in the
thread "Ready for RC1"

To reproduce the merge which results in unncessary conflicts do the
following with TortoiseSVN:

Call "Merge..." on the 1.4.x branch, choose "Merge a range of revisions" and
select the revisions 7508 and 7994 using the log dialog. Note: The merge
dialog will show the revisions in the order "7994,7508". Now start the
merge. This will result in a conflict in www\Changelog.txt - please ignore
the other conflicts.

To reproduce with the command line client (only look at www\ChangeLog.txt
and ignore the other files!)

D:\Development\SVN\tsvn-1.4.x>svn merge --username guest -r 7993:7994 -r
7507:7508 http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk
Conflict discovered in 'www/project_status.html'.
Select: (p)ostpone, (D)iff in full, (e)dit, (h)elp for more options: p
--- Merging r7994 into '.':
C www\project_status.html
Conflict discovered in 'www/donate.html'.
Select: (p)ostpone, (D)iff in full, (e)dit, (h)elp for more options: p
C www\donate.html
Conflict discovered in 'www/ChangeLog.txt'.
Select: (p)ostpone, (D)iff in full, (e)dit, (h)elp for more options: p
C www\ChangeLog.txt
Conflict discovered in 'www/index.html'.
Select: (p)ostpone, (D)iff in full, (e)dit, (h)elp for more options: p
C www\index.html
Conflict discovered in 'www/ChangeLog.txt'.
Select: (p)ostpone, (D)iff in full, (e)dit, (h)elp for more options: p
--- Merging r7508 into '.':
C www\ChangeLog.txt

If the two -r parameters are supplied in the correct order the file
www\ChangeLog.txt has no conflicts:

D:\Development\SVN\tsvn-1.4.x>svn merge --username guest -r 7507:7508 -r
7993:7994 http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk
--- Merging r7508 into '.':
U www\ChangeLog.txt
Conflict discovered in 'www/project_status.html'.
Select: (p)ostpone, (D)iff in full, (e)dit, (h)elp for more options: p
--- Merging r7994 into '.':
C www\project_status.html
Conflict discovered in 'www/donate.html'.
Select: (p)ostpone, (D)iff in full, (e)dit, (h)elp for more options: p
C www\donate.html
G www\ChangeLog.txt
Conflict discovered in 'www/index.html'.
Select: (p)ostpone, (D)iff in full, (e)dit, (h)elp for more options: p
C www\index.html

Tobias

-- 
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-03-07 18:11:35 CET

This is an archived mail posted to the Subversion Dev mailing list.