[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: RewriteRule breaks slave SVN commits for 1.6.x clients only

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Tue, 20 Dec 2011 21:35:11 +0200

Pinzone Gerard (DS-1) wrote on Tue, Dec 20, 2011 at 19:09:16 +0000:
> Designation: Non-SSA/Finmeccanica
>
> I was having problems performing a commit on a slave server using
> a 1.6.17 client, but not when using the newer 1.7.x client. This
> started occurring when I upgraded from the latest 1.6.x server to the
> 1.7.1 using the official Collabnet binaries on Linux. (I only allow

The Apache Subversion Project does not release binaries, official or
otherwise. CollabNet, Inc. is one of several third parties who build
and release binaries of our software.

> communication through https: e.g., no svn:, etc.) I found the cause of
> the problem and I'd like to share it. Here's the link to a thread
> I posted about this issue:
>
> http://subversion.op%e2%80%8ben.collab.net/ds/vie%e2%80%8bwMessage.do?dsForumI%e2%80%8bd=3&dsMessageId=%e2%80%8b437980

(your URL is broken; it embeds U+200B ZERO WIDTH SPACE characters)

>
> The problem was due to a RewriteRule on the master and/or slave:
>
> # Redirect to remove double slash within URL-path RewriteCond
> %{REQUEST_URI} ^(.*)//+(.*)$ RewriteRule .*
> https://%{SERVER_NAME}%1/%2 [R=301,L]
>
> Now, I could have sworn I had tested everything with all the rewrite
> rules disabled, but I must have missed that one. The reason I want to
> clear double slashes from the URL is because users frequently use
> their browser to obtain to the path they desire, then copy and paste
> it into svn to create a working copy, etc. I don't remember if double
> slashes had any impact other than cosmetic, but I figured it would be

Indeed, they are cosmetic. Double URLs are removed by the client before
they are passed to the libsvn_client library.

> good practice to "clean up" the URL whenever possible.
>
> I don't mind removing this RewriteRule from the configuration file,

Seems like like that's a solution then. (And, by the way, your
RewriteRule is less than ideal; it causes a repeated request for each
doubled slash: http://foo/bar/////baz)

> but I'm still wondering why this breaks ONLY slave commits and ONLY on
> older clients?
>
> 3.1.1001

Don't know. You haven't said what version the master server runs,
though.
Received on 2011-12-20 20:36:27 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.