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

write-thru proxy lossage

From: Steve Byrne <sbb_at_penguinis.org>
Date: Fri, 11 Sep 2009 11:28:06 -0700

HELP! I'm at my wits end.

I am trying to validate that Subversion write-thru proxying works (at
all) before my company will adopt Subversion, displacing Perforce. So
far, it's not looking good for Subversion.

To validate the write-thru behavior, I have a single server hosting both
the master and a single slave repository, and a single Apache hosting
both WEBDav configurations.

Mirroring from the master to the slave works fine. I have not attempted
to do any kind of securing of the connection yet as that would introduce
additional complications into an already frustrating set up.

Where I am having problems is with making changes to the slave and
having them propagate to the master without error. I've never had that
actually work.

Yesterday, the error involved MERGE failures (sorry, I didn't capture
the exact text, but it was something like

MERGE failed /svn/trunk/foo is not a child of /svn-mirror/trunk

So, I read here:
http://blogs.open.collab.net/svn/2007/10/yesterday-at-th.html that using
a trailing slash on the SVNMasterURI would solve this problem.

Indeed it solved that problem, and replaced it with a new one:

svn: Commit failed (details follow):
svn: At least one property change failed; repository is unchanged
svn: Server sent unexpected return value (405 Method Not Allowed) in
response to PROPPATCH request for
'/svn-mirror!svn/wbl/b2d7fdeb-96bc-4fe7-999a-7a4d07ba9ac1/223'

Note the missing slash after /svn-mirror.

So I'm stuck. I can have MERGE failures, or PROPPATCH failures. I'd
like to have success.

Can someone help me please?

Details:

Both master and slave repositories are owned by Apache's "www-data" user
and have group "svn" , which is common to all users of Subversion on
this system.

SSH is a freshly built 1.6.5, and I am encountering this error when
operating directly on the machine hosting the repositories.

Apache is 2.2.11 (Ubuntu), and this installation is on an Ubuntu 9.04
Linux box.

The master repository lives in /var/svn/testrepo
The slave repository lives in /var/svn/web-mirror

Here is dav_svn.conf:

# the local, master repo
<Location /svn>
  DAV svn
  SVNPath /var/svn/testrepo
</Location>

# the mirror for clients
<Location /svn-mirror>
  DAV svn
  SVNPath /var/svn/web-mirror
# note trailing slash here -- this leads to the PROPPATCH / mal-formed
URL problem above
  SVNMasterURI http://localhost/svn/
</Location>

# the sync
<Location /svn-proxy-sync/>
     DAV svn
     SVNPath /var/svn/web-mirror
</Location>

The slave has repository has both start-commit and pre-revprop-change
hooks set to "exit 0" (well /bin/sh shebang and then exit 0)

master's post-revprop-change hook
#!/bin/sh

REV=${2}
svnsync copy-revprops file:///var/svn/repos-mirror ${REV} > /dev/null
svnsync copy-revprops http://localhost/svn-proxy-sync ${REV} > /dev/null

master's post-commit hook
#!/bin/sh

# replicate changes to the mirror
svnsync sync file:///var/svn/repos-mirror > /dev/null 2>&1
svnsync sync http://localhost/svn-proxy-sync > /dev/null 2>&1

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2393691

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-09-11 20:31:26 CEST

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.