Re: [PATCH] git-fetch should not strip off ".git" extension
Show 57 quoted lines
> 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;
> Will this still play nicely with
git clone foo.git
?
Otherwise, please also fix the fallout from this patch.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231