Subject: Re: [PATCH 1/1] commit-graph: fix bug around octopus merges

From: SZEDER Gábor <[email-masked]>
Date: Tue, 6 Aug 2019 17:19:49 +0200

On Tue, Aug 06, 2019 at 08:03:07AM -0400, Derrick Stolee wrote:
> > On the other hand, one of my fun side-projects is to run some
> > semi-automated and souped-up CI builds of currently cooking topics,
> > which include a custom GETTEXT_POISON mode [1], where the poisoned
> > translated progress output in this new test looks like this [2]:
> > 
> >   V.e.r.i.f.y.i.n.g. .c.o.m.m.i.t.s. .i.n. .c.o.m.m.i.t. .g.r.a.p.h.: 100% (1/1),  d.o.n.e..
> >   V.e.r.i.f.y.i.n.g. .c.o.m.m.i.t.s. .i.n. .c.o.m.m.i.t. .g.r.a.p.h.: 100% (5/5),  d.o.n.e..
> >   V.e.r.i.f.y.i.n.g. .c.o.m.m.i.t.s. .i.n. .c.o.m.m.i.t. .g.r.a.p.h.:
> >     100% (12/12),  d.o.n.e..
> > 
> > So this makes the progress lines almost twice as long, and as the last
> > commit-graph file contains double-digit commits, the length of the
> > progress line just happens to exceed the width of a 80 character
> > terminal, and gets line wrapped.  This throws off the line count
> > check, as there are now 4 lines on standard error instead of the
> > expected 3.
> 
> Thanks for pointing out that the poison runs can change the number of lines.

Hm, I'm afraid I was not clear enough, so let me clarify.

A "regular" GIT_TEST_GETTEXT_POISON=1 test run does not change the
number of lines.  After it replaces the translated string with the '#
GETTEXT POISON #' magic, the progress output will look like this:

  # GETTEXT POISON #:  41% (5/12)

This will never grow long enough to trigger a line break.

It's just one of my fun experiments [1] that makes translated strings
twice as long, and thus triggers that line break.

[1] https://github.com/szeder/git gettext-poison-scrambled-msg