Junio C Hamano [off-list ref] writes:
Torsten Bögershausen [off-list ref] writes:
quoted
It looks as if
static char *get_repo_path(const char *repo, int *is_bundle)
in built/clone.c
checks if there is a local directory structure looking like a
.git directory.
This is wrong.
It is as designed, though, to allow cloning from a local directory
with any name.
quoted
There should be a check for the scheme first.
That will be wrong.
It matters mostly when dealing with scp-like syntax, word:path.
I _think_ taking notice of "word://" (with doubled slashes) and
treating it specially will not introduce any new issue; while it is
still OK for users to have a local directory called "word:", if they
meant a subdirectory of it, they wouldn't have typed double-slashes
there.
On 2015-08-06 09.50, Junio C Hamano wrote:
Junio C Hamano [off-list ref] writes:
quoted
Torsten Bögershausen [off-list ref] writes:
quoted
It looks as if
static char *get_repo_path(const char *repo, int *is_bundle)
in built/clone.c
checks if there is a local directory structure looking like a
.git directory.
This is wrong.
It is as designed, though, to allow cloning from a local directory
with any name.
I see the point, but this is what I would expect as a user:
git clone ssh://host/path # Always ssh, never local
git clone ./ssh://host/path # Always local
git clone host:path # scp syntax, border case:
# if a git repo host:path exists on disc,
# use it
git clone ./host:path # local, not scp ('/' before ':')
Beside that, git fetch, git fetch-pack all use the transport helper from
transport.c:
transport
struct transport *transport_get(struct remote *remote, const char *url)
to let the URL being parsed and to make the decision if an URL without a scheme
is ssh or a local file.
So I think that git clone can be slighty more consistant here.
quoted
quoted
There should be a check for the scheme first.
That will be wrong.
It matters mostly when dealing with scp-like syntax, word:path.
I _think_ taking notice of "word://" (with doubled slashes) and
treating it specially will not introduce any new issue; while it is
still OK for users to have a local directory called "word:", if they
meant a subdirectory of it, they wouldn't have typed double-slashes
there.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html