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

Re: [PATCH] make strip: include `scalar`

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 17, 2025, 22:04 UTC
Message-ID
<xmqq7bvoiadg.fsf@gitster.g>
In-Reply-To
<pull.2004.git.1763409086322.gitgitgadget@gmail.com>

"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com> writes:

Show 7 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
>
> When Scalar was made a canonical part of Git in 7b5c93c6c68 (scalar:
> include in standard Git build & installation, 2022-09-02), it was added
> to all relevant Makefile targets except for the `strip` target.
>
> Let's correct that.
The motivation makes perfect sense.
Show 11 quoted lines
> diff --git a/Makefile b/Makefile
> index 7e0f77e298..62f7f7bf56 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2565,7 +2565,7 @@ please_set_SHELL_PATH_to_a_more_modern_shell:
>  
>  shell_compatibility_test: please_set_SHELL_PATH_to_a_more_modern_shell
>  
> -strip: $(PROGRAMS) git$X
> +strip: $(PROGRAMS) git$X scalar$X
>  	$(STRIP) $(STRIP_OPTS) $^

I wonder why the original names git$X here explicitly, instead of using say $(OTHER_PROGRAMS) that covers both of these. I know that the undocumented INCLUDE_DLLS_IN_ARTIFACTS knob uses OTHER_PROGRAMS by throwing in non-programs like DLLs to it, so that artifacts-tar target would include them, but perhaps instead of working around the misdesign of that target, wouldn't it be better to correct its use of OTHER_PROGRAMS and use it here instead?

The change (including the "strip scalar, too!" part) should look like this, I think.

Also do we need a matching change to CMake and meson?
 Makefile | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git c/Makefile w/Makefile
index 70d1543b6b..a63a4adbc7 100644
--- c/Makefile
+++ w/Makefile
@@ -682,6 +682,7 @@ LIB_OBJS =
 LIBGIT_PUB_OBJS =
 SCALAR_OBJS =
 OBJECTS =
+OTHER_ARTIFACTS =
 OTHER_PROGRAMS =
 PROGRAM_OBJS =
 PROGRAMS =
@@ -2499,7 +2500,7 @@ please_set_SHELL_PATH_to_a_more_modern_shell:
 
 shell_compatibility_test: please_set_SHELL_PATH_to_a_more_modern_shell
 
-strip: $(PROGRAMS) git$X
+strip: $(PROGRAMS) $(OTHER_PROGRAMS)
 	$(STRIP) $(STRIP_OPTS) $^
 
 ### Target-specific flags and dependencies
@@ -3697,10 +3698,11 @@ rpm::
 .PHONY: rpm
 
 ifneq ($(INCLUDE_DLLS_IN_ARTIFACTS),)
-OTHER_PROGRAMS += $(shell echo *.dll t/helper/*.dll t/unit-tests/bin/*.dll)
+OTHER_ARTIFACTS += $(shell echo *.dll t/helper/*.dll t/unit-tests/bin/*.dll)
 endif
 
 artifacts-tar:: $(ALL_COMMANDS_TO_INSTALL) $(SCRIPT_LIB) $(OTHER_PROGRAMS) \
+		$(OTHER_ARTIFACTS) \
 		GIT-BUILD-OPTIONS $(TEST_PROGRAMS) $(test_bindir_programs) \
 		$(UNIT_TEST_PROGS) $(CLAR_TEST_PROG) $(MOFILES)
 	$(QUIET_SUBDIR0)templates $(QUIET_SUBDIR1) \
Previous: Johannes Schindelin via GitGitGadgetNext: Johannes Schindelin
Message 2 of 5 in “make strip: include `scalar`”
  1. make strip: include `scalar`Johannes Schindelin via GitGitGadget, Nov 17, 2025
  2. Junio C HamanoNov 17, 2025
  3. Johannes SchindelinNov 25, 2025
  4. Junio C HamanoNov 25, 2025
  5. Patrick SteinhardtDec 1, 2025

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.