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)

Reply via email to