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