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

Re: [PATCH v2 0/3] some unit-test Makefile polishing

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Feb 2, 2024, 23:52 UTC
Message-ID
<b7b92f1a-9231-2f53-299e-ad58fc699284@gmx.de>
In-Reply-To
<xmqqh6irwtkd.fsf@gitster.g>
Hi Junio,
On Thu, 1 Feb 2024, Junio C Hamano wrote:
Show 8 quoted lines
> https://github.com/git/git/actions/runs/7748054008 is a run of 'next'
> that is broken.
>
> https://github.com/git/git/actions/runs/7748547579 is a run of 'seen~1'
> with this topic reverted (the ps/reftable-backend topic is excluded),
> which seems to pass.
>
> Does it ring a bell, anybody?

Yes, it does ring a clear bell over here. https://github.com/git/git/actions/runs/7748054008/job/21130098985#step:5:81 points to the culprit:

    fatal: not a git repository (or any of the parent directories): .git
    make: *** [../config.mak.uname:753: vcxproj] Error 128

The line 753 of that file (as can be seen at https://github.com/git/git/blob/38aa6559b0c513d755d6d5ccf32414ed63754726/config.mak.uname#L753) is the first statement of the `vcxproj` target, executing `update-refresh`:

    vcxproj:
        # Require clean work tree
        git update-index -q --refresh && \
        git diff-files --quiet && \
        git diff-index --cached --quiet HEAD --
        [...]

This means that `vcxproj` is executed. And the explanation is in https://github.com/git/git/actions/runs/7748054008/job/21130098985#step:5:78, which runs `make --quiet -C t 'T=<long-list-of-files>'`, crucially _without_ specifying any Makefile rule, and the `vcxproj` rule happens to be the first one that is defined on Windows, so it's used by default.

One workaround would be to remove the `vcxproj` rule (which by now has been safely superseded by the CMake support we have in `contrib/buildsystems/`).

But the safer way would be to insert these two lines at the beginning of `t/Makefile` (cargo-culted from the top-level `Makefile`):

    # The default target of this Makefile is...
    all::

Ciao, Johannes

Previous: Junio C HamanoNext: Junio C Hamano
Message 22 of 24 in “some unit-test Makefile polishing”
  1. 0/2 some unit-test Makefile polishingJeff King, Jan 29, 2024
  2. 1/2 Makefile: use order-only prereq for UNIT_TEST_BINJeff King, Jan 29, 2024
  3. SZEDER GáborJan 29, 2024
  4. Junio C HamanoJan 29, 2024
  5. Jeff KingJan 30, 2024
  6. 2/2 t/Makefile: get UNIT_TESTS list from C sourcesJeff King, Jan 29, 2024
  7. Patrick SteinhardtJan 29, 2024
  8. Jeff KingJan 29, 2024
  9. Adam DinwoodieJan 29, 2024
  10. Junio C HamanoJan 30, 2024
  11. Jeff KingJan 30, 2024
  12. Adam DinwoodieJan 31, 2024
  13. Jeff KingJan 30, 2024
  14. Junio C HamanoJan 29, 2024
  15. 0/3 some unit-test Makefile polishingJeff King, Jan 30, 2024
  16. 1/3 Makefile: use mkdir_p_parent_template for UNIT_TEST_BINJeff King, Jan 30, 2024
  17. 2/3 Makefile: remove UNIT_TEST_BIN directory with "make clean"Jeff King, Jan 30, 2024
  18. 3/3 t/Makefile: get UNIT_TESTS list from C sourcesJeff King, Jan 30, 2024
  19. Junio C HamanoJan 31, 2024
  20. Phillip WoodFeb 1, 2024
  21. Junio C HamanoFeb 2, 2024
  22. Johannes SchindelinFeb 2, 2024
  23. Junio C HamanoFeb 3, 2024
  24. Jeff KingFeb 4, 2024

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.