From: Johannes Schindelin Date: Tue, 25 Sep 2007 10:25:37 GMT Subject: Re: [PATCH] Use "" instead of "" for placeholders Message-ID: In-Reply-To: <20070925094320.GN22869@mageo.cz> Hi, On Tue, 25 Sep 2007, Michal Vitecek wrote: > Hello again, > > Michal Vitecek wrote: > > Junio C Hamano wrote: > >>>>>>> I made it because I want to use my own pretty format which currently > >>>>>>> only allows '%s' for subject and '%b' for body. But '%b' is > >>>>>>> substituted with if the body is "missing" which I > >>>>>>> obviously don't like :) > >>>>>> Then you should fix %b not to show "". > >>>>> I'll do it if it is okay. Shall I do the same for the other > >>>>> placeholders as well? > >>>> Yeah. Don't know why I did it that way. > >>> Here comes the big patch :) > >> Now, this breaks t6006 which needs this patch. > > > > Oops - I'm sorry about that. I ran the test suite (1.5.3.1) but it failed > > in 2 tests before the patch and in 2 tests after it so I considered it > > okay. > > > >> Looking at this patch, I am not sure if your change is really a > >> desirable one --- shouldn't it be removing the line itself, not > >> just token? > > > > This sounds as the best solution. I'll look into it. Thanks for your time. > > Here comes the patch. I hope it will be ok this time :) Thanks. > > Don't use "" for unknown values of placeholders and suppress > printing of empty user formats. > > --- Please move the discussion which should not be in the commit message _after_ the "---". > diff --git a/builtin-rev-list.c b/builtin-rev-list.c > index 3894633..1de981d 100644 > --- a/builtin-rev-list.c > +++ b/builtin-rev-list.c > @@ -85,7 +85,8 @@ static void show_commit(struct commit *commit) > pretty_print_commit(revs.commit_format, commit, ~0, > &buf, &buflen, > revs.abbrev, NULL, NULL, revs.date_mode); > - printf("%s%c", buf, hdr_termination); > + if (strlen(buf)) > + printf("%s%c", buf, hdr_termination); We use tabs for indentation, not spaces. Also, instead of the expensive "strlen(buf)", you rather want to check "if (*buf)". > diff --git a/log-tree.c b/log-tree.c > index a642371..5653332 100644 > --- a/log-tree.c > +++ b/log-tree.c > @@ -298,7 +299,8 @@ void show_log(struct rev_info *opt, const char *sep) > if (opt->show_log_size) > printf("log size %i\n", len); > > - printf("%s%s%s", msgbuf, extra, sep); > + if (strlen(msgbuf)) > + printf("%s%s%s", msgbuf, extra, sep); Again, "if (*msgbuf)" is way more efficient. Ciao, Dscho