We don't actually need the subversion server
to do anything useful with the query string
on an OPTIONS request.  We just need it as
a hint for http server admins, combined with
a (global) configuration option to tell our
working copies to autoswitch when they see a
301 on the initial OPTIONS response.


Sorry if this is getting boring.  In no way is
it essential, but we have significant working copy
investments in incubating projects that are a pain
to manage administratively right now whenever a project
graduates.  Anything along these lines to cut down
on the human labor aspects would be most welcome.




>________________________________
> From: Joe Schaefer <joe_schae...@yahoo.com>
>To: Greg Stein <gst...@gmail.com> 
>Cc: "dev@subversion.apache.org" <dev@subversion.apache.org> 
>Sent: Sunday, February 3, 2013 1:45 PM
>Subject: Re: Coniguring 301/302 redirects to track an fspath rename
> 
>
>IOW the easiest way for us to support OPTIONS
>requests with this module, which would require
>no code changes to the module I wrote, is for the
>initial OPTIONS request to hang a ?p=whatever
>query string onto the request whenever it's dealing
>with pegrevs.
>
>
>
>
>
>
>
>>________________________________
>> From: Joe Schaefer <joe_schae...@yahoo.com>
>>To: Greg Stein <gst...@gmail.com> 
>>Cc: "dev@subversion.apache.org" <dev@subversion.apache.org> 
>>Sent: Sunday, February 3, 2013 1:04 PM
>>Subject: Re: Coniguring 301/302 redirects to track an fspath rename
>> 
>>
>>A few urls to fetch to get the basic idea:
>>
>>http://svn.apache.org/repos/asf/incubator/openmeetings/trunk
>>(will redirect)
>>
>>http://svn.apache.org/repos/asf/incubator/openmeetings/trunk?p=1400000
>>(won't redirect)
>>
>>
>>
>>
>>
>>
>>
>>>________________________________
>>> From: Joe Schaefer <joe_schae...@yahoo.com>
>>>To: Greg Stein <gst...@gmail.com> 
>>>Cc: "dev@subversion.apache.org" <dev@subversion.apache.org> 
>>>Sent: Sunday, February 3, 2013 12:15 PM
>>>Subject: Re: Coniguring 301/302 redirects to track an fspath rename
>>> 
>>>
>>>The code is here if you are interested (dunno
>>>if it's publicly accessible or not but I believe
>>>so).
>>>
>>>
>>>
>>>https://svn.apache.org/repos/infra/infrastructure/trunk/projects/svn_check_path/
>>>
>>>
>>>
>>>>________________________________
>>>> From: Joe Schaefer <joe_schae...@yahoo.com>
>>>>To: Greg Stein <gst...@gmail.com> 
>>>>Cc: "dev@subversion.apache.org" <dev@subversion.apache.org> 
>>>>Sent: Sunday, February 3, 2013 12:10 PM
>>>>Subject: Re: Coniguring 301/302 redirects to track an fspath rename
>>>> 
>>>>
>>>>I backed off with the idea of trying to coax
>>>>new behavior out of svn clients by munging OPTIONS
>>>>responses, but GET and HEAD are now doing
>>>>interesting things even with ?p= set.  For our
>>>>purposes someday it would be nice to just have
>>>>a graduating podling's checkouts all auto-switch
>>>>to the moved location.  Whether that's
>>>>accomplished by augmenting an OPTIONS request
>>>>with revision details or just using the existing
>>>>GET/HEAD support or some other method would be
>>>>just fine with me.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>________________________________
>>>>> From: Joe Schaefer <joe_schae...@yahoo.com>
>>>>>To: Greg Stein <gst...@gmail.com> 
>>>>>Cc: "dev@subversion.apache.org" <dev@subversion.apache.org> 
>>>>>Sent: Saturday, February 2, 2013 2:07 AM
>>>>>Subject: Re: Coniguring 301/302 redirects to track an fspath rename
>>>>> 
>>>>>
>>>>>The (pegrev) revision is typically available on
>>>>>the command-line: all I want is for svn to distinguish
>>>>>between
>>>>>
>>>>>
>>>>>    svn ls foo@1000000
>>>>>
>>>>>
>>>>>and
>>>>>
>>>>>
>>>>>    svn ls foo
>>>>>
>>>>>
>>>>>
>>>>>as far as making redirects pegrev-aware.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>________________________________
>>>>>> From: Greg Stein <gst...@gmail.com>
>>>>>>To: Joe Schaefer <joe_schae...@yahoo.com> 
>>>>>>Cc: dev@subversion.apache.org 
>>>>>>Sent: Saturday, February 2, 2013 1:53 AM
>>>>>>Subject: Re: Coniguring 301/302 redirects to track an fspath rename
>>>>>> 
>>>>>>
>>>>>>Oh, and to the second part: the code which sends OPTIONS has no knowledge 
>>>>>>about the future operations. There is no way to send <revision/>, or 
>>>>>>similar. *Very* disconnected, as in: not even cheesy-hackable.
>>>>>>Cheers,
>>>>>>-g
>>>>>>On Feb 2, 2013 1:49 AM, "Greg Stein" <gst...@gmail.com> wrote:
>>>>>>
>>>>>>That OPTIONS request is generic, and contains no information about the 
>>>>>>future operation(s) that will be performed on the connection. It is used 
>>>>>>for the client to validate and gather information about the server.
>>>>>>>Cheers,
>>>>>>>-g
>>>>>>>On Feb 2, 2013 1:23 AM, "Joe Schaefer" <joe_schae...@yahoo.com> wrote:
>>>>>>>
>>>>>>>So I now see the request body (xml payload)
>>>>>>>>in the OPTIONS request, but nothing there nor
>>>>>>>>in the headers tells me about revision numbers.
>>>>>>>>If I can convince you to add a <revision/> block
>>>>>>>>to the OPTIONS request body I can handle the rest
>>>>>>>>from the httpd side.  Obviously this won't help
>>>>>>>>existing clients, but hey it's a gee-whiz feature
>>>>>>>>anyhow.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>________________________________
>>>>>>>>> From: Joe Schaefer <joe_schae...@yahoo.com>
>>>>>>>>>To: 'Daniel Shahaf' <d...@daniel.shahaf.name>; Bert Huijben 
>>>>>>>>><b...@qqmail.nl> 
>>>>>>>>>Cc: "dev@subversion.apache.org" <dev@subversion.apache.org> 
>>>>>>>>>Sent: Friday, February 1, 2013 9:26 PM
>>>>>>>>>Subject: Re: Coniguring 301/302 redirects to track an fspath rename
>>>>>>>>> 
>>>>>>>>>
>>>>>>>>>So I have this implemented about as well
>>>>>>>>>as I can with what I know about OPTIONS
>>>>>>>>>requests that svn generates.  It would
>>>>>>>>>help if I knew how svn supplies revision
>>>>>>>>>information in the OPTIONS request headers
>>>>>>>>>so I can pass that along to the codebase
>>>>>>>>>instead of always using the youngest rev.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>________________________________
>>>>>>>>>> From: 'Daniel Shahaf' <d...@daniel.shahaf.name>
>>>>>>>>>>To: Bert Huijben <b...@qqmail.nl> 
>>>>>>>>>>Cc: dev@subversion.apache.org 
>>>>>>>>>>Sent: Friday, February 1, 2013 3:33 PM
>>>>>>>>>>Subject: Re: Coniguring 301/302 redirects to track an fspath rename
>>>>>>>>>> 
>>>>>>>>>>Bert Huijben wrote on Fri, Feb 01, 2013 at 21:28:10 +0100:
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> > -----Original Message-----
>>>>>>>>>>> > From: Daniel Shahaf [mailto:d...@daniel.shahaf.name]
>>>>>>>>>>> > Sent: vrijdag 1 februari 2013 19:11
>>>>>>>>>>> > To: dev@subversion.apache.org
>>>>>>>>>>> > Subject: Coniguring 301/302 redirects to track an fspath rename
>>>>>>>>>>> > 
>>>>>>>>>>> > Does anyone have an example of how to configure a server to issue
>>>>>>>>>>> > 301/302 redirects for an fspath that had been renamed?
>>>>>>>>>>> > 
>>>>>>>>>>> > For example we have
>>>>>>>>>>> > 
>>>>>>>>>>> >     <Location /repos/asf>
>>>>>>>>>>> >     SVNPath ...
>>>>>>>>>>> >     </Location>
>>>>>>>>>>> > 
>>>>>>>>>>> > And we'd like to do:
>>>>>>>>>>> > 
>>>>>>>>>>> > 
    # The project was renamed
>>>>>>>>>>> >     Redirect /repos/asf/openejb 
>>>>>>>>>>> >https://svn.apache.org/repos/asf/tomee
>>>>>>>>>>> > 
>>>>>>>>>>> > but we're hitting various problems:
>>>>>>>>>>> > 
>>>>>>>>>>> > - The redirect kicks in for historical revisions (prior to the 
>>>>>>>>>>> > 'svn mv
>>>>>>>>>>> >   ^/openejb ^/tomee' in r1432805) too, such as:
>>>>>>>>>>> >  https://svn.apache.org/repos/asf/openejb?p=1400000
>>>>>>>>>>> > 
>>>>>>>>>>> > - A similar configuration failed to kick in during 
>>>>>>>>>>> > update/checkout of
>>>>>>>>>>> >   working copy checked out from (a pre-rename revision of) 
>>>>>>>>>>> >^/openejb:
>>>>>>>>>>> >   the initial request got matched and redirected, but a subsequent
>>>>>>>>>>> >   request to /repos/asf/!svn/.../openejb failed to match.
>>>>>>>>>>> > 
>>>>>>>>>>> > Ideally we'd like
 to issue a 301 redirect for requests to /openejb that
>>>>>>>>>>> > concern r1432805 or later, but leave requests concerning r1432804 
>>>>>>>>>>> > or
>>>>>>>>>>> > earlier untouched.
>>>>>>>>>>> > 
>>>>>>>>>>> > (or maybe what we *really* want is a repos-side symlink... but 
>>>>>>>>>>> > we're
>>>>>>>>>>> > running 1.7, not 1.9, and we'll appreciate solutions that work 
>>>>>>>>>>> > within
>>>>>>>>>>> > that limitation :))
>>>>>>>>>>> 
>>>>>>>>>>> We currently only support redirects above the repository level.
>>>>>>>>>>> 
>>>>>>>>>>> Redirections inside would be a completely different feature.
>>>>>>>>>>> 
>>>>>>>>>>
>>>>>>>>>>OK... :(
>>>>>>>>>>
>>>>>>>>>>> Why not just leave a top level folder with some readme?
>>>>>>>>>>> 
>>>>>>>>>>
>>>>>>>>>>Every time a podling graduates from the incubator, we do a rename:
>>>>>>>>>>   svn mv ^/incubator/flex ^/flex
>>>>>>>>>>
>>>>>>>>>>If we can return 301 whenever somebody does 'svn up' in a wc of
>>>>>>>>>>^/incubator/flex, we'll save many users (2-4 projects every month)
>>>>>>>>>>having to learn about 'svn relocate'.
>>>>>>>>>>
>>>>>>>>>>> I think you
 should be able to redirect the normal webbrowser GETs though, as
>>>>>>>>>>> I don't think we use those urls from our ra layers. (Or did we 
>>>>>>>>>>> start using
>>>>>>>>>>> them for HEAD requests in HTTPv2?)
>>>>>>>>>>> 
>>>>>>>>>>
>>>>>>>>>>'svn ls $URL@peg' was affected by the redirects I had.
>>>>>>>>>>
>>>>>>>>>>>     Bert
>>>>>>>>>>> 
>>>>>>>>>>
>>>>>>>>>>Thanks,
>>>>>>>>>>
>>>>>>>>>>Daniel
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

Reply via email to