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)
Received on 2017-05-24 20:00:05 CEST