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

Bug/Inconsistency in merging single files

From: Lakshman Srilakshmanan <lakshman.srilakshmanan_at_tradingpost.com.au>
Date: 2006-09-28 08:16:09 CEST

Hi All,

This is a problem discussed in this forum 6 weeks ago. I have now done
further investigation and would like to present my findings. Old email
trail can be found at
http://www.nabble.com/Merging-and-Ancestry-tf2120346.html#a5919783

In summary I find that single file merges work for updates but **fails**
for add/delete.

Is this a bug or expected behaviour. If it was designed this way, could
someone please tell me the rational behind it.

I have the following structure

/trunk
/branches/ProjectA
/branches/ProjectB

Step1 : I create 4 new files in ProjectA and commit it.
works
Step2 : I simulate (dry-run) undo the work in Step 1
works
Step3 : I simulate (dry-run) undo "one file" from Step 1
*** Fails ***
Step4 : I edit 2 files in ProjectA and commit it
works
Step5 : I simulate (dry-run) undo "one file" from Step 4
works :)
Step6 : I simulate (dry-run) merging from ProjectA into trunk
works
Step7 : I simulate (dry-run) merging "one file" from ProjectA into trunk
*** Fails ***
Step8 : I merge from ProjectA into trunk and commit it
works
Step9 : I simulate (dry-run) merging "one file" from ProjectA into trunk
works :)

Step 1
------
I create 4 new files

lakshman@maggie:~/sgs-ProjectA > svn commit
Adding new1.build
Adding new2.build
Adding (bin) new3.gif
Adding (bin) new4.gif
Transmitting file data ....
Committed revision 24.

Step 2
------
Try a reverse merge dry-run (undo the work done in step 1 above)

lakshman@maggie:~/sgs-ProjectA > svn merge -r24:23 --dry-run
svn://slakshman@maggie/sgs/branches/ProjectA
D new3.gif
D new4.gif
D new1.build
D new2.build

Step 3
------
Try to reverse merge "one file"(undo the work done in step 2 above)

lakshman@maggie:~/sgs-ProjectA > svn merge -r24:23 --dry-run
svn://slakshman@maggie/sgs/branches/ProjectA/new1.build
svn: The location for
'svn://slakshman@maggie/sgs/branches/ProjectA/new1.build' for revision
23 does not exist in the repository or refers to an unrelated object

Step 4
------
Edit new1.build & new2.build

lakshman@maggie:~/sgs-ProjectA > svn commit *
Sending new1.build
Sending new2.build
Transmitting file data ..
Committed revision 25.

Step 5
------
Try to reverse merge "one file"(undo the work done in step 4 above)

lakshman@maggie:~/sgs-ProjectA > svn merge -r25:24 --dry-run
svn://slakshman@maggie/sgs/branches/ProjectA/new1.build
U new1.build

Step 6
------
Try to merge (--dry-run) from ProjectA into trunk

lakshman@maggie:~/sgs-trunk > svn merge -r23:24 --dry-run
svn://slakshman@maggie/sgs/branches/ProjectA
A new3.gif
A new4.gif
A new1.build
A new2.build

Step 7
------
I try to merge (--dry-run) "one file" from ProjectA into trunk

lakshman@maggie:~/sgs-trunk > svn merge -r23:24 --dry-run
svn://slakshman@maggie/sgs/branches/ProjectA/new1.build
svn: Unable to find repository location for
'svn://slakshman@maggie/sgs/branches/ProjectA/new1.build' in revision 23

Step 8
------
I now do the merge from Project A into trunk (similar to Step 6 above)

lakshman@maggie:~/sgs-trunk > svn merge -r23:24
svn://slakshman@maggie/sgs/branches/ProjectA
A new3.gif
A new4.gif
A new1.build
A new2.build
lakshman@maggie:~/sgs-trunk > svn commit *
Adding new1.build
Adding new2.build
Adding (bin) new3.gif
Adding (bin) new4.gif

Committed revision 26.

Step 9
------
I now do a single file merge from Project A into trunk

lakshman@maggie:~/sgs-trunk > svn merge -r24:25 --dry-run
svn://slakshman@maggie/sgs/branches/ProjectA/new1.build
U new1.build

Thanks
Lakshman

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Sep 28 09:12:58 2006

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