From: Andreas Ericsson Date: Wed, 01 Nov 2006 08:25:51 GMT Subject: Re: [PATCH] Documentation: Update information about in git-for-each-ref Message-ID: <45485A0F.3040807@op5.se> In-Reply-To: <200610282323.57797.jnareb@gmail.com> Jakub Narebski wrote: > Junio C Hamano wrote: >> [PATCH] for-each-ref: epoch and epochdate >> >> This adds "epoch" (which is parallel to "tagger" or "committer") >> and "epochdate" (corresponds to "taggerdate" and >> "committerdate"). >> >> As other "date" fields, "epochdate" sorts numerically >> and displays human readably > > I was thinking about having only "epochdate" (corresponding to either > "taggerdate" or "committerdate"), only named "epoch". There is I think > no need for field which would be "tagger" or "committer", and > especially not named "epoch" ;-). > > Otherwise looks fine, thanks a lot. > > > BTW. I had to translate > + if (strcmp(who, "tagger") && strcmp(who, "committer")) > to > + if (strcmp(who, "tagger") == 0 || strcmp(who, "committer") == 0) > to understand it. But this is probably my lack of contact with such > C idioms. But this does the exact opposite. The condition will now be true if the 'who' variable holds a pointer to a string that is either "tagger" or "committer", whereas it used to be true for strings that were anything *but* any of those. "Compare" (as in "strcmp") also translates to "are equal to" and isn't only a verb. This is unfortunate for people who aren't natively english and has had me confused on many a long night. I once ended up doing a macro called "string_matches" just to wrap my head around an insanely long conditional with too many strcmp() with about half of them negated by !. -- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se