Subject: Correcting timestamps when importing archives to git

From: David Greaves <[email-masked]>
Date: Tue, 26 Feb 2008 11:45:08 +0000

Hi

I recently converted a set of patches to a git repository.

In order to use the correct timestamps my script used a 'faketime' solution I
found here:
  http://www.code-wizards.com/projects/libfaketime/

I used a perl subroutine that takes a time (obtained by stat()ing the original
patch or looking in logs) and then the normal 'system()' args.

sub faketime_system {
    my $time=shift;

$ENV{"LD_PRELOAD"}="/everything/devel/faketime/libfaketime-0.6/libfaketime.so.1";
    $ENV{"FAKETIME_FMT"}='%s';
    $ENV{'FAKETIME'}=$time;
    system @_;
    $ENV{"LD_PRELOAD"}="";
}

so:
	$time=(stat("$tarfile"))[9];
	faketime_system ($time, "tar xfj $tarfile");

or:
    $time=(stat("$patchfile"))[9];
    faketime_system ($time, "zcat $patchfile | patch -f -p1");
    faketime_system ($time, "git add .");

HTH someone else...

David