Subject: Re: [PATCH v2 4/4] sideband: add options to allow more control sequences to be passed through

From: Junio C Hamano <[email-masked]>
Date: Wed, 04 Feb 2026 11:35:16 -0800

Junio C Hamano <[email-masked]> writes:

> diff --git a/t/t5409-colorize-remote-messages.sh b/t/t5409-colorize-remote-messages.sh
> index 1d039cbdaf..47bc8bbef2 100755
> --- a/t/t5409-colorize-remote-messages.sh
> +++ b/t/t5409-colorize-remote-messages.sh
> @@ -107,7 +107,8 @@ test_expect_success 'disallow (color) control sequences in sideband' '
>  	test_config_global uploadPack.packObjectsHook ./color-me-surprised &&
>  	test_commit need-at-least-one-commit &&
>  
> -	git clone --no-local . throw-away 2>stderr &&
> +	git -c sideband.allowControlCharacters=color \
> +		clone --no-local . throw-away 2>stderr &&
>  	test_decode_color <stderr >decoded &&
>  	test_grep RED decoded &&
>  	test_grep "\\^G" stderr &&

While I was mucking with this part of the test, this test piece
reminded me that I myself often use a control sequence

    ESC ] 0; <my string> BEL

in a time-consuming program to say which step of the whole thing it
is currently running.

This sequence updates the terminal's title, so in one of my terminal
tab, I start such a time-consuming program, switch to another tab
that is showing another terminal, and let it run.  It will report me
its progress by changing the terminal's title every once in a while.

I would not frown at people who want to do the same over the network
between the servers they control and their desktop client.  Even
though the server is not friendly to those who do not run terminal
that support such a control sequence, that is strictly between the
server and the end-user who talks with the server.

And neutering BEL of course will break such a user, unless the user
says "ok, if I need to pass everything in order to pass BEL, then so
be it".  That is a bit sad.