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

[PATCH 2/3] git-gui: sort entries in optimized tclIndex

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Nov 21, 2017, 23:36 UTC
Message-ID
<20171121233621.GO3429@aiede.mtv.corp.google.com>
In-Reply-To
<20171121232935.GM3429@aiede.mtv.corp.google.com>
From: Anders Kaseorg <andersk@mit.edu>
Date: Wed, 16 Nov 2016 16:37:17 -0500

auto_mkindex expands wildcards in directory order, which depends on the underlying filesystem. To improve build reproducibility, sort the list of *.tcl files in the Makefile.

The unoptimized loading case was previously fixed in gitgui-0.21.0~14 (git-gui: sort entries in tclIndex, 2015-01-26).

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 918a8de369..f10caedaa7 100644
--- a/Makefile
+++ b/Makefile
@@ -254,7 +254,7 @@ $(ALL_MSGFILES): %.msg : %.po
 lib/tclIndex: $(ALL_LIBFILES) GIT-GUI-VARS
 	$(QUIET_INDEX)if echo \
 	  $(foreach p,$(PRELOAD_FILES),source $p\;) \
-	  auto_mkindex lib '*.tcl' \
+	  auto_mkindex lib $(patsubst lib/%,%,$(sort $(ALL_LIBFILES))) \
 	| $(TCL_PATH) $(QUIET_2DEVNULL); then : ok; \
 	else \
 	 echo >&2 "    * $(TCL_PATH) failed; using unoptimized loading"; \
-- 
2.15.0.448.gf294e3d99a
Previous: Jonathan NiederNext: Jonathan Nieder
Message 9 of 10 in “Improving build reproducibility”
  1. 0/3 Improving build reproducibilityJonathan Nieder, Nov 21, 2017
  2. 1/3 Documentation: allow overriding timestamps of generated asciidocJonathan Nieder, Nov 21, 2017
  3. brian m. carlsonNov 22, 2017
  4. Jonathan NiederNov 22, 2017
  5. Junio C HamanoNov 22, 2017
  6. Anders KaseorgNov 22, 2017
  7. Junio C HamanoNov 22, 2017
  8. Jonathan NiederNov 22, 2017
  9. 2/3 git-gui: sort entries in optimized tclIndexJonathan Nieder, Nov 21, 2017
  10. 3/3 generate-cmdlist: avoid non-deterministic outputJonathan Nieder, Nov 21, 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.