git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] git-fetch should not strip off ".git" extension

From
Andreas Ericsson <ae@op5.se>
Date
Oct 20, 2008, 10:36 UTC
Message-ID
<48FC5F1B.1050608@op5.se>
In-Reply-To
<ee2a733e0810180459m5fd20365s3c27bea5c1f3f704@mail.gmail.com>
Leo Razoumov wrote:
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
Previous: Leo RazoumovNext: Leo Razoumov
Message 2 of 13 in “git-fetch should not strip off ".git" extension”
  1. git-fetch should not strip off ".git" extensionLeo Razoumov, Oct 18, 2008
  2. Andreas EricssonOct 20, 2008
  3. Leo RazoumovOct 20, 2008
  4. Junio C HamanoOct 20, 2008
  5. Leo RazoumovOct 21, 2008
  6. Junio C HamanoOct 21, 2008
  7. Alex RiesenOct 21, 2008
  8. Junio C HamanoOct 21, 2008
  9. Alex RiesenOct 21, 2008
  10. Andreas EricssonOct 22, 2008
  11. Junio C HamanoOct 21, 2008
  12. Leo RazoumovOct 22, 2008
  13. Leo RazoumovOct 22, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.