Compare 3 URLs with TortoiseProc?

11 views
Skip to first unread message

Kevin Theobald

unread,
Jan 30, 2026, 4:18:18 PM (12 days ago) Jan 30
to TortoiseSVN
I've tried general searches but only get AI slop.

Basically I have three URLs A, B, and C, which are under SVN.  They are all the same file, in 3 branches.  I'm using the head of all three.  A is basically trunk, and B and C both have changes relative to A.

Alternately, B could be the path to my working copy of that file rather than a URL.

What I want is to be able to see a 3-window comparison to see how both B and C have diverged from A.  Assume B is what I'm working on, and I want to see if my changes are going to conflict with C's changes, or if maybe C already have the changes.

I want this to be automated, e.g., using TortoiseProc (1.14), because this is being scripted.  Right now I can call TortoiseProc with /command:showcompare to get one window with A vs. B, and another with A vs. C, but that doesn't give me the convenience of having B and C in sync (when scrolling).

Every command recommended by the AI slop that the search engines feed you doesn't work.  Even though I configured TSVN to use WinMerge as its merge tool.

I've tried using WinMerge directly but it doesn't seem to work with SVN URLs.

Stefan

unread,
Jan 30, 2026, 4:27:27 PM (12 days ago) Jan 30
to TortoiseSVN
There's no single command to show a three-way compare in TortoiseProc.
However since you're scripting the whole thing anyway, you can try this:
TortoiseProc /command:cat /path:"urlA" /savepath:"tmpfileA"
TortoiseProc /command:cat /path:"urlB" /savepath:"tmpfileB"
TortoiseProc /command:cat /path:"urlC" /savepath:"tmpfileC"
and then start TortoiseMerge with
TortoiseMerge /base:tmpfileA /theirs:tmpfileB /mine:tmpfileC

that would give you the three-way diff of the three files.

Kevin Theobald

unread,
Jan 30, 2026, 6:14:20 PM (12 days ago) Jan 30
to TortoiseSVN
Thanks!

Oog -- I was already playing around with temp files, but was hoping to avoid those by using direct access to SVN.  WinMerge overall gives better output in this case, since it's not actually trying to merge.  But it doesn't know how to access files on SVN (unless I'm missing something).  It is what it is...

So I would probably do what you suggested, but just use 'svn cat' to get the file, and call WinMergeU for the final step.

Does anyone know a way to embed an svn cat command in each of the args to either TortoiseMerge or WinMergeU?
Reply all
Reply to author
Forward
0 new messages