Re: Minor cosmetic defect in git-pack-objects output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]