[Bug 1284641] Re: problem with paths with spaces with 12.04 client with 14.04 server
Stephane Chazelas
stephane.chazelas at seebyte.com
Tue Feb 25 14:03:11 UTC 2014
*** This bug is a duplicate of bug 1003168 ***
https://bugs.launchpad.net/bugs/1003168
No, it's not a duplicate. There's no proxy here, my bug affects the
simplest deployment of subversion as long as 12.04 is used on the client
and 14.04 on the server and spaces are used in file names in the
repository
It is a bug on the server, so in the newest version of subversion
(1.8.8 released a few days ago)
And the symptoms are different. The double-encoding of space into %2520
is also found in the bug that I'm going to raise against 13.10, but not
in this bug.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to subversion in Ubuntu.
https://bugs.launchpad.net/bugs/1284641
Title:
problem with paths with spaces with 12.04 client with 14.04 server
Status in “subversion” package in Ubuntu:
New
Bug description:
source package: subversion
bin package: libapache2-mod-svn
The problem shows up with libapache2-mod-svn 1.8.8-1ubuntu3 on the
current 14.04 (amd64 though that doesn't matter). It showed up in
1.7.14 already.
The problem is an interoperability problem with subversion clients
prior to 1.7.x. Typically, ubuntu 12.04 clients (1.6.17) are affected
by that bug. That means that anybody upgrading their server from 12.04
to 14.04 are potentially going to be affected (unless they upgrade
their clients beforehand)..
There's a related bug with the subversion server coming with 13.10
which I'll raise shortly.
Newer clients (1.7 and above) are not affected even with
"SVNAdvertiseV2Protocol Off" on the server (contrary to the 13.10
bug).
How to reproduce:
On a 14.04 server (as root),
apt-get install apache2 subversion libapache2-mod-svn
a2enmod dav_svn
svnadmin create /srv/svn
chown -R www-data: /srv/svn
cat > /etc/apache2/mods-available/dav_svn.conf << EOF
<Location /svn>
DAV svn
SVNPath /srv/svn
</Location>
EOF
service apache2 restart
On a 12.04 client:
svn co http://server/svn test
cd test
mkdir -p 'A B/C'
echo test > 'A B/C/x'
svn add 'A B'
svn ci -m m1
svn log 'A B/C/x'
That svn log command will fail with:
svn: Unable to parse URL '/svn/A B/C/x'
A commit of a change on that "x" file will fail as well:
echo test >> 'A B/C/x'
svn ci -m m2
When using svn log --config-option servers:global:neon-debug-mask=130 'A B/C/x'
we see:
Sending request headers:
PROPFIND /svn/A%20B/C/x HTTP/1.1
User-Agent: SVN/1.6.17 (r1128011) neon/0.29.6
(OK)
[status-line] < HTTP/1.1 207 Multi-Status
[<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:D="DAV:" xmlns:ns1="http://subversion.tigris.org/xmlns/dav/" xmlns:ns0="DAV:">
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://subversion.tigris.org/xmlns/dav/">
<D:href>/svn/A B/C/x</D:href>
<D:propstat>
<D:prop>
<lp1:version-controlled-configuration><D:href>/svn/!svn/vcc/default</D:href></lp1:version-controlled-configuration>
<lp1:resourcetype/>
<lp2:baseline-relative-path>A B/C/x</lp2:baseline-relative-path>
<lp2:repository-uuid>1e784bc0-1833-41df-a2eb-683d1610caa8</lp2:repository-uuid>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>
While the problem with 13.10 (1.7.9) was too much URI encoding (space turned to %20 itself turned into %2520), it looks like in this case there's not enough encoding (href being /svn/A B/C/x instead of /svn/A%20B/C/x above).
It is really a bug because even < and > are not encoded. The reason
why newer clients work is because they send different HTTP requests
(OPTIONS, REPORT and no PROPFIND even with V2 disabled).
On 12.04, one can work around the problem by upgrading svn from the
"svn" ppa (svn 1.7.9), but note that it breaks rapidsvn (segfault) and
possibly other tools linking to libsvn.
As show above, space is not the only character causing problem.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/subversion/+bug/1284641/+subscriptions
More information about the foundations-bugs
mailing list