subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Connolly <stephen.alan.conno...@gmail.com>
Subject Re: How do I enforce a minimum client version when hosted via httpd
Date Thu, 07 Oct 2010 10:27:12 GMT
That was the trick I was looking for.  Thanks

On 7 October 2010 10:25, Ryan Schmidt <subversion-2010d@ryandesign.com> wrote:
> On Oct 7, 2010, at 03:29, Stephen Connolly wrote:
>
>> I remember reading before about a hack/trick that allows you to ensure that the client
is at least mergeinfo aware when the repository is served via Apache httpd.
>>
>> Google is not being co-operative with my attempts to find the Apache HTTPD directive
that makes this magic happen.
>>
>> IIRC the trick is less than perfect, i.e. it just blocks < 1.5.2 clients from
connecting (though the version limit could be 1.5.0 or 1.5.1 I recall it being about querying
the capabilities of the client and a specific capability was only introduced in 1.5.1 or 1.5.2)
A better trick would allow blocking clients less than 1.6.13 from connecting ;-)
>
> There is no Apache directive for this; instead, you can write a clause in your start-commit
hook script. From the start-commit.tmpl file created for you in every new repository:
>
>
> #   [1] REPOS-PATH   (the path to this repository)
> #   [2] USER         (the authenticated user attempting to commit)
> #   [3] CAPABILITIES (a colon-separated list of capabilities reported
> #                     by the client; see note below)
> #
> # Note: The CAPABILITIES parameter is new in Subversion 1.5, and 1.5
> # clients will typically report at least the "mergeinfo" capability.
> # If there are other capabilities, then the list is colon-separated,
> # e.g.: "mergeinfo:some-other-capability" (the order is undefined).
>
>
> So if the third parameter passed to your start-commit hook script is empty / nonexistent,
you know that client is older than 1.5 and you can take some action, such as denying the commit,
if that's what you want to do.
>
>

Mime
View raw message