On Thu, Apr 1, 2010 at 9:50 AM, Philip Martin
<[email protected]> wrote:
> Philip Martin <[email protected]> writes:
>
>> Paul Burba <[email protected]> writes:
>>
>>>> My bad, I didn't pass --url!  I was still half asleep when I did that.
>>>>  The tests pass for me over ra_neon, but all except 77 fail over
>>>> ra_serf.
>>>
>>> All 5 corresponding tests (45, 76, 78, 123, 125 for those playing at
>>> home) pass on trunk [fsfs | ra_serf]
>>
>> Agreed. I get the same 4 failures as you, and they pass on trunk.
>
> This is the revision that causes the failures:
>
> r923779 | hwright | 2010-03-16 14:48:28 +0000 (Tue, 16 Mar 2010) | 16 lines
>
> Reintegrate the 1.6.x-issue-3242-partial branch:
>
>  * ^/subversion/branches/1.6.x-issue-3242-partial
>   Merge a portion of the issue 3242 work, specifically the bit that
>   makes mergeinfo queries in the client layer happen against the
>   current RA session URL instead of forcibly against the repository
>   root URL (which might not be readable by the user per authz
>   policy).  While this is not a full solution to issue #3242, it
>   should get us back to Subversion 1.4-level behavior which has
>   pretty consistently been deemed acceptable (enough) by our user
>   base.
>   Justification:
>     Issue #3242 is a hot issue.  Hot topic, hot tempers, etc.
>   Votes:
>     +1: cmpilato, ivan, rhuijben

This is also the revision that is causing the failure with
basic_tests.py 37 "use folders with names like 'c:hi'".

With 1.6.x-issue-3242-partial in place, basic_tests.py 37 now calls
svn_client__open_ra_session_internal(), in
libsvn_client/delete.c:delete_urls(), on the specific URL to be
deleted:

"file:///C%3A/SVN/src-branch-1.6.x/Debug/subversion/tests/cmdline/svn-test-work/repositories/basic_tests-37/c:hi"

rather than the root of the reposisotry:

"file:///C%3A/SVN/src-branch-1.6.x/Debug/subversion/tests/cmdline/svn-test-work/repositories/basic_tests-37"

Note the trailing part now in the URL: "/c:hi".  This ultimately
causes svn_io_check_path() in libsvn_repos/repos.c:check_repos_path()
to fail because it can't handle the ':'

        libsvn_repos-1.dll!check_repos_path()  Line 1265        C
        libsvn_repos-1.dll!svn_repos_find_root_path()  Line 1366        C
        libsvn_ra-1.dll!svn_ra_local__split_URL()  Line 131     C
        libsvn_ra-1.dll!svn_ra_local__open()  Line 454  C
        libsvn_ra-1.dll!svn_ra_open3()  Line 481        C
        libsvn_client-1.dll!svn_client__open_ra_session_internal()  Line 296    
C
        libsvn_client-1.dll!delete_urls()  Line 187     C
        libsvn_client-1.dll!svn_client_delete3()  Line 270      C
        svn.exe!svn_cl__delete()  Line 83       C
        svn.exe!main()  Line 2119       C
        svn.exe!__tmainCRTStartup()  Line 582   C
        svn.exe!mainCRTStartup()  Line 399      C

There are a slew of fixes in this space on trunk that will probably
need to be backported,

  http://svn.apache.org/viewvc?view=revision&revision=920292

and

  http://svn.apache.org/viewvc?view=revision&revision=876414

look to be the first two, but so far all they do is move the problem around :-)

I'll dig some more tomorrow.

Bert - CCed you specifically since you've done a lot of work with the
svn_[dirent|uri]_* APIs as well as the "c:hi"-type fixes, so if you
think I'm on a fool's errand here (i.e. going to require 1.7 APIs to
fix) please let me know!

Paul

Reply via email to