On Tue, 29 Mar 2011 22:13:13 +0200 René Scharfe <rene.scharfe@xxxxxxxxxxxxxx> wrote: > Am 29.03.2011 12:10, schrieb Antonio Ospite: > > Hi, > > > > in some cases, on git-pack-objects failure, there is a small defect in > > the output, see: > > > > # git gc --aggressive > > Counting objects: 1954118, done. > > Delta compression using up to 2 threads. > > warning: suboptimal pack - out of memory02) > > Compressing objects: 100% (1936802/1936802), done. > > Writing objects: 100% (1954118/1954118), done. > > Total 1954118 (delta 1618716), reused 0 (delta 0) > > > > The defect is here: > > warning: suboptimal pack - out of memory02) > > ^^^ > > the trailing chars are from the replaced line which was ending in > > 1936802) > > > > AFAICS this is basically what is happening: > > #include "git-compat-util.h" > > fprintf(stderr, "Compressing objects: 15% (296661/1936802)\r"); > > warning("suboptimal pack - out of memory"); > > > > I can think to a dumb workaround for this particular path but maybe > > there are other places when this can happen as well. > > The following patch should avoid it by clearing the the rest of the > line after warnings, error messages, usage notes etc. if stderr is a > terminal. > Cool, this is working indeed on the terminal, I don't know if introducing a CLEARLINE macro would look prettier. Thanks René. Regards, Antonio > René > > --- > usage.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/usage.c b/usage.c > index b5e67e3..36f1968 100644 > --- a/usage.c > +++ b/usage.c > @@ -9,7 +9,7 @@ void vreportf(const char *prefix, const char *err, va_list params) > { > char msg[4096]; > vsnprintf(msg, sizeof(msg), err, params); > - fprintf(stderr, "%s%s\n", prefix, msg); > + fprintf(stderr, "%s%s%s\n", prefix, msg, isatty(2) ? "\033[K" : ""); > } > > static NORETURN void usage_builtin(const char *err, va_list params) > > -- Antonio Ospite http://ao2.it PGP public key ID: 0x4553B001 A: Because it messes up the order in which people normally read text. See http://en.wikipedia.org/wiki/Posting_style Q: Why is top-posting such a bad thing?
Attachment:
pgpJpP3zujAVn.pgp
Description: PGP signature