Can't use %REPOROOT% in Settings -> Diff Viewer -> Advanced for my diff tools hosted in my repo

7 views
Skip to first unread message

alexand...@gmail.com

unread,
Feb 12, 2020, 10:46:01 AM2/12/20
to TortoiseSVN
Hello,

I tried to add to Settings -> Diff Viewer -> Advanced for .myfiletype
"%REPOROOT%\tools\MyCompare.bat" %base %mine
and then when the first didn't work the next
"%REPOROOT+%\tools\MyCompare.bat" %base %mine

When I try to open my diff tool for .myfiletype from TortoiseSVN log I get an error box saying:
> Couldn't start external diff program!
> The system cannot find the file specified.

I also tried to change the value to:
"%REPOROOT%\trunk\tools\MyCompare.bat"
to no avail.
I do actually have MyCompare.bat at my trunk/tools .

It appears that REPOROOT is not supported in the Edit extension specific diff program dialogue in External Program: field

I would like to use some my compare tools / scripts hosted in my repo to compare some my own filetypes.

If it was possible to use some (say repowide) svn/tsvn property overriding Diff Viewer for my types instead of setting something directly to Settings -> Diff Viewer -> Advanced for .myfiletype that would be great.
Also it would be great if it was possible to use relative paths (say .\ plus something after it) to point to my custom diff tool.

Perhaps I'm missing something obvious.
Any comments are welcome.

The version I tested is 1.13.1 build 28686 - 64 bit

Kind regards,
Aleksandr Ites 

Stefan

unread,
Feb 12, 2020, 3:51:45 PM2/12/20
to TortoiseSVN


On Wednesday, February 12, 2020 at 4:46:01 PM UTC+1, Alexander Ites wrote:
Hello,

I tried to add to Settings -> Diff Viewer -> Advanced for .myfiletype
"%REPOROOT%\tools\MyCompare.bat" %base %mine
and then when the first didn't work the next
"%REPOROOT+%\tools\MyCompare.bat" %base %mine

Well, %REPOROOT% is not available for diff scripts, only for hook scripts.
Because diff scripts must work without working copies. So %REPOROOT% will never be available for diff scripts.

And no, repo specific diff scripts will also never be supported because they must be available globally.


Reply all
Reply to author
Forward
0 new messages