So I'm used to thinking that I was halfway decent with svn, but this particular problem is bothering me ...
I have a topic thread where I added several files and made one small modification. I combined all the changes from the torso that have occurred since the moment when my topic thread was cut to the head through:
svn merge ^/ trunk@revN ^/ trunk@HEAD with a branch as my working copy.
I push these changes to the branch, and now the different between my branch and the chest look something like this:
> svn diff ^/trunk ^/branches/KULRICE-5050 --summarize D https://test.kuali.org/svn/rice/trunk/impl/src/main/groovy/org/kuali/rice/kim/impl/attribute/KimAttributeDataBo.groovy M https://test.kuali.org/svn/rice/trunk/kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RolePermissionBoTest.groovy A https://test.kuali.org/svn/rice/trunk/kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleResponsibilityActionBoTest.groovy A https://test.kuali.org/svn/rice/trunk/kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleBoTest.groovy ...
In other words, I did not expect anything. These are the files that I changed in my branch.
Then I try to merge the branch down to the trunk through:
svn merge ^/trunk ^/branches/KULRICE-5050 with trunk as my working copy. Instead of changing these files, diff --summarize showed that I see the following:
> svn merge ^/trunk ^/branches/KULRICE-5050 --- Merging differences between repository URLs into '.': D impl/src/main/groovy/org/kuali/rice/kim/impl/attribute/KimAttributeDataBo.groovy U kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RolePermissionBoTest.groovy Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleResponsibilityActionBoTest.groovy' Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleBoTest.groovy' Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleResponsibilityBoTest.groovy' Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleMemberBoTest.groovy' A kim/kim-impl/src/main/java/org/kuali/rice/kim/impl/role ... ... Skipped 'kim/kim-api/src/main/java/org/kuali/rice/kim/api/role/RoleResponsibilityActionContract.java' Summary of conflicts: Skipped paths: 38 --- Merging r20279 through r20321 into '.': ... ... Summary of conflicts: Tree conflicts: 171 Skipped paths: 33 --- Reverse-merging r20321 through r20279 into '.': ...
... above indicate the places where I did not take into account the details. This is just a bunch of file updates and conflicts that should be next to my change set.
Why is there a merge in this case, trying to apply merge and reverse merge in different version ranges, when all I have indicated is “give me the difference between the chest and the branch and merge it into my WC”? It should not do anything with revision ranges. Do you have any idea why this is happening and what I need to change in my svn commands to fix it?
My svn client is svn version 1.6.15 (r1038135), and the svn server is 1.4.5 (r25188). The server version is out of my control, so an older merge style instead of using svn merge.