You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "C. Michael Pilato" <cm...@collab.net> on 2006/11/29 21:27:42 UTC

Relative URLs in externals definitions. Yes, again.

Some time ago (Jan 24, 2005), Max kicked off a thread recommending a
format for relative externals definition sources.  (See thread here:
http://subversion.tigris.org/servlets/BrowseList?list=dev&by=thread&from=281739)
This is the last thread mentioned in issue #1336 around this topic.

In summary, Max proposed the following:

   Existing absolute external:

      http://svn.collab.net/repos/svn/trunk/subversion

   Relative form 1: Scheme-relative (RFC 2396 compliant)

      //svn.collab.net/repos/svn/trunk/subversion

   Relative form 2: Host-relative (RFC 2396 compliant)

      /repos/svn/trunk/subversion

   Relative form 3: Repository-relative (Fill void in RFC 2396)

      ///../svn/trunk/subversion

   Relative form 4: Directory-relative (RFC 2396 compliant)

      ../../svn/trunk/subversion

Discussion ensued, with Max defending his proposal.

Then came Greg "Party Pooper" Hudson (Hey, he said it himself!) who
expressed disinterest in trying to stick with RFC 2396, and (like some
others) preferred to introduce some sort of syntax that made explicit
the relativity of the path ("using keywords like "site", "repos", and
"scheme" at at the beginning of the externals").  Some others agreed,
one mentioned the new RFC 3986, but ultimately the thread sorta died.

Another idea that can be picked out of the thread is that whatever
scheme we choose, the command-line client should be able to also use it
during its argument processing.  Makes sense to me.

It's, uh, sorta frightening that as long as issue #1336 has been around
(since May 26, 2003!), we've not been able to agree on something here.
The *implementation* of relative URLs in externals is probably a
no-brainer at this point, especially since working copies have been
storing repository root URLs for some time.  There's even a patch in
the issue that proports to work (for some definition of the scheme).

So the question is, can we get past this UI debate and get this
feature into Subversion 1.5 or not?  I am volunteering to compose or
shepherd the code into the codebase to implement whatever scheme we
choose.  But we do have to choose one.

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand


Re: Relative URLs in externals definitions. Yes, again.

Posted by Branko Čibej <br...@xbc.nu>.
C. Michael Pilato wrote:
[lots ...]
> So the question is, can we get past this UI debate and get this
> feature into Subversion 1.5 or not?  I am volunteering to compose or
> shepherd the code into the codebase to implement whatever scheme we
> choose.  But we do have to choose one.
>   

It strikes me this would inject some fresh life into externals and make
them live a bit longer ... instead of mercifully euthing them in favour
of a better solution for SVN-2.0, and delay that further.

I'm referring to the Summit plea to focus on 2.0, don't y'know. :)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Relative URLs in externals definitions. Yes, again.

Posted by Ben Collins-Sussman <su...@red-bean.com>.
On 11/29/06, C. Michael Pilato <cm...@collab.net> wrote:

> Meanwhile, we've been hearing routine complaints about this missing
> feature for over three years, which is especially hard for users to
> choke down when there's already a working patch for some level of support.

Actually, from where I sit, I hear more complaints about the lack of
commandline support for this new syntax (as opposed to complaints
about deficient svn:externals syntax.)  One our of longest-standing UI
criticisms has always been "stop making users type huge URLS to refer
to branches and tags."

So as far as I'm concerned, the 'main' feature here is inventing new
syntax to ease our commandline experience.  If svn:externals gets to
use the new syntax too, then great!  I feel like this is a cleaner way
to approach the problem.

Maybe maxb/ghudson can chime in with their suggestions and proposals again.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Relative URLs in externals definitions. Yes, again.

Posted by "C. Michael Pilato" <cm...@collab.net>.
Ben Collins-Sussman wrote:
> On 11/29/06, C. Michael Pilato <cm...@collab.net> wrote:
> 
>> Another idea that can be picked out of the thread is that whatever
>> scheme we choose, the command-line client should be able to also use it
>> during its argument processing.  Makes sense to me.
> 
> Can you elaborate on this?  Give examples?

Well, I'd have to dig thru the archives again for specifics, but I
recall there being a proposal to support something like 'svn switch
R//branches/issue-1336-dev', where that 'R//' bit is magic that means
REPOSITORY-ROOT-URL.  (If you want details, I can dive back into the
archives -- but then, so can you.)  Anyway, if the command-line support
that kind of thing, it would makes sense for externals definitions to
support them, too.  In other words, there's value in consistency between
these two "relative URL" UIs.

(I've no opinion on specific syntax proposals, nor complete knowledge of
all the proposals that have been floated on the topic.)

>> It's, uh, sorta frightening that as long as issue #1336 has been around
>> (since May 26, 2003!), we've not been able to agree on something here.
>> The *implementation* of relative URLs in externals is probably a
>> no-brainer at this point, especially since working copies have been
>> storing repository root URLs for some time.  There's even a patch in
>> the issue that proports to work (for some definition of the scheme).
> 
> Well, I think this is one of those things where designing the
> interface is probably 80% of the work, so we shouldn't feel too bad.
> We've always been very careful about defining elegant interfaces that
> are as simple as possible, and careful to avoid feature bloat.  That's
> a hard standard to keep up.  :-)

Oh, I'm certainly not interested in damaging Subversion's attention to
quality and long-sightedness.  And if the 80/20 rule was in effect here,
I'd not be making a fuss.  But at this point, designing the interface
has been 99.98% of the work.  :-)

And feature bloat doesn't really appear to be a concern here.  There are
established use-cases for all points on the proposal (as far as I could
tell), and it all appears to come at a really low maintenance cost
(we're talking about string parsing and path manipulation here).
Meanwhile, we've been hearing routine complaints about this missing
feature for over three years, which is especially hard for users to
choke down when there's already a working patch for some level of support.

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand


Re: Relative URLs in externals definitions. Yes, again.

Posted by Ben Collins-Sussman <su...@red-bean.com>.
On 11/29/06, C. Michael Pilato <cm...@collab.net> wrote:

> Another idea that can be picked out of the thread is that whatever
> scheme we choose, the command-line client should be able to also use it
> during its argument processing.  Makes sense to me.

Can you elaborate on this?  Give examples?


>
> It's, uh, sorta frightening that as long as issue #1336 has been around
> (since May 26, 2003!), we've not been able to agree on something here.
> The *implementation* of relative URLs in externals is probably a
> no-brainer at this point, especially since working copies have been
> storing repository root URLs for some time.  There's even a patch in
> the issue that proports to work (for some definition of the scheme).

Well, I think this is one of those things where designing the
interface is probably 80% of the work, so we shouldn't feel too bad.
We've always been very careful about defining elegant interfaces that
are as simple as possible, and careful to avoid feature bloat.  That's
a hard standard to keep up.  :-)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Relative URLs in externals definitions. Yes, again.

Posted by Karl Chen <qu...@NOSPAM.quarl.org>.
>>>>> On 2006-11-29 13:27 PST, C Michael Pilato writes:

    cmpilato> So the question is, can we get past this UI debate
    cmpilato> and get this feature into Subversion 1.5 or not?  I
    cmpilato> am volunteering to compose or shepherd the code into
    cmpilato> the codebase to implement whatever scheme we choose.
    cmpilato> But we do have to choose one.

I add my vote for urging implementation of relative URI support
for svn:externals.

-- 
Karl 2006-12-08 19:06

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org