When source git repository has extension ".git" like in "MyRepo.git" "git fetch" will drop ".git" extension and refer to it as "MyRepo". Example: sh$ git fetch -v ../MyRepo.git master >From ../MyRepo * branch master -> FETCH_HEAD sh$ cat .git/FETCH_HEAD 6eb10bd105f2ef7f64c595100c0a850c5b3cfeb9 branch 'master' of ../MyRepo Please, note that "git fetch" writes "../MyRepo" instead of "../MyRepo.git" My workflow makes it convenient to have two distinct repositories (1) "MyRepo" => where I work daily (WIP) (2) "MyRepo.git" => --bare repository accessible to others. "MyRepo" pushes ready changes to "MyRepo.git" Dropping ".git" extension causes confusion between these two quite similarly named repositories. This problem can be easily solved by the patch below that removes the code that strips off ".git" extension. --Leo-- ----8<------------------- builtin-fetch--tool.c | 2 -- builtin-fetch.c | 2 -- 2 files changed, 0 insertions(+), 4 deletions(-) diff --git a/builtin-fetch--tool.c b/builtin-fetch--tool.c index 7460ab7..5d0b95f 100644 --- a/builtin-fetch--tool.c +++ b/builtin-fetch--tool.c @@ -160,8 +160,6 @@ static int append_fetch_head(FILE *fp, for (i = remote_len - 1; remote[i] == '/' && 0 <= i; i--) ; remote_len = i + 1; - if (4 < i && !strncmp(".git", remote + i - 3, 4)) - remote_len = i - 3; note_len = 0; if (*what) { diff --git a/builtin-fetch.c b/builtin-fetch.c index ee93d3a..28123a5 100644 --- a/builtin-fetch.c +++ b/builtin-fetch.c @@ -348,8 +348,6 @@ static int store_updated_refs(const char *url, const char *remote_name, for (i = url_len - 1; url[i] == '/' && 0 <= i; i--) ; url_len = i + 1; - if (4 < i && !strncmp(".git", url + i - 3, 4)) - url_len = i - 3; note_len = 0; if (*what) { -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html