From: Daniel Date: Tue, 20 Oct 2009 09:35:35 GMT Subject: Re: Which dates 'git log --since= --after=' compare? Message-ID: <16ee5f3.236584ce.4add8467.a19be@o2.pl> In-Reply-To: <20091020083703.GA14740@coredump.intra.peff.net> Jeff King wrote: > On Mon, Oct 19, 2009 at 12:01:49PM +0200, Daniel wrote: > > > I can see that 'git log --since= --after=' compares commit's dates, > > not author's dates.How can I limit commits by Author's date? > > AFAIK, there is currently no way to do it with a simple option. In fact, > we don't even parse the author date when doing revision limiting. > > So it would need a patch, but the "obvious" solution of just parsing and > storing the author date in a "struct commit" might not be acceptable; as > I recall, some performance tuning went into keeping the per-commit > memory footprint as small as possible, which had a noticeable speed > benefit (I'm not saying it couldn't be done, but care needs to be taken > in that regard). > > If it's not something you need to do often, I'd consider something like: > > git log --format='%H %at' | > perl -ane ' > BEGIN { > use DateTime::Format::Natural; > $max_age = DateTime::Format::Natural->new->parse_datetime( > "last friday" > )->epoch; > } > print $F[0], "\n" if $F[1] < $max_age; > ' > > Of course that's awful to type, and it will be much slower than git > doing the revision limiting itself. > > -Peff Thanks.