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

Re: [PATCH] Re: mingw32 test failure: svn_dirent_is_canonical

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Wed, 28 Oct 2009 08:06:45 +0200 (Jerusalem Standard Time)

Martin Hauner wrote on Sun, 25 Oct 2009 at 11:09 +0100:
> Hi,
>
> On 24.10.09 19:45, Daniel Shahaf wrote:
> > /me investigates...
> >
> > I think the assertion is caused not by the lowercase drive letter, but by
> > the colon following it being URI-encoded. In other words,
> >
> > svn info file:///c:/foo # works
> > svn info file:///c%3A/foo # asserts
> >
> > Can you confirm this?
>
> No.
> There is an svn_path_uri_decode call inside svn_ra_local__split_URL that
> replaces the '%3A' with ':'. I single stepped through the code and it fails
> because of the case mismatch.
>

Weird. Anyway, if we both agree the patch fixes something, I'll commit
it. But let me run 'make check' first.

( two days later... )

OK, it passed. [1] Good. I'll commit it.

[[[
../libsvn_ra_local% svn ci -F split_url.logmsg
Sending libsvn_ra_local\split_url.c
Assertion failed: svn_path_is_canonical(base, pool), file ..\..\..\subversion\libsvn_subr\path.c, line 100
]]]

At the time of the commit, my wc was from <https://svn.collab.net/repos/svn>.
Most of the time it's from <file:///Data/Unzip/svn/mirror/svn>. (I keep
an svnsync mirror and 'switch --relocate' to it whenever I'm not
committing something.)

Now I have a problem. It asserted out with the patched build. So I can
try to revert the patch and try again to commit. But if the commit then
succeeds, it means the assertion was unearthed by the patch, which means
I shouldn't commit it without further investigation.

Catch 22.

Thanks,

Daniel
(no time to dive into a debugger right now, sorry.)

[1] Not because it took two days! Because I started it yesterday and
only looked at the results today...

> Unfortunately with the attached patch the python tests still don't run
> properly. They don't hit the assertion anymore but now fail with the same
> error checking their output.
>
> Not exactly sure what this means..
>
> Couldn't find node 'C:' in expected output tree
> * Node name: C:
> Path: __SVN_ROOT_NODE\C:
> Contents: N/A (node is a directory)
> Properties: {}
> Attributes: {}
> Children: 1
> ACTUAL OUTPUT TREE:
> <python stack trace follows>
>
>
> But there is a little improvement... :)
>
>

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2411951
Received on 2009-10-28 07:07:36 CET

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