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

Re: [PATCH v3 3/3] ci: stop linking built-ins to the dashed versions

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Sep 8, 2020, 11:32 UTC
Message-ID
<nycvar.QRO.7.76.6.2009081332020.54@tvgsbejvaqbjf.bet>
In-Reply-To
<20200903104537.GA27325@szeder.dev>
Hi Gábor,
On Thu, 3 Sep 2020, SZEDER Gábor wrote:
Show 49 quoted lines
> On Wed, Aug 26, 2020 at 11:56:52AM +0000, Johannes Schindelin via GitGitGadget wrote:
> > From: Johannes Schindelin <johannes.schindelin@gmx.de>
> >
> > Originally, all of Git's subcommands were implemented in their own
> > executable/script, using the naming scheme `git-<command-name>`. When
> > more and more functionality was turned into built-in commands (i.e. the
> > `git` executable could run them without spawning a separate process),
> > for backwards-compatibility, we hard-link the `git` executable to
> > `git-<built-in>` for every built-in.
> >
> > This backwards-compatibility was needed to support scripts that called
> > the dashed form, even if we deprecated that a _long_ time ago.
> >
> > For that reason, we just introduced a Makefile knob to skip linking
> > them. To make sure that this keeps working, teach the CI
> > (and PR) builds to skip generating those hard-links.
> >
> > This is actually not such a big change: e4597aae6590 (run test suite
> > without dashed git-commands in PATH, 2009-12-02) made sure that our test
> > suite does not require dashed commands. With this Makefile knob, the
> > commitment is just a little stronger (running tests with `--with-dashes`
> > would _still_ not see the dashed form of the built-ins).
> >
> > There is a subtle change in behavior with this patch, though: as we no
> > longer even _build_ the dashed executables, running the test suite would
> > fail if any of Git's scripted commands (e.g. `git-request-pull`) still
> > This would have succeeded previously (and would have been unintentional,
> > of course) because `bin-wrappers/git` sets `GIT_EXEC_PATH` to the
> > top-level directory (which would still have contained, say,
> > `git-rev-parse`).
> >
> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> > ---
> >  ci/run-build-and-tests.sh | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh
> > index 6c27b886b8..1df9402c3b 100755
> > --- a/ci/run-build-and-tests.sh
> > +++ b/ci/run-build-and-tests.sh
> > @@ -10,7 +10,7 @@ windows*) cmd //c mklink //j t\\.prove "$(cygpath -aw "$cache_dir/.prove")";;
> >  *) ln -s "$cache_dir/.prove" t/.prove;;
> >  esac
> >
> > -make
> > +make SKIP_DASHED_BUILT_INS=YesPlease
>
> Please make sure that this Makefile knob is set in all jobs building
> and testing Git, or justify in the commit message why it isn't.

The intention was to set it in all jobs (but the jury, AKA Junio, is still out on that). Did I not do that?

Ciao, Dscho

Show 7 quoted lines
>
> >  case "$jobname" in
> >  linux-gcc)
> >  	make test
> > --
> > gitgitgadget
>
Previous: SZEDER GáborNext: Junio C Hamano
Message 41 of 50 in “Optionally skip linking/copying the built-ins”
  1. 0/3 Optionally skip linking/copying the built-insJohannes Schindelin, Aug 17, 2020
  2. 2/3 Optionally skip linking/copying the built-insJohannes Schindelin, Aug 17, 2020
  3. Junio C HamanoAug 17, 2020
  4. Johannes SchindelinAug 24, 2020
  5. 1/3 msvc: copy the correct `.pdb` files in the Makefile target `install`Johannes Schindelin, Aug 17, 2020
  6. Jeff KingAug 17, 2020
  7. Johannes SchindelinAug 17, 2020
  8. Jeff KingAug 17, 2020
  9. Johannes SchindelinAug 18, 2020
  10. 3/3 ci: stop linking built-ins to the dashed versionsJohannes Schindelin, Aug 17, 2020
  11. Junio C HamanoAug 17, 2020
  12. Johannes SchindelinAug 17, 2020
  13. Junio C HamanoAug 17, 2020
  14. Johannes SchindelinAug 24, 2020
  15. Junio C HamanoAug 24, 2020
  16. Johannes SchindelinAug 25, 2020
  17. Junio C HamanoAug 25, 2020
  18. 0/3 Optionally skip linking/copying the built-insJohannes Schindelin via GitGitGadget, Aug 24, 2020
  19. 2/3 Optionally skip linking/copying the built-insJohannes Schindelin via GitGitGadget, Aug 24, 2020
  20. Junio C HamanoAug 24, 2020
  21. Johannes SchindelinAug 25, 2020
  22. 3/3 ci: stop linking built-ins to the dashed versionsJohannes Schindelin via GitGitGadget, Aug 24, 2020
  23. Junio C HamanoAug 24, 2020
  24. Johannes SchindelinAug 25, 2020
  25. SZEDER GáborAug 25, 2020
  26. Junio C HamanoAug 25, 2020
  27. Johannes SchindelinAug 26, 2020
  28. Junio C HamanoAug 26, 2020
  29. Junio C HamanoAug 26, 2020
  30. Johannes SchindelinSep 2, 2020
  31. Junio C HamanoSep 2, 2020
  32. SZEDER GáborAug 27, 2020
  33. 1/3 msvc: copy the correct `.pdb` files in the Makefile target `install`Johannes Schindelin via GitGitGadget, Aug 24, 2020
  34. Junio C HamanoAug 24, 2020
  35. Jeff KingAug 24, 2020
  36. Junio C HamanoAug 24, 2020
  37. 0/3 Optionally skip linking/copying the built-insJohannes Schindelin via GitGitGadget, Aug 26, 2020
  38. 1/3 msvc: copy the correct `.pdb` files in the Makefile target `install`Johannes Schindelin via GitGitGadget, Aug 26, 2020
  39. 3/3 ci: stop linking built-ins to the dashed versionsJohannes Schindelin via GitGitGadget, Aug 26, 2020
  40. SZEDER GáborSep 3, 2020
  41. Johannes SchindelinSep 8, 2020
  42. Junio C HamanoSep 8, 2020
  43. SZEDER GáborSep 8, 2020
  44. 2/3 Optionally skip linking/copying the built-insJohannes Schindelin via GitGitGadget, Aug 26, 2020
  45. Junio C HamanoAug 26, 2020
  46. 0/3 Optionally skip linking/copying the built-insJohannes Schindelin via GitGitGadget, Sep 21, 2020
  47. 1/3 msvc: copy the correct `.pdb` files in the Makefile target `install`Johannes Schindelin via GitGitGadget, Sep 21, 2020
  48. 3/3 ci: stop linking built-ins to the dashed versionsJohannes Schindelin via GitGitGadget, Sep 21, 2020
  49. Junio C HamanoSep 21, 2020
  50. 2/3 Optionally skip linking/copying the built-insJohannes Schindelin via GitGitGadget, Sep 21, 2020

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.