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

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

From
Jeff King <peff@peff.net>
Date
Dec 5, 2017, 07:02 UTC
Message-ID
<20171205070249.GC4788@sigill.intra.peff.net>
In-Reply-To
<20171128213214.12477-4-avarab@gmail.com>
On Tue, Nov 28, 2017 at 09:32:13PM +0000, Ævar Arnfjörð Bjarmason wrote:
Show 19 quoted lines
> Change the build process so that instead of needing to supply
> DC_SHA1_SUBMODULE=YesPlease to use the sha1collisiondetection
> submodule instead of the copy of the same code shipped in the sha1dc
> directory, it uses the submodule by default unless
> NO_DC_SHA1_SUBMODULE=UnfortunatelyYes is supplied.
> 
> This reverses the logic added by me in 86cfd61e6b ("sha1dc: optionally
> use sha1collisiondetection as a submodule", 2017-07-01). Git has now
> shipped with the submodule in git.git for two major releases, if we're
> ever going to migrate to fully using it instead of perpetually
> maintaining both sha1collisiondetection and the sha1dc directory this
> is a logical first step.
> 
> This change removes the "auto" logic Junio added in
> cac87dc01d ("sha1collisiondetection: automatically enable when
> submodule is populated", 2017-07-01), I feel that automatically
> falling back to using sha1dc would defeat the point, which is to smoke
> out any remaining users of git.git who have issues cloning the
> submodule for whatever reason.

I'm not sure how I feel about this. I see your point that there's no real value in maintaining two systems indefinitely. At the same time, I wonder how much value the submodule strategy is actually bringing us.

IOW, are we agreed that the path forward is to get everybody using the submodule?

It seems like it's going to cause some minor pain for CI and packaging systems that now need to care about submodules (so at least flipping the switch, but maybe also dealing with having a network dependency for the build that was not already there).

I'll admit I'm more sensitive to this than most people, since I happen to maintain a fork of Git that I run through an internal CI system. And that CI otherwise depends only on the locally-held fork, not any external resources. But I'm probably in a fairly unique situation there.

-Peff
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 7 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.