On 24.05.2017 19:59, Branko Čibej wrote:
> On 24.05.2017 19:37, Branko Čibej wrote:
>> On 24.05.2017 12:19, Marc Strapetz wrote:
>>> I have following Apache virtual host configuration which contains a
>>> redirect:
>>>
>>> RedirectMatch 301 ^/svntest/(.*)$ /svntests/$1
>>>
>>> <Location /svntests>
>>> DAV svn
>>> SVNParentPath /misc/svntests
>>> ...
>>> </Location>
>>>
>>> When trying to access a redirected repository from command line, this
>>> works fine:
>>>
>>> $ svn ls https://host/svntest/test1
>>> Redirecting to URL 'https://host/svntests/test1':
>>> project1/
>>>
>>> When trying to access using JavaHL, a "Redirect cycle detected for
>>> URL" SubversionException is thrown. Code snippet:
>>>
>>> RemoteFactory remoteFactory = new RemoteFactory();
>>> remoteFactory.openRemoteSession("https://host/svntest/test1", 100);
>>>
>>> As the definition is not cyclic and retryAttempts=100 should be
>>> sufficient, it looks like there is a JavaHL problem related to redirects?
>> Could be a bug in the redirect detection logic in JavaHL. I'll take a look.
>
> Can you try this patch, please?
>
> Index: subversion/bindings/javahl/native/RemoteSession.cpp
> ===================================================================
> --- subversion/bindings/javahl/native/RemoteSession.cpp (revision 1796083)
> +++ subversion/bindings/javahl/native/RemoteSession.cpp (working copy)
> @@ -214,8 +214,9 @@ RemoteSession::RemoteSession(int retryAttempts,
> cycle_detected = true;
> break;
> }
> - /* ### Shouldn't url be updated for the next attempt?
> - ### There is no real cycle if we just do the same thing twice? */
> +
> + url = corrected_url;
> + corrected_url = NULL;
> }
>
> if (cycle_detected)
Thanks, Brane! We have applied the patch to 1.9.x branch and I can
confirm that it's working. Will it be possible to backport the patch to
1.9.x branch in the Subversion repository, too?
-Marc
Received on 2017-05-29 10:31:55 CEST