mod_dav_svn not proxying LOCK and UNLOCK requests on a slave configured for write-through-proxy using SVNMasterURI
From: Mike Coyne <Mike.Coyne_at_PACCAR.com>
Date: Tue, 17 Feb 2009 13:05:35 -0600
Operating system: Redhat rhel5.3
Subversion upgraded to current 1.5.5
Compiled from srpms obtained from
We are currently reviewing a write-through-proxy mirror setup generally
The hooks were set up On the slave , in particular pre-lock pre-unlock
The hooks were set up on the Master for post-commit post-lock
The post-lock and post-unlock hooks on the server were setup to svn lock
The slave - master pair worked as documented except for locking and
With the change below locks now get placed on the master from the slave,
Patch included ... is included . This may not be the best way to handle
Thank you in advance for your time .
Mike Coyne mike.coyne_at_paccar.com
*** trunk/subversion/mod_dav_svn/mirror.c 2009-02-16
--- proposed/subversion/mod_dav_svn/mirror.c 2009-02-17
***************
*** 93,98 ****
--- 93,120 ----
proxy_request_fixup(r, master_uri, seg);
return OK;
}
+
+ /* If this is a LOCK request or a request using a "special
+ URI", we have to doctor it a bit for proxying. */
+ seg = ap_strstr(r->unparsed_uri, root_dir);
+ if (seg && (r->method_number == M_LOCK ||
+ ap_strstr_c(seg, special_uri))) {
+ seg += strlen(root_dir);
+ proxy_request_fixup(r, master_uri, seg);
+ return OK;
+ }
+ /* If this is a UNLOCK request or a request using a "special
+ URI", we have to doctor it a bit for proxying. */
+ seg = ap_strstr(r->unparsed_uri, root_dir);
+ if (seg && (r->method_number == M_UNLOCK ||
+ ap_strstr_c(seg, special_uri))) {
+ seg += strlen(root_dir);
+ proxy_request_fixup(r, master_uri, seg);
+ return OK;
+ }
+
+
+
}
return OK;
}
------------------------------------------------------
|
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.