Hi guys, I have just started to use Subversion and I am having some difficulty with merging. Would anyone be able to help?
I am attempting to create a merge conflict but one is not occurring where I expect it to. My test case is based on the following set up: ***1. Create repository with the following structure*** - HelloWorldProject\trunk\HelloWorldProject - HelloWorldProject\branches ***2. Add HelloWorld.java to the trunk:*** [code=java]package org.keane.helloworld; public class HelloWorld { /** * @param args */ public static void main(String[] args) { System.out.println("Hello World v1.0"); System.out.println("Hello World v2.0 - change on trunk"); System.out.println("Hello World v3.0 - change on trunk"); } } [/code] ***3. Create branch from the HEAD of the trunk called BRANCH_01*** My repository structure is now as follows: - HelloWorldProject\trunk\HelloWorldProject - HelloWorldProject\branches\BRANCH_01\HelloWorldProject ***4. Modify HelloWorld.java on the branch*** [code=java]package org.keane.helloworld; public class HelloWorld { /** * @param args */ public static void main(String[] args) { System.out.println("Hello World v1.0 - change from BRANCH_01 for merge conflict"); System.out.println("Hello World v2.0 - change on trunk"); System.out.println("Hello World v3.0 - change on trunk"); System.out.println("Hello World v3.1 - change on BRANCH_01"); } } [/code] ***5. Modify HelloWorld.java on the trunk to create a conflicting change*** [code=java]package org.keane.helloworld; public class HelloWorld { /** * @param args */ public static void main(String[] args) { System.out.println("Hello World v1.0 - change from trunk for merge conflict"); System.out.println("Hello World v2.0 - change on trunk"); System.out.println("Hello World v3.0 - change on trunk"); System.out.println("Hello World v4.0 - change on trunk"); } } [/code] ***6. Merge the branch into the trunk*** Now I expect these two lines to conflict TRUNK: System.out.println("Hello World v1.0 - change from trunk for merge conflict"); BRANCH: System.out.println("Hello World v1.0 - change from BRANCH_01 for merge conflict"); But here is what I get on the TRUNK: [code=java]package org.keane.helloworld; public class HelloWorld { /** * @param args */ public static void main(String[] args) { System.out.println("Hello World v1.0 - change from BRANCH_01 for merge conflict"); System.out.println("Hello World v2.0 - change on trunk"); System.out.println("Hello World v3.0 - change on trunk"); System.out.println("Hello World v3.1 - change on BRANCH_01"); } } [/code] When I run a diff, here is what I get: [code]Index: HelloWorldProject/src/org/keane/helloworld/ HelloWorld.java =================================================================== --- HelloWorldProject/src/org/keane/helloworld/HelloWorld.java (.../ trunk) (revision 25) +++ HelloWorldProject/src/org/keane/helloworld/HelloWorld.java (.../ branches/BRANCH_01) (revision 25) @@ -6,9 +6,9 @@ * @param args */ public static void main(String[] args) { - System.out.println("Hello World v1.0 - change from trunk for merge conflict"); + System.out.println("Hello World v1.0 - change from BRANCH_01 for merge conflict"); System.out.println("Hello World v2.0 - change on trunk"); System.out.println("Hello World v3.0 - change on trunk"); - System.out.println("Hello World v4.0 - change on trunk"); + System.out.println("Hello World v3.1 - change on BRANCH_01"); } }[/code] For all these operations I am using http://tortoisesvn.tigris.org/. Any ideas of why I am not seeing a merge conflict? Cheers, Sean.