You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Tobias Schäfer <to...@gmx.de> on 2008/03/07 17:11:08 UTC

Merging multiple revision may lead to unnecessary conflicts

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@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: Merging multiple revision may lead to unnecessary conflicts

Posted by Mark Phippard <ma...@gmail.com>.
On Fri, Mar 7, 2008 at 12:11 PM, Tobias Schäfer <to...@gmx.de> wrote:
>  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!)

This is exactly the same thing Stefan asked.  Or at least as I
interpreted it.  SVN will merge the revisions in the order you give
them.  TSVN needs to change to put your selections in the right order.
 Since it allows you to type in the field, I would suggest that TSVN
pass the revisions as they are typed, but change the revision selector
to order them properly.  So if for some reason, someone wants this in
a particular order they can still do it.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org