On 02 Mar 2015, at 1:25 PM, Branko Čibej <br...@wandisco.com> wrote:

> You may have missed my mail from a couple days ago:

I did, sorry - I’m not subscribed to the list.

>> I think this would be a nice feature to have in mod_dav_svn. It is, IMO,
>> a better approach than the one currently implemented on the
>> SVNParentPathTemplate branch, even if it is limited to httpd-2.4+.
>> 
>> Graham, I've created a branch for this:
>> 
>>    ^/subversion/branches/mod-dav-svn-expressions
>> 
>> you can commit your patch there, if you will; you have the necessary
>> karma since Subversion-the-project uses the universal-commit bit.
>> 
>> Once that's done, we'll want to tweak our test suite so that we can test
>> the new feature, and probably update docs and so on.
> 
> Please go ahead and commit the patch (and any further changes) to the
> branch.

Over the weekend I discovered that things aren’t that simple (or at least they 
are simple if you don’t want to use elements of the path in your templates, but 
that is quite a nasty limitation when we have SVNParentPath doing this very 
thing).

Two patches posted to the dev@httpd mailing list lift the above 
limitation[1][2], by providing an optional mechanism to a) pass a proper 
effective path to mod_dav_svn instead of the (useless) raw regular expression, 
and b) allow expressions to be used in this effective path so we can place 
dynamic elements of the uri into our template.

This allows us to do this:

    <LocationMatch /svn/%{env:MATCH_PARTITIONNAME} 
^/svn/(?<PARTITIONNAME>[^/]+)/>

      DAV svn
      SVNParentPath /home/${HOST} %{env:MATCH_PARTITIONNAME}/svn
      SVNListParentPath on

    </Location>

The above will map https://svn.example.com/svn/customer1/repo1 to 
/home/server/customer1/svn/repo1. (Explanation: customer1 has a dedicated 
partition, and the partition contains a number of services, including but not 
limited to many svn repos anchored below “svn”)

The most recent path is attached, I’ll commit it to the branch as well. I just 
wanted to explain the limitation and patches above before anyone reviewed it. 
Obviously on the httpd side documentation will be updated accordingly.

[1] 
http://mail-archives.apache.org/mod_mbox/httpd-dev/201503.mbox/%3c05b811a5-1b6e-4417-bc3b-172673a78...@sharp.fm%3e
[2] 
http://mail-archives.apache.org/mod_mbox/httpd-dev/201503.mbox/%3c03fff05a-6002-4b71-90fc-6c82b6bcf...@sharp.fm%3e

Regards,
Graham
—

Attachment: subversion-1.7.19-expression4.patch
Description: Binary data

Reply via email to