Can you store the tarballs in the repository, instead of the contents of
the tarballs? The tarballs will contain the dates you want, and you can
obviously get tar to set the timestamps the way you want. (Then you add a
higher-level Makefile that knows how to unpack the tarball to a directory,
maintaining the timestamps, patch anything you're changing, and run make
in that directory.)
That is to say, from your perspective, the sources include the upstream
distributed tarballs, but the individual files in upstream tarballs aren't
source files for you, since you can't (by policy) modify them (within the
pristine tarball). If you want to change the sources of the packaged
project, you add a patch file to do it, rather than simply changing the
source (which, as you say, you're required not to do).
Git really wants to store the inputs to your workflow, each of which might
change independently. That's why the files in your work tree have
timestamps based on when they came to be in your work tree (get set to the
current time whenever git puts different content there, and leaves them
unchanged if their contents don't change when moving from commit to
commit). The "sources" in your workflow are a different set of files from
the sources in the project, and git really wants *your* repository to
match *your* workflow and not the workflow of the upstream project, when
you're acting as a packager rather than an upstream developer.
-Daniel
*This .sig left intentionally blank*
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html