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

win-test: unknown terminal "xterm-256color", was Re: [RFC PATCH 6/6] ls-tree: introduce '--pattern' option

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Mar 27, 2023, 10:37 UTC
Message-ID
<d566eb68-6476-a193-2acb-10106a154d3d@gmx.de>
In-Reply-To
<xmqqtu20qinx.fsf@gitster.g>
Hi Junio
On Tue, 13 Dec 2022, Junio C Hamano wrote:
Show 20 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> > The hard-coded object IDs break the `linux-sha256` job, as pointed out in
> > https://github.com/git/git/blob/6ab7651d8669/whats-cooking.txt#L522-L537.
> >
> > Please squash this in to address this (Junio, please feel free to
> > cherry-pick this on top of `tl/ls-tree--pattern` to reduce the number of
> > CI failures):
>
> These days, I gather topics with known CI breakages near the tip of
> 'seen', and push out only the good bottom half of 'seen' until such
> a topic gets rerolled, at which time it gets added back to the set
> of topics pushed out on 'seen' again (and then ejected if it CI
> breaks).  I excluded the part with the topic from last night's
> pushout.
>
> By the way do you know anything about xterm-256color error in win
> test(6)?
>
> https://github.com/git/git/actions/runs/3676139624/jobs/6216575838#step:5:196

Unfortunately by the time I got back to this mail, the log had expired. Here is a link to the same symptom in a newer build:

https://github.com/git/git/actions/runs/4523517641/jobs/7966768829#step:6:63
Show 5 quoted lines
> I do not think we hard-code any specific terminal name (other than
> dumb and possibly vt100) in our tests or binaries, so it may be
> coming from the CI runner environment---some parts incorrectly think
> xterm-256color is available there while there is no support for the
> particular terminal?

The TERM is hard-coded in the MSYS2 runtime: https://github.com/git-for-windows/msys2-runtime/commit/bd627864ab4189984cdb0892c00f91e39c4e8243

Note: The MSYS2 runtime merely wants to ensure that `TERM` is set; If it
already has a value, that value remains unchanged.

And to save on bandwidth/time (in a desperate attempt to counter the ever-growing runtimes of Git's CI builds), I liberally exclude files from the "minimal subset of Git for Windows' SDK", e.g. `/usr/lib/terminfo/` and `/usr/share/terminfo/`. That's why `tput` cannot figure out what to do with this `TERM` value.

If these `tput` errors become too much of a sore in your eye, I see two ways forward:

- Set `TERM=dumb` for the Windows jobs
- Use a simple shim like this one in `ci/` (and maybe even in
  `t/test-lib.sh`):
  tput() {
  	printf '\e[%sm%s'"$(test sgr0 != $1 || echo '\x0f')" "$( \
		case $1 in
		bold) echo 1;;
		dim) echo 2;;
		rev) echo 7;;
		setaf) echo 3$2;;
		setab) echo 4$2;;
		esac \
	)"
  }

Personally, I do not really want to work on this, not before much bigger fish are fed first. For example, the friction regarding the CI build times is becoming quite crushing.

Ciao, Johannes

Previous: Junio C HamanoNext: Junio C Hamano
Message 17 of 34 in “ls-tree: introduce '--pattern' option”
  1. 0/6 ls-tree: introduce '--pattern' optionTeng Long, Nov 17, 2022
  2. 1/6 ls-tree: cleanup the redundant SPACETeng Long, Nov 17, 2022
  3. 2/6 t3104: remove shift code in 'test_ls_tree_format'Teng Long, Nov 17, 2022
  4. 3/6 ls-tree: optimize params of 'show_tree_common_default_long()'Teng Long, Nov 17, 2022
  5. 4/6 ls-tree: improving cohension in the print codeTeng Long, Nov 17, 2022
  6. Ævar Arnfjörð BjarmasonNov 17, 2022
  7. 5/6 ls-tree: introduce 'match_pattern()' functionTeng Long, Nov 17, 2022
  8. Ævar Arnfjörð BjarmasonNov 17, 2022
  9. Ævar Arnfjörð BjarmasonNov 30, 2022
  10. 6/6 ls-tree: introduce '--pattern' optionTeng Long, Nov 17, 2022
  11. Ævar Arnfjörð BjarmasonNov 17, 2022
  12. Johannes SchindelinDec 12, 2022
  13. Junio C HamanoDec 12, 2022
  14. Junio C HamanoDec 14, 2022
  15. Ævar Arnfjörð BjarmasonDec 14, 2022
  16. Junio C HamanoDec 14, 2022
  17. win-test: unknown terminal "xterm-256color", was Re: [RFC PATCH 6/6] ls-tree: introduce '--pattern' optionJohannes Schindelin, Mar 27, 2023
  18. Junio C HamanoMar 27, 2023
  19. Jeff KingMar 28, 2023
  20. Junio C HamanoMar 28, 2023
  21. Jeff KingMar 28, 2023
  22. Jeff KingMar 28, 2023
  23. Junio C HamanoMar 28, 2023
  24. Ævar Arnfjörð BjarmasonNov 17, 2022
  25. Taylor BlauNov 17, 2022
  26. Teng LongNov 21, 2022
  27. Ævar Arnfjörð BjarmasonNov 21, 2022
  28. 0/4 ls-tree: pass state in struct, not globalsÆvar Arnfjörð Bjarmason, Nov 17, 2022
  29. 1/4 ls-tree: don't use "show_tree_data" for "fast" callbacksÆvar Arnfjörð Bjarmason, Nov 17, 2022
  30. 1/4 ls-tree: don't use "show_tree_data" for "fast" callbacksTeng Long, Dec 21, 2022
  31. 3/4 ls-tree: fold "show_tree_data" into "cb" structÆvar Arnfjörð Bjarmason, Nov 17, 2022
  32. 2/4 ls-tree: use a "struct options"Ævar Arnfjörð Bjarmason, Nov 17, 2022
  33. 4/4 ls-tree: make "line_termination" less genericÆvar Arnfjörð Bjarmason, Nov 17, 2022
  34. 0/4 ls-tree: pass state in struct, not globalsTeng Long, Nov 21, 2022

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.