Dominik Vogt <v...@linux.vnet.ibm.com> writes:

> The second best approach I could think of is to stamp files with the
> timestamp of the last commit that touched that, but I guess that is
> not a cheap operation either.

I'm using this script for this:

#!/bin/sh
git log --name-only --format=format:%n%ct -- "$@" |
perl -e 'my $do_date = 0; chomp(my $cdup = `git rev-parse --show-cdup`);
    while (<>) {
        chomp;
        if ($do_date) {
            next if ($_ eq "");
            die "Unexpected $_\n" unless /^[0-9]+$/;
            $d = $_;
            $do_date = 0;
        } elsif ($_ eq "") {
            $do_date = 1;
        } elsif (!defined($seen{$_})) {
            $seen{$_} = 1;
            utime $d, $d, "$cdup$_";
        }
    }'

Andreas.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to