3-way merges
Posted: Wed Oct 31, 2012 5:23 pm
While performing a merge from a branch into a trunk, one of my text files was in conflict. If I 'Edit conflict' the file, I only see two versions of the file: my local copy (Program.cs) and something called (Program.cs.merge-right.r22655).
I guess the left file (Program.cs) is my working copy of the trunk version, and the right file (Program.cs.merge-right.r22655) is the latest version in the branch that is being merged. Can someone verify this?
Why is this view not a 4 pane view showing the latest trunk version, a base version that is the common ancestor of the trunk and branch versions, the latest branch version, and the merged output file? Is that something that just isn't supported by Syncro SVN Client?
Since the built-in merge tool doesn't meet my needs, I played around with using an external tool for diffing and merging. Under Options->Preferences->Diff I can check the "Compare With External Application" and then specify which program to use and order how the ${ancestorFile} ${firstFile} ${secondFile} parameters are passed to it. This all seems great, until I looked up the arguments for p4merge, the external tool I wanted to use:
"""
p4merge [options] left right
p4merge [options] [base] left right
p4merge [options] [base] left right [merge]
"""
The order of arguments is different depending on if it is a simple 2-file diff vs a 3-way merge. Syncro SVN Client doesn't let me specify different argument orders for a 2-file diff vs a 3-way merge. I like many things about Syncro SVN Client, but if I can't properly set up my external diff/merge tool, then I can't use Syncro SVN Client.
I guess the left file (Program.cs) is my working copy of the trunk version, and the right file (Program.cs.merge-right.r22655) is the latest version in the branch that is being merged. Can someone verify this?
Why is this view not a 4 pane view showing the latest trunk version, a base version that is the common ancestor of the trunk and branch versions, the latest branch version, and the merged output file? Is that something that just isn't supported by Syncro SVN Client?
Since the built-in merge tool doesn't meet my needs, I played around with using an external tool for diffing and merging. Under Options->Preferences->Diff I can check the "Compare With External Application" and then specify which program to use and order how the ${ancestorFile} ${firstFile} ${secondFile} parameters are passed to it. This all seems great, until I looked up the arguments for p4merge, the external tool I wanted to use:
"""
p4merge [options] left right
p4merge [options] [base] left right
p4merge [options] [base] left right [merge]
"""
The order of arguments is different depending on if it is a simple 2-file diff vs a 3-way merge. Syncro SVN Client doesn't let me specify different argument orders for a 2-file diff vs a 3-way merge. I like many things about Syncro SVN Client, but if I can't properly set up my external diff/merge tool, then I can't use Syncro SVN Client.