Code

Bring local clone's origin URL in line with that of a remote clone
authorJohan Herland <johan@herland.net>
Mon, 1 Sep 2008 19:07:33 +0000 (21:07 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 2 Sep 2008 06:27:39 +0000 (23:27 -0700)
commit86521acaca0cb9951d9ff5ac4bc2c736035267a0
treef594fc5469dd37179a928d85ebe65639a02757ab
parentf733c70941a79e8d7a05d16fac89294ef0366bda
Bring local clone's origin URL in line with that of a remote clone

On a local clone, "git clone" would use the fully DWIMmed path as the origin
URL in the resulting repo. This was slightly inconsistent with the case of a
remote clone where the _given_ URL was used as the origin URL (because the
DWIMming was done remotely, and was therefore not available to "git clone").

This behaviour caused problems when cloning a local non-bare repo with
relative submodule URLs, because these submodule URLs would then be resolved
against the DWIMmed URL (e.g. "/repo/.git") instead of the given URL (e.g.
"/repo").

This patch teaches "git clone" to use the _given_ URL - instead of the
DWIMmed path - as the origin URL. This causes relative submodule URLs to be
resolved correctly, as long the _given_ URL indicates the correct directory
against which the submodule URLs should be resolved.

The patch also updates a testcase that contained the old-style origin URLs.

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-clone.c
t/t5505-remote.sh