From: Junio C Hamano <gitster@pobox.com>
To: Daniel Barkalow <barkalow@iabervon.org>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Sverre Rabbelier <srabbelier@gmail.com>,
Junio C Hamano <gitster@pobox.com>,
git@vger.kernel.org
Subject: Re: [PATCH 1/8] Make the "traditionally-supported" URLs a special case
Date: Fri, 04 Sep 2009 10:23:43 -0700 [thread overview]
Message-ID: <7vy6ouk4io.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <alpine.LNX.2.00.0909041114440.28290@iabervon.org> (Daniel Barkalow's message of "Fri\, 4 Sep 2009 11\:40\:20 -0400 \(EDT\)")
Daniel Barkalow <barkalow@iabervon.org> writes:
> It turns out that the method used to form URLs that use a helper doesn't
> generalize well to other cases, because it interferes with the ssh-style
> locations. Instead, some different mechanism needs to be made up to handle
> arbitrary handlers that git doesn't know about. Since we want to keep
> supporting "http://something", that'll have to be a special case anyway,
> and so we might as well handle it by having git know what helpers to use
> for things that we've always supported, and use a single descriptive name
> for the helper that handles that collection of URLs.
>
> As of this version, the idea is that there will be three ways helpers get
> selected:
>
> - git selects a helper based on the URL being something traditionally
> supported internally; that is, git recognizes the URL and knows what to
> run, if possible, to handle it
>
> - git uses the "vcs" option if it is set
>
> - something with the URL that we don't understand well enough yet to
> design, but which doesn't seem to be possible to fit in as a single
> rule with the first item.
Thanks for a clear description.
I do not see that there is much difference between the above description
and what Dscho is advocating, and I do not see anything to get excited
about as Dscho seems to do. In his world, hg:// or any URL that begins
with <unknown>:// wants to be a short-hand to name the helper, and the
third rule whose detail is unspecified in the above list could be
something like:
- With an explicit <prefix-separator>, i.e.
<helper-name> <prefix-separator> <any-string>
tells the named helper git-remote-<helper-name> to interact with
repository that it can find using <any-string>. We do not interpret,
nor guess from, what <any-string> is, in this case.
- When all else fails, and the URL looks like <unknown>://<any-string>,
we see if git-remote-<unknown> is available and give it the whole
string (including the <unknown>::// part).
which means that what Dscho wants is already a subset of the future
direction planned for this series.
As to the "curl" indirection, if you consider the possiblity of someday
adding the transparently backward compatible cgi based server with updated
clients Gitney talked about, I am reasonably sure that we would want to
have a new helper, say http-cgi, and have interested people invoke it
using the "more explicit" escape hatch:
$ git clone http-cgi::http://repo.or.cz/w/alt-git.git/
while others can continue using the walker via a plain http://repo.or.cz/
URL. When http-cgi helper proves to be successful and everybody's server
upgrades, we might choose to swap the default, say in git 1.10.0 release,
while leaving the door open for people to choose the old helper via an
explicit curl::http://repo.or.cz/ URL.
In short, from where I sit, I do not see much disagreement in the
semantics and in the future direction between what Dscho is saying (unless
I again misunderstood what he said) and what this round wants to bring.
The only slight difference is that having an explicit excape hatch as the
foundation, that usually does not have to be spelled out but does allow
you to, keeps the concept cleaner, while keeping the usability of the end
result.
next prev parent reply other threads:[~2009-09-04 17:26 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-04 2:13 [PATCH 1/8] Make the "traditionally-supported" URLs a special case Daniel Barkalow
2009-09-04 5:29 ` Sverre Rabbelier
[not found] ` <20090904172345.6117@nanako3.lavabit.com>
2009-09-04 10:47 ` Sverre Rabbelier
2009-09-04 15:40 ` Daniel Barkalow
2009-09-04 17:14 ` Sverre Rabbelier
2009-09-04 17:23 ` Junio C Hamano [this message]
2009-09-04 17:52 ` Sverre Rabbelier
2009-09-04 18:02 ` Johannes Schindelin
2009-09-04 19:05 ` Daniel Barkalow
2009-09-04 19:35 ` Sverre Rabbelier
2009-09-04 20:10 ` Daniel Barkalow
2009-09-04 21:08 ` Johannes Schindelin
2009-09-04 22:18 ` Daniel Barkalow
2009-09-04 22:36 ` Johannes Schindelin
2009-09-04 9:04 ` Mike Ralphson
2009-09-04 10:34 ` Johannes Schindelin
2009-09-04 10:50 ` Junio C Hamano
2009-09-04 12:33 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7vy6ouk4io.fsf@alter.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=barkalow@iabervon.org \
--cc=git@vger.kernel.org \
--cc=srabbelier@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).