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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 2, 2020, 20:50 UTC
Message-ID
<xmqqwo1baop3.fsf@gitster.c.googlers.com>
In-Reply-To
<nycvar.QRO.7.76.6.2009020902080.56@tvgsbejvaqbjf.bet>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> What this patch does is simply to complete the mission of e4597aae6590
> (run test suite without dashed git-commands in PATH, 2009-12-02): to make
> sure that our very own scripts do not use dashed invocations of built-in
> commands.

OK, then I totally misread the proposed log message, or the proposed log message didn't adequately describe what it was trying to solve.

With e4597aae (run test suite without dashed git-commands in PATH, 2009-12-02), we should not need git-foo in bin-wrappers/ for most of git subcommands, as long as our tests and scripted porcelains the test invokes never use the dashed form. And with this step, we come closer to that goal?

"git checkout next && make test" does not seem to populate anything extra in bin-wrappers but bare minimum that needs due to the protocol requirements, though, without this patch, so the above may not be the whole story.

Apparently, the patch does not achieve this goal.
    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.

because what matters to tests, when run without with-dash, which is the sensible modern default, is what is in bin-wrappers/ and we do not populate it with builtin git-add... at all even before this step. In other words, this change has no way to make sure "skip linking them" will keep working more than what we already have.

Rather,
    Since e4597aae6590, we stopped running our tests with "git-foo"
    binaries found at the top-level of a freshly built source tree;
    instead we have placed only "git" and selected "git-foo"
    commands that must be on $PATH in bin-wrappers/ and they were
    what used by the tests.  This is to catch the tests and scripted
    Porcelains that are tested will get caught if they try to use
    the dashed form.
    Since CI jobs will not install the built Git to anywhere, and
    the links we make at the top-level of the source tree for
    "git-add" and friends are not even used during tests, they are
    pure waste of resources these days.
    Thanks to the newly invented SKIP_DASHED_BUILT_INS knob, we can
    now skip creating these links in the source tree.  Do so.
or something along the line, perhaps.
Thanks.
Previous: Johannes SchindelinNext: SZEDER Gábor
Message 31 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.