Running svn_load_dirs.pl on Windows

I use Subversion for source code control. Today, I attempted to run svn_load_dirs.pl on Windows and I was initially greeted by an error message similar to this:

<output>
Directory e:\libs\loadpng-1.0 will be tagged as 1.0
Please examine identified tags. Are they acceptable? (Y/n) Y
Checking that the base URL is a Subversion repository.
Running svn log -r HEAD file:///svn/vendortest/vendor/loadpng
'@SVN_BINDIR@/svn' is not recognized as an internal or external command,
operable program or batch file.
E:\bin\dev\svn_load_dirs.pl: svn log -r HEAD file:///svn/vendortest/vendor/loadpng
failed with this output:
Press return to quit and clean up svn working directory:
</output>

I searched on Google and didn't find much except this message, which had no reply. So I opened up the Perl script and noticed that the line containing this code seemed to be the problem:

my $svn = '@SVN_BINDIR@/svn';

I changed it to this

my $svn = 'C:\Program Files\svn\svn-win32-1.3.2\bin\svn.exe';

That fixed my problem. BTW, if you are starting from scratch with this, you'll need a Windows diff utility and it must be accessible from the path, and you'll need ActiveState Perl. After installing Perl, I copied diff.exe into C:\Perl\bin.
You can get svn_load_dirs.pl from the Subversion Repository. (Grab svn_load_dirs.pl and the readme.)
Don't forget to check out the relevant section of the Subversion book if you need more info.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Thanks for this information.Just to add 2 things:- when downloading the diff utility don't forget the dependencies package that contains 2 necessary dlls- if you don't want to hard-code the path to svn.exe into the perl script you can still use the environment variable:my $svn = $ENV{'SVN_BINDIR'} . '\svn';