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

Re: [PATCH v2 4/5] Makefile: use the sha1collisiondetection submodule by default

From
Jeff King <peff@peff.net>
Date
Dec 9, 2017, 00:31 UTC
Message-ID
<20171209003130.GA28044@sigill.intra.peff.net>
In-Reply-To
<xmqqk1xw6c24.fsf@gitster.mtv.corp.google.com>
On Fri, Dec 08, 2017 at 03:21:23PM -0800, Junio C Hamano wrote:
Show 26 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
> 
> > That endgame allows us not force people to grab an essential part of
> > the codebase as an external dependency from another place, which
> > feels quite bad, especially when their primary interest is not in
> > dogfooding submodule but in building a working version of Git.
> >
> > Removing one and keeping the other between the two will make the
> > distribution more streamlined by removing the build-time knob we
> > need to tweak, but the one that gets removed does not have to be the
> > in-tree one that allows people to "git clone" from just one place.
> 
> Perhaps this may deserve a bit more explanation.
> 
> I wouldn't be so against "let's do submodule-only" if this were not
> SHA-1 implementation but something like gitk and git-gui.  An optional
> part of a system that it is safe to leave to individual builders if
> they want to fetch and use that part *is* an ideal target to bind as
> a submodule to the system.
> 
> It's just the "default SHA-1 implementation" is at the far opposite
> end of the spectrum from "an optional part", and our use of
> submodule to bind this code is definitely *not* because it makes
> sense to use submodule in that context; it is because developers
> (not necessarily those who consume Git sourcecode) *wanted* to use
> submodule there, regardless of the real merit of doing so.

Thanks for writing this out. I had a vague feeling that I didn't quite like going the submodule-only direction, but I was having trouble putting into words. It's exactly this.

-Peff
Previous: Junio C HamanoNext: Ævar Arnfjörð Bjarmason
Message 24 of 27 in “SHA1DC fixes & fully moving to a git.git submodule”
  1. 0/4 SHA1DC fixes & fully moving to a git.git submoduleÆvar Arnfjörð Bjarmason, Nov 28, 2017
  2. 1/4 Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=autoÆvar Arnfjörð Bjarmason, Nov 28, 2017
  3. Jeff KingDec 5, 2017
  4. 2/4 sha1dc_git.h: re-arrange an ifdef chain for a subsequent changeÆvar Arnfjörð Bjarmason, Nov 28, 2017
  5. Jeff KingDec 5, 2017
  6. 3/4 Makefile: use the sha1collisiondetection submodule by defaultÆvar Arnfjörð Bjarmason, Nov 28, 2017
  7. Jeff KingDec 5, 2017
  8. Ævar Arnfjörð BjarmasonDec 5, 2017
  9. Junio C HamanoDec 5, 2017
  10. Ævar Arnfjörð BjarmasonDec 5, 2017
  11. Kevin DaudtDec 9, 2017
  12. Kevin DaudtDec 9, 2017
  13. Junio C HamanoDec 5, 2017
  14. 0/5 SHA1DC fixes & fully moving to a git.git submoduleÆvar Arnfjörð Bjarmason, Dec 8, 2017
  15. 1/5 Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=autoÆvar Arnfjörð Bjarmason, Dec 8, 2017
  16. 3/5 sha1dc_git.h: re-arrange an ifdef chain for a subsequent changeÆvar Arnfjörð Bjarmason, Dec 8, 2017
  17. 2/5 Makefile: under "make dist", include the sha1collisiondetection submoduleÆvar Arnfjörð Bjarmason, Dec 8, 2017
  18. Junio C HamanoDec 8, 2017
  19. Ævar Arnfjörð BjarmasonDec 8, 2017
  20. Junio C HamanoDec 19, 2017
  21. 4/5 Makefile: use the sha1collisiondetection submodule by defaultÆvar Arnfjörð Bjarmason, Dec 8, 2017
  22. Junio C HamanoDec 8, 2017
  23. Junio C HamanoDec 8, 2017
  24. Jeff KingDec 9, 2017
  25. Ævar Arnfjörð BjarmasonDec 8, 2017
  26. Kevin DaudtDec 9, 2017
  27. Jeff KingDec 5, 2017

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.