[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

mingw32 test failure: svn_dirent_is_canonical

From: Martin Hauner <martin.hauner_at_gmx.net>
Date: Sat, 24 Oct 2009 11:57:55 +0200

Hi I'm trying to make subversion run on mingw32.

Running any python test fails because of a drive letter case mismatch. I found
the problem and my question is how and where do I fix it.

./authz_tests.py 1 (it is simply the first python test) breaks with

CMD: svn.exe import -m "Log message for revision 1."
--password rayjandom --no-auth-cache --username jrandom
<TIME = 0.266000>
Assertion failed: svn_dirent_is_canonical(base, pool), file
line 879

The problem is the lower drive 'c' in "file:///c%3A/Development/ming/svn-trunk...".

svn_dirent_is_canonical does not except lower case drive letters.

When it asserts the callstack is:

0 svn_dirent_join dirent_uri.c 879
1 check_repos_path repos.c 1266
2 svn_repos_find_root_path repos.c 1371
3 svn_ra_local__split_URL split_url.c 136
4 svn_ra_local__open ra_plugin.c 455
5 svn_ra_open3 ra_loader.c 487
6 svn_client__open_ra_session_internal ra.c 331
7 get_ra_editor commit.c 616
8 svn_client_import3 commit.c 736
9 svn_cl__import import-cmd.c 119
10 main main.c 2195

In svn_ra_local__split_URL there is Windows specific code that excepts lower
case drive letters. This doesn't fit with svn_dirent_is_canonical not excepting
lower case rive letters.

A fix would be to canonicalized the file:///c%3A url. Where would I add it?
Directly in svn_ra_local__split_URL or some levels up?

Subcommander 2.0.0 Beta 5 - http://subcommander.tigris.org
a Win32/Unix/MacOSX subversion GUI client & diff/merge tool.
Received on 2009-10-24 11:58:18 CEST

This is an archived mail posted to the Subversion Dev mailing list.