When doing an svn checkout (or svn update), on a repo that is served by Apache 
httpd with IIS as a reverse proxy (you are connecting to IIS, not directly 
Apache), or when you are connecting using some (forward) http proxies, a HTTP 
400 error is thrown (this is from the reverse/forward proxy, the request never 
reaches Apache httpd). Specifically, the error is "svn: E175009: XML parsing 
failed: (400 Bad Request)".

The problem is that the Accept-Encoding header is malformed. Specifically, when 
compression is enabled, it's "gzip;svndiff1;q=0.9,svndiff;q=0.8" instead of the 
correct "gzip,svndiff1;q=0.9,svndiff;q=0.8" (there is a semicolon instead of a 
comma).

The problem exists inside file /subversion/libsvn_ra_serf/update.c, line 2742. 
This was changed in r1436783.

I have attached the proposed patch, it's really a single character change. 
Until this (or something better) is applied, a workaround exists of modifying 
the "servers" configuration file (%APPDATA%\Subversion\servers for Windows, 
~/.subversion/servers for Linux), and add the option "http-compression = no" 
either globally or on the affected servers.


-- 
George Schizas
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Afhse me mono mou, emena kai ton klwno mou
Leave me alone, just me and my clone

Attachment: update.c.patch
Description: Binary data

Reply via email to