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
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Dec 5, 2017, 14:16 UTC
Message-ID
<87a7yxs1iu.fsf@evledraar.booking.com>
In-Reply-To
<xmqqh8t5jp9e.fsf@gitster.mtv.corp.google.com>
On Tue, Dec 05 2017, Junio C. Hamano jotted:
Show 24 quoted lines
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>>> 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?
>> ...
>> In no particular order:
>>
>>  * I don't feel strongly about 2-4/4 in this series. I just hacked this
>>    up because it occurred to me that I'd left this sha1dc stuff in some
>>    in-between state and we'd talked about eventually moving forward with
>>    this.
>
> Good.
>
>>    We've had two releases with the submodule being purely optional, if
>>    we're going to keep it it seems logical to start at least using it by
>>    default.
>
> With a need for a patch like 1/4, I suspect two release cycles is
> way too short for making a move like 2-4/4, though.

You're conflating two unrelated things, which to be fair I'm confusingly doing by submitting all this together.

1) Since 2.14 we've had the "auto" rule and
   DC_SHA1_SUBMODULE=[YesPlease|auto], so we'll prefer the submodule if
   it's there. So we've been testing if the mere presence of a
   .gitmodules breaks something for someone, seems like it doesn't.
2) Then in the 2.15 release Takashi Iwai submitted a feature to link to
   an external SHA1DC. This is used in the SuSE 2.15 package here:
   http://download.opensuse.org/tumbleweed/repo/src-oss/suse/src/
   However, as you'll see if you extract that package they don't run
   into that bug, because they're building it from a tarball which has
   an empty sha1collisiondetection/ directory as noted in my
   87bmjdscdr.fsf@evledraar.booking.com.
   Takashi *would* run into an error with my 1/4 if he was building from
   git.git, or if "make dist" included sha1collisiondetection/, but I
   don't see a reason to hold anything back back on that account. The
   only users of DC_SHA1_EXTERNAL=YesPlease are going to be packagers
   who know what they're doing, and if we start erroring out for them on
   this obscure option that's going to be trivially solved.

I don't see why this obscure edge case with #2 should keep us from deciding whatever we'd decide with #1. They're really unrelated, #2 practically speaking only impacts tarball consumers, #1 impacts git.git users.

It seems logical to me if we're going to move forward with #1 at all by first making the submodule the default & then depending on how that turns out making it a hard dependency, we'd do it now.

We'll learn nothing new by shipping a 2.16 with DC_SHA1_SUBMODULE=auto that we haven't already learned in 2.14 & 2.15.

Previous: Junio C HamanoNext: Kevin Daudt
Message 10 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.