PDA

View Full Version : Help incorrect on command line switches?


Conor Boyd
14-Apr-2008, 03:32 PM
The Help file details the following regarding the order of the files to be merged in a 3-way merge:
For a 3-way merge, use:
cirrus.exe <Left File> <Right File> <Center File> <Output File>
However, it seems to me that the order actually goes <Left File> <Center File> <Right File> <Output File>

I use the following command line to use Cirrus as the merge tool with TortoiseSVN:
C:\Program Files\Cirrus\Cirrus.exe %mine %base %theirs %merged /lro /rro/ /lefttitle=%mname /centertitle=%bname /righttitle=%tname /outputtitle=%mname
And it definitely gives me Mine on the left, Base in the center, and latest Repository version on the right. And I don't just mean the titles, since I've tested it without specifying the titles. ;-)

Just thought I'd mention this in case the beta help file is incorrect, and could do with being updated.

Aaron
14-Apr-2008, 05:39 PM
It shouldn't be. Are you sure the files contents were correct? Since you are manually naming the pane's correctly ("/left pane" is getting the name of the %leftFile), are you sure the contents inside match those names?
The order should be Left Right Center Output (can be quickly tested by launching from the command line and typing in 1.txt,2.txt,3.txt,4.txt as your starting parameters)

Conor Boyd
14-Apr-2008, 08:58 PM
Mmmm, I was pretty sure I was correct, but I can't reproduce it now.

My apologies.

Michael Bulgrien
14-Apr-2008, 09:07 PM
The parameter order has always worked as documented for me.
I use a simple Windows command file to test 3-Way Merge functionality.

"C:\Program Files\Cirrus\Cirrus.exe" "D:\LHS.txt" "D:\RHS.txt" "D:\CTR.txt" "D:\OUT.txt"
/title1="Theirs (LHS.txt)" /title2="Mine (RHS.txt)" /title3="Base (CTR.txt)" /title4="Merge Target (OUT.txt)" /solo

Executing the command correctly populates the merge session:

http://mysite.verizon.net/bulgrien/images/MergeTest1.png

Using /lefttitle /righttitle /centertitle /outputtitle instead of /title1 /title2 /title3 /title4 yields
the same results. If I swap the parameters, however, the merge session is not correctly populated:

"C:\Program Files\Cirrus\Cirrus.exe" "D:\LHS.txt" "D:\CTR.txt" "D:\RHS.txt" "D:\OUT.txt"
/lefttitle="Theirs (LHS.txt)" /centertitle="Base (CTR.txt)" /righttitle="Mine (RHS.txt)" /outputtitle="Output (OUT.txt)" /solo

Although the file names in the dropdowns look correct, the content of the files show that they have been loaded into the wrong panes:

http://mysite.verizon.net/bulgrien/images/MergeTest2.png

Note that, since the title parms are qualified with their position (1 through 4 or left, right, center, output) the order of the parameters does not matter. If defined correctly, the titles will display in the correct position regardless of the order in which they are passed.

The content of the panes, however, is based on positional parameters which must be ordered <Left> <Right> <Center> <Out> or the content of the files will appear in the wrong panes even if the titles are displayed in the correct position. In other words, the file titles and the file contents will be mis-matched.

Michael Bulgrien
14-Apr-2008, 09:15 PM
I use the following command line to use Cirrus as the merge tool with TortoiseSVN:
C:\Program Files\Cirrus\Cirrus.exe %mine %base %theirs %merged /lro /rro/ /lefttitle=%mname /centertitle=%bname /righttitle=%tname /outputtitle=%mname


BTW, I don't think the /lro and /rro parameters will accomplish anything for you. By nature, a 3-way merge is read-only except for the output pane. Also, you should consider using the /solo parameter to confine version control merges to their own instance of BC3.

Aaron
15-Apr-2008, 04:02 PM
No need to apologize. I just wanted to make sure:
a) our parameters were working correctly.
b) you were not accidentally merging your source code incorrectly.

Aaron
15-Apr-2008, 04:02 PM
Thanks for the graphical and detailed explination, Michael.

pt9
27-May-2008, 04:07 AM
I've just been setting up Tortoise SVN, and found this topic. Your /lefttitle is wrong - should be using %yname and not %mname.

Here is the TSVN setting I use, which I think is correct. And as mentioned by Michael, the readonly settings have no effect with a 3 way merge, so I haven't used them :-)

Diff Viewer:
C:\Program Files\Beyond Compare 3\BCompare.exe %base %mine /lro /lefttitle=%bname /righttitle=%yname

Merge Tool:
C:\Program Files\Beyond Compare 3\BCompare.exe %mine %theirs %base %merged /lefttitle=%yname /righttitle=%tname /centertitle=%bname /outputtitle=%mname


It may well be worthwhile adding these into the help file or a FAQ? Or perhaps asking Tortoise to add in examples in *their* help file - they already have the commandlines to use for several other compare tools.

Aaron
03-Jun-2008, 01:51 PM
Thanks for pointing that out. We are still in the process of updating/working on our Help file.

As for TSVN updating theirs, perhaps we'll give them a bit of time until we are out of Beta. :)