From: Junio C Hamano <gitster@pobox.com>
To: Daniel Barkalow <barkalow@iabervon.org>
Cc: git@vger.kernel.org, Brian Gernhardt <benji@silverinsanity.com>,
Johan Herland <johan@herland.net>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>
Subject: Re: [PATCH 5/8] Add a config option for remotes to specify a foreign vcs
Date: Mon, 10 Aug 2009 01:47:00 -0700 [thread overview]
Message-ID: <7v63cw3vjv.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: alpine.LNX.2.00.0908092153520.27553@iabervon.org
Daniel Barkalow <barkalow@iabervon.org> writes:
> I think that users should never need to know the names of the helpers. I
> mean, the native protocol uses helpers that most users are completely
> unaware of. The users do need to know what the
... heck ;-)?
But seriously, why not?
> The problem is not that foreign systems don't have "urls" in particular.
> The problem is that there are foreign systems, like perforce, where the
> lines between different repositories in the git sense are drawn in very
> different ways. In perforce, for example, there is a single namespace for
> all branches of all projects hosted on the same server. It's like...
> ...
> (and hundreds more, mixing all the branches of all of the repositories
> for all of the projects, without any conventions beyond what the
> community on the particular server made up)
That looks similar to a subversion server with multiple projects with
multiple branches, and they seem to be able to use
"svn://<whatever svn uses as its own convention>"
just fine.
Why p4 cannot do what svn can? Doesn't p4 ever "name" a repository/branch
inside that "single namespace" with a simple string that is easy to
remember for users? And if there is one, I do not see what prevents you
from using "p4://<whatever information p4 users use>"?
> You really need a different sort of configuration option to specify what
> we think of as "the git.git repository", which includes certain branches
> and doesn't include other projects hosted on kernel.org. And in order to
> find the server, it uses an arbitrary shell command line that acts like
> rsh (and often consists of "ssh" as the command and a bunch of complicated
> options to connect to the right port of the right host to get the right
> restricted shell with the right preset environment). So there's nothing
> you can put in the <whatever string the helper understands> part, because
> the helper really has to figure out what it's doing from a bunch of
> options.
>
> Furthermore, I don't want to just use "p4:" as what people should use in
> remote.*.url in order to select the right helper, because then people are
> going to have different remotes with the same url option value in order to
> access entirely different data.
Maybe it is the _primary_ itch you would want to scratch, but this does
sound like a very special case that wants to have multiple pieces of
pre-parsed information to identify a "repository".
Perhaps in such a case it would be equally valid if you said "p4:hello"
and "p4:goodbye" to identify two "repositories", with p4-helper specific
configuration option that is keyed off of of p4.hello.* and p4.goodbye.*
namespace, e.g. (without knowing p4 at all)
[remote "origin"]
url = p4:hello
[p4 "hello"]
find-server-command = ssh bunch of complicated options
random-p4-option = ...
random-other-p4-option = ...
Of course it does not have to be called "url", and you could do the same
thing with:
[remote "origin"]
vcs = p4
[p4 "origin"]
find-server-command = ssh bunch of complicated options
random-p4-option = ...
random-other-p4-option = ...
And probably there aren't much difference either way between these two
appraoches. The former gives an extra name ("hello") that may simply be
redundant, or perhaps adds value by descriptive, depending on your
viewpoint.
next prev parent reply other threads:[~2009-08-10 8:47 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-09 19:28 [PATCH 5/8] Add a config option for remotes to specify a foreign vcs Daniel Barkalow
2009-08-09 20:38 ` Johannes Schindelin
2009-08-10 1:15 ` Junio C Hamano
2009-08-10 4:30 ` Daniel Barkalow
2009-08-10 8:32 ` Johan Herland
2009-08-10 19:30 ` Daniel Barkalow
2009-08-11 10:10 ` [RFC/PATCH 0/6] Graceful handling of missing remote helpers Johan Herland
2009-08-11 10:10 ` [RFC/PATCH 1/6] Minor unrelated fixes Johan Herland
2009-08-11 10:10 ` [RFC/PATCH 2/6] transport_get(): Don't SEGFAULT on missing url Johan Herland
2009-08-12 22:24 ` Junio C Hamano
2009-08-12 23:39 ` Johan Herland
2009-08-11 10:10 ` [RFC/PATCH 3/6] Move setup of curl remote helper from transport.c to transport-helper.c Johan Herland
2009-08-11 12:23 ` Johannes Schindelin
2009-08-11 10:10 ` [RFC/PATCH 4/6] Add is_git_command_or_alias() for checking availability of a given git command Johan Herland
2009-08-11 12:21 ` Johannes Schindelin
2009-08-11 10:10 ` [RFC/PATCH 5/6] Let transport_helper_init() decide if a remote helper program can be used Johan Herland
2009-08-11 12:21 ` Johannes Schindelin
2009-08-11 23:28 ` Daniel Barkalow
2009-08-12 7:46 ` Jeff King
2009-08-12 16:21 ` Daniel Barkalow
2009-08-11 10:10 ` [RFC/PATCH 6/6] Add testcase to verify handling of missing remote helper programs Johan Herland
2009-08-11 5:12 ` [PATCH 5/8] Add a config option for remotes to specify a foreign vcs Junio C Hamano
2009-08-11 8:39 ` Johannes Schindelin
2009-08-10 8:47 ` Junio C Hamano [this message]
2009-08-11 15:31 ` Bert Wesarg
2009-08-11 16:20 ` Johannes Schindelin
2009-08-11 21:48 ` Jeff King
[not found] ` <20090812075914.6117@nanako3.lavabit.com>
2009-08-11 23:02 ` Jeff King
2009-08-12 0:14 ` Johannes Schindelin
2009-08-12 3:26 ` Junio C Hamano
2009-08-11 23:53 ` Johannes Schindelin
2009-08-12 7:45 ` Jeff King
2009-08-12 9:33 ` Jakub Narebski
2009-08-12 20:30 ` Junio C Hamano
2009-08-13 22:00 ` Jakub Narebski
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=7v63cw3vjv.fsf@alter.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=barkalow@iabervon.org \
--cc=benji@silverinsanity.com \
--cc=git@vger.kernel.org \
--cc=johan@herland.net \
/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).