Jeff King wrote:
> On Thu, Mar 21, 2013 at 08:21:30AM -0400, Jeff King wrote:
>
>> On Thu, Mar 21, 2013 at 05:29:39PM +0530, Ramkumar Ramachandra wrote:
>>
>> > > This must be a trick question but the naïve way I think of is
>> > >
>> > > git log --diff-filter=A -- path1 path2
>> >
>> > Thanks, I didn't know about --diff-filter. I'll need one extra step
>> > to figure out which commit corresponds to the introduction of which
>> > file, no?
>>
>> Maybe
>>
>> git log --format=%H --name-status --diff-filter=A -- path1 path2 |
>> perl -lne '
>> if (/[0-9a-f]{40}/) { $commit = $& }
>> elsif (/^A\t(.*)/) { $h{$1} = $commit }
>> END { print "$h{$_} $_" for keys(%h) }
>> '
>
> Actually, I only looked at your question, not the original point, which
> was not which commit was which, but which one was older. If you just
> want to know which is older, then just:
>
> git log --format=%H --name-status --diff-filter=A -- path1 path2 |
> grep ^A |
> tail -1
Great! I just learnt about --name-status now.
Nit: tail -<n> is deprecated in favor of tail -n <n>, I think. It's
nicer to have definite fixed command line options, as opposed to
parsing an arbitrary -(*) and deciding if \1 is a \d+.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html