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

[PATCH 0/2] Revert "progress: use term_clear_line()"

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
Sep 16, 2019, 20:54 UTC
Message-ID
<20190916205412.8602-1-szeder.dev@gmail.com>
In-Reply-To
<20190822162907.GA17013@sigill.intra.peff.net>
On Thu, Aug 22, 2019 at 12:29:08PM -0400, Jeff King wrote:
Show 20 quoted lines
> On Thu, Aug 22, 2019 at 06:07:02PM +0200, SZEDER Gábor wrote:
> 
> > On Thu, Aug 22, 2019 at 10:20:08AM -0400, Charles Diza wrote:
> > > By 2.22.1 at the latest (and continuing into 2.23.0) there is a
> > > problem with the display of progress indication during `git pull`
> > > (and possibly other commands, I don't know).
> > > 
> > > I'm on macOS, and this happens in both Terminal.app and iTerm2.app,
> > > on both macOS 10.13.6 and 10.14.6:  In a standard 80-column wide
> > > terminal window, cd into a git repo and do `git pull`.  The chances
> > > are high (though not 100%) that one will see this:
> > 
> > I noticed this today when pushing to GitHub (I suppose they have very
> > recently upgraded?) from Linux, so this is neither specific to 'git
> > pull' nor to macOS.
> > 
> > I'm sure the culprits are commits cd1096b282 (pager: add a helper
> > function to clear the last line in the terminal, 2019-06-24) and
> > 5b12e3123b (progress: use term_clear_line(), 2019-06-24) with the
> > added complication of communicating with a remote.
> > I'm not sure how to handle the situation.  A few ideas to consider:
Show 12 quoted lines
> >   4. Revert, and go back to calculating how many spaces we need to
> >      append to clear the previously displayed progress line, and hope
> >      that we don't mess it up (or even if we do, it still won't be as
> >      noticable as this).
> > 
> > I suppose this issue affects other git clients as well, so (1), (2),
> > and (3) might not even be an option.
> 
> Yes on that final bit. We could always fall back to (4) if the terminal
> information is not available, but given that the benefit is mostly in
> simplifying the code, I don't know if it's worth carrying around _two_
> solutions.

Ok, so here is a patch to revert 5b12e3123b (progress: use term_clear_line(), 2019-06-24) with proper explanation.

As a bonus there is a new test script exercising the progress display as well, in particular how it covers up the previous progress line, so we may have a bit more confidence in it.

SZEDER Gábor (2):
  Revert "progress: use term_clear_line()"
  Test the progress display
 Makefile                    |   1 +
 progress.c                  |  61 ++++++--
 t/helper/test-progress.c    |  81 ++++++++++
 t/helper/test-tool.c        |   1 +
 t/helper/test-tool.h        |   1 +
 t/t0500-progress-display.sh | 286 ++++++++++++++++++++++++++++++++++++
 t/t5541-http-push-smart.sh  |   6 +-
 7 files changed, 421 insertions(+), 16 deletions(-)
 create mode 100644 t/helper/test-progress.c
 create mode 100755 t/t0500-progress-display.sh
-- 
2.23.0.331.g4e51dcdf11
Previous: Taylor BlauNext: SZEDER Gábor
Message 7 of 11 in “v2.22.1 and later regression wrt display of progress indicators”
  1. Charles DizaAug 22, 2019
  2. SZEDER GáborAug 22, 2019
  3. Jeff KingAug 22, 2019
  4. SZEDER GáborAug 22, 2019
  5. Jeff KingAug 22, 2019
  6. Taylor BlauAug 22, 2019
  7. 0/2 Revert "progress: use term_clear_line()"SZEDER Gábor, Sep 16, 2019
  8. 1/2 Revert "progress: use term_clear_line()"SZEDER Gábor, Sep 16, 2019
  9. 2/2 Test the progress displaySZEDER Gábor, Sep 16, 2019
  10. Jeff KingOct 2, 2019
  11. Taylor BlauAug 22, 2019

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.