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

Re: [PATCH] clone: forbid --bare --separate-git-dir <dir>

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 6, 2013, 23:13 UTC
Message-ID
<7v6239nbw0.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20130106101948.GD10956@elie.Belkin>
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 33 quoted lines
> Nguyễn Thái Ngọc Duy wrote:
>
>> --separate-git-dir was added to clone with the repository away from
>> standard position <worktree>/.git. It does not make sense to use it
>> without creating working directory.
>>
>> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
>
> The patch correctly implements the above.  The description leaves out
> detail.  I'd say something like
>
> 	The --separate-git-dir option was introduced to make it simple
> 	to put the git directory somewhere outside the worktree, for
> 	example when cloning a repository for use as a submodule.
>
> 	It was not intended for use when creating a bare repository.
> 	In that case there is no worktree and it is more natural to
> 	directly clone the repository and create a .git file as
> 	separate steps:
>
> 		git clone --bare /path/to/repo.git bar.git
> 		printf 'gitdir: bar.git\n' >foo.git
>
> 	Unfortunately we forgot to forbid the --bare
> 	--separate-git-dir combination.  In practice, we know no one
> 	could be using --bare with --separate-git-dir because it is
> 	broken in the following way: <explanation here>.  So it is
> 	safe to make good on our mistake and forbid the combination,
> 	making the command easier to explain.
>
> I don't know what would go in the <explanation here> blank above,
> though.  Is it possible that some people are relying on this option
> combination?

I do not necessarily think we must say "it happens not to work already for such and such reasons, lucky us!", but it is indeed a good idea to think things through, justifying why this cannot be a regression, and record the fact that we did that thinking, in the log message.

Thanks.
Previous: Jonathan NiederNext: Duy Nguyen
Message 15 of 24 in “[BUG] git submodule update is not fail safe”
  1. Manlio PerilloJan 4, 2013
  2. Junio C HamanoJan 4, 2013
  3. Manlio PerilloJan 5, 2013
  4. Jens LehmannJan 5, 2013
  5. Jens LehmannJan 5, 2013
  6. Manlio PerilloJan 5, 2013
  7. Jens LehmannJan 5, 2013
  8. clone: support atomic operation with --separate-git-dirJens Lehmann, Jan 5, 2013
  9. Manlio PerilloJan 5, 2013
  10. Junio C HamanoJan 6, 2013
  11. Duy NguyenJan 6, 2013
  12. Jonathan NiederJan 6, 2013
  13. clone: forbid --bare --separate-git-dir <dir>Nguyễn Thái Ngọc Duy, Jan 6, 2013
  14. Jonathan NiederJan 6, 2013
  15. Junio C HamanoJan 6, 2013
  16. Duy NguyenJan 7, 2013
  17. Junio C HamanoJan 7, 2013
  18. Duy NguyenJan 8, 2013
  19. Jens LehmannJan 8, 2013
  20. Junio C HamanoJan 8, 2013
  21. Duy NguyenJan 8, 2013
  22. Junio C HamanoJan 8, 2013
  23. clone: forbid --bare --separate-git-dir <dir>Nguyễn Thái Ngọc Duy, Jan 11, 2013
  24. Junio C HamanoJan 11, 2013

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.