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

Re: [PATCH v2 2/2] sha1dc: optionally use sha1collisiondetection as a submodule

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
May 22, 2017, 08:27 UTC
Message-ID
<CACBZZX52etn7jjT13tDfiQL2ondBAK8G7MuLvG5bmm8Fmn-FwQ@mail.gmail.com>
In-Reply-To
<xmqq7f19ppy6.fsf@gitster.mtv.corp.google.com>
On Mon, May 22, 2017 at 4:48 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 41 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
>> But when somebody (like me?) feels strongly enough, such a change
>> can always come on top of this patch, so let's have this
>> manual-configuration-only version as our first step.
>
> Just so that I have something I can come back to, here it is with a
> log message.
>
> -- >8 --
> Subject: [PATCH] sha1collisiondetection: automatically enable when submodule is populated
>
> If a user wants to experiment with the version of collision
> detecting sha1 from the submodule, the user needed to not just
> populate the submodule but also needed to turn the knob.
>
> A Makefile trick is easy enough to do so, so let's do this.  When
> somebody with a copy of the submodule populated wants not to use it,
> that can be done by overriding it in config.mak or from the command
> line, e.g. "make DC_SHA1_SUBMODULE= all".
>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  Makefile | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 6baad1669e..8d33936a12 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -989,6 +989,10 @@ EXTLIBS =
>
>  GIT_USER_AGENT = git/$(GIT_VERSION)
>
> +ifeq ($(wildcard sha1collisiondetection/lib/sha1.h),sha1collisiondetection/lib/sha1.h)
> +DC_SHA1_SUBMODULE = auto
> +endif
> +
>  include config.mak.uname
>  -include config.mak.autogen
>  -include config.mak
I thought this should have something like this:
diff --git a/Makefile b/Makefile
index 8d33936a12..bbcac648a4 100644
--- a/Makefile
+++ b/Makefile
@@ -989,9 +989,11 @@ EXTLIBS =

 GIT_USER_AGENT = git/$(GIT_VERSION)

+ifndef DC_SHA1_SUBMODULE
 ifeq ($(wildcard
sha1collisiondetection/lib/sha1.h),sha1collisiondetection/lib/sha1.h)
 DC_SHA1_SUBMODULE = auto
 endif
+endif

 include config.mak.uname
 -include config.mak.autogen

I.e. so using sha1dc via DC_SHA1_SUBMODULE= even with the submodule
checked-out would work, but experimenting with it now that seems to do
the right thing, even though this is set unconditionally. There must
be some Makefile magic I'm missing here.

But in any case it would make sense to squash something like this into
your patch:

diff --git a/Makefile b/Makefile
index 8d33936a12..4d9c49ae17 100644
--- a/Makefile
+++ b/Makefile
@@ -148,7 +148,8 @@ all::
 # sha1collisiondetection shipped as a submodule instead of the
 # non-submodule copy in sha1dc/. This is an experimental option used
 # by the git project to migrate to using sha1collisiondetection as a
-# submodule.
+# submodule. Supplied implicitly if the sha1collisiondetection/
+# directory is found to be populated.
 #
 # Define OPENSSL_SHA1 environment variable when running make to link
 # with the SHA1 routine from openssl library.
Previous: Junio C HamanoNext: Junio C Hamano
Message 10 of 20 in “Update sha1dc from upstream & optionally make it a submodule”
  1. 0/3 Update sha1dc from upstream & optionally make it a submoduleÆvar Arnfjörð Bjarmason, May 18, 2017
  2. 1/3 sha1dc: update from upstreamÆvar Arnfjörð Bjarmason, May 18, 2017
  3. 2/3 sha1dc: use sha1collisiondetection as a submoduleÆvar Arnfjörð Bjarmason, May 18, 2017
  4. Junio C HamanoMay 20, 2017
  5. 0/2 Update sha1dc from upstream & optionally make it a submoduleÆvar Arnfjörð Bjarmason, May 20, 2017
  6. 1/2 sha1dc: update from upstreamÆvar Arnfjörð Bjarmason, May 20, 2017
  7. 2/2 sha1dc: optionally use sha1collisiondetection as a submoduleÆvar Arnfjörð Bjarmason, May 20, 2017
  8. Junio C HamanoMay 22, 2017
  9. Junio C HamanoMay 22, 2017
  10. Ævar Arnfjörð BjarmasonMay 22, 2017
  11. Junio C HamanoMay 22, 2017
  12. Junio C HamanoMay 22, 2017
  13. Stefan BellerMay 22, 2017
  14. Junio C HamanoMay 23, 2017
  15. Ævar Arnfjörð BjarmasonMay 23, 2017
  16. Junio C HamanoMay 23, 2017
  17. Ævar Arnfjörð BjarmasonMay 25, 2017
  18. Junio C HamanoMay 25, 2017
  19. Ævar Arnfjörð BjarmasonMay 25, 2017
  20. 3/3 sha1dc: remove the unused sha1dc/ directoryÆvar Arnfjörð Bjarmason, May 18, 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.