Skip to content

Fix "built from commit" logic

Johannes Schindelin via GitGitGadget git 2 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest1 patch 0 repliesNew
  2. v11 patch 8 repliesSuperseded

Changes in v2 from the cover letter

- the commit message now sports an explanatory paragraph, copy-edited from Peff's reply.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/1Makefile: fix the "built from commit" codeMakefile+3 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/1] Fix "built from commit" logic

When I tried recently to build macOS installers via Tim Harper's wonderful project at https://github.com/timcharper/git_osx_installer, it worked (with a couple of quirks), but it reported to be built from a commit that I first could not place.

Turns out that the git_osx_installer project insists on building Git from a .tar.gz file (even if I have the source code right here, in a perfectly fine worktree). And due to a bug in the logic I introduced, it did not stop looking for a Git repository where it should have stopped. The end effect is that git version --build-options reports being built from git_osx_installer's HEAD.

This commit fixes that, and also suppresses the error when no repository could be found.

Changes since v1:

- the commit message now sports an explanatory paragraph, copy-edited from Peff's reply.

Johannes Schindelin (1):
Makefile: fix the "built from commit" code

 Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

base-commit: e3331758f12da22f4103eec7efe1b5304a9be5e9
Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-7%2Fdscho%2Ffix-build-options-commit-info-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-7/dscho/fix-build-options-commit-info-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/7

Range-diff vs v1:

1: e0e41d0b8 ! 1: aca087479 Makefile: fix the "built from commit" code
@@ -15,6 +15,11 @@
Except that we got the quoting wrong, and that variable therefore does not have the desired effect.

+ The issue is that the $(shell) is resolved before the output is stuffed
+ into the command-line with -DGIT_BUILT_FROM_COMMIT, and therefore is
+ *not* inside quotes. And thus backslashing the quotes is wrong, as the
+ quote gets literally inserted into the CEILING_DIRECTORIES variable.
+
Let's fix that quoting, and while at it, also suppress the unhelpful message

Signature · 1 line
gitgitgadget