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

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Mon, 9 Nov 2009 23:49:11 +0200 (Jerusalem Standard Time)

Gavin 'Beau' Baumanis wrote on Mon, 9 Nov 2009 at 21:34 +1100:
> Hi Martin / Daniel,
> Just a quick message to check if there is anything more going to happen here
> or not - Shall I send it to the issue tracker?
>

AFAICT, yes please. Both me and Martin agree the patch fixes *something*
(we just don't agree on *what*), and the assertion I mentioned should be
investigated (or at least reproduced; I was in a bit of a hurry then).

> And because I have no (technical) idea about Subversion, I have cc'd bert in
> as result of the thread below.
> The patches mention different files, but are both about windows drive letters
> and their case - so thought I would check if this (thread) is now superseded
> by Bert's that still has some life in it.
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2414408
>

Daniel
(reading just his inbox, not his svn-dev mailbox)

>
> Gavin.
>
>
>
> On 03/11/2009, at 10:19 , Gavin Baumanis wrote:
>
> >
> > Gavin.
> >
> >
> > On 28/10/2009, at 17:06 , Daniel Shahaf wrote:
> >
> > > 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
> >
> > ------------------------------------------------------
> > http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2413975
>

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2415919