Set file modification time on checkout

2014-11-12 Thread Patrick Hemmer
The request is to allow git to set the file modification time on
checkout to the commit-author-date of the commit which last modified the
file.
Yes I know this is in the FAQ, but the FAQ entry is missing an
increasingly common use case: docker.
When docker builds an image, it generates layers of images based on each
build step. Adding a file would be a build step, and for this action it
generates a hash based on the file modification time & content. Next
time the image is built, if these haven't changed, the previously built
layer is reused. And like git commit history, if a layer changes, the
hash of all subsequent layers change and have to be rebuilt. So reusing
layers can save a ton of time.

Now I'm not proposing that this be made the default action. The `make`
use case is legitimate. But it would be nice to have an option for
`checkout` and `reset` which toggles the behavior.

-Patrick
--
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


Re: Set file modification time on checkout

2014-11-12 Thread Torsten Bögershausen
On 2014-11-13 05.45, Patrick Hemmer wrote:
> The request is to allow git to set the file modification time on
> checkout to the commit-author-date of the commit which last modified the
> file.
> Yes I know this is in the FAQ, but the FAQ entry is missing an
> increasingly common use case: docker.
> When docker builds an image, it generates layers of images based on each
> build step. Adding a file would be a build step, and for this action it
> generates a hash based on the file modification time & content.
Why do they do this?
The file content is the only thing that matters.

The other thing is to use a hook, utilizing test-chmtime
from test-chmtime.c



--
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