From: Junio C Hamano <gitster@pobox.com>
To: "René Scharfe" <l.s.r@web.de>
Cc: Chris Torek <chris.torek@gmail.com>,
Hugo Osvaldo Barrera <hugo@whynothugo.nl>,
git@vger.kernel.org
Subject: Re: [PATCH] sideband: clear full line when printing remote messages
Date: Mon, 11 May 2026 08:30:26 +0900 [thread overview]
Message-ID: <xmqqzf26971p.fsf@gitster.g> (raw)
In-Reply-To: <9826dabf-c9a6-4397-8ae6-a24f9c507f1b@web.de> ("René Scharfe"'s message of "Sun, 10 May 2026 14:42:04 +0200")
René Scharfe <l.s.r@web.de> writes:
> demultiplex_sideband() can write its remote output over active local
> progress lines. That's why it has been using ANSI code Erase in Line on
> smart terminals to clear the remainder of lines it writes since
> ebe8fa738d (fix display overlap between remote and local progress,
> 2007-11-04).
>
> This erases the last character of remote lines that span the full width
> of the terminal, though, as the cursor is stuck at the rightmost column
> for them. It's the same effect as in the following command, which
> clears the 1 and shows just the leading zeros:
>
> $ EL="\033[K"
> $ printf "%0${COLUMNS}d${EL}\n" 1
>
> If we move the ANSI code to the start we get to see the 1 as well:
>
> $ printf "${EL}%0${COLUMNS}d\n" 1
>
> So do the same in demultiplex_sideband() and emit the ANSI code as a
> prefix instead of a suffix to show messages in full even if they happen
> to fill the whole width of a smart terminal.
Makes sense. The final objective is to make sure that leftover
letters near the end of line printed by previous "print" would not
remain after the material we are printing, so it does not matter if
we print and then erase the remainder or we erase the whole line and
print. And the latter is an obvious way to make it easier to reason
about in the presense of funkiness in the ways terminals behave
around the end of line.
next prev parent reply other threads:[~2026-05-10 23:30 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-04 17:01 Git trims the last character of content from remotes Hugo Osvaldo Barrera
2026-05-05 0:34 ` Chris Torek
2026-05-05 19:41 ` René Scharfe
2026-05-06 9:37 ` Mikael Magnusson
2026-05-06 9:40 ` Mikael Magnusson
2026-05-06 16:00 ` René Scharfe
2026-05-10 12:42 ` [PATCH] sideband: clear full line when printing remote messages René Scharfe
2026-05-10 23:30 ` Junio C Hamano [this message]
2026-05-05 9:38 ` Git trims the last character of content from remotes Mikael Magnusson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqzf26971p.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=chris.torek@gmail.com \
--cc=git@vger.kernel.org \
--cc=hugo@whynothugo.nl \
--cc=l.s.r@web.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox