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)