git reset and ctime
- From
- ghazel@gmail.com <ghazel@gmail.com>
- Date
- Dec 3, 2010, 21:36 UTC
- Message-ID
- <AANLkTimyYTup+PqJFJ+2g-tVwWXA2bxTT3noonEuKBSu@mail.gmail.com>
Hi,
I've encountered a strange issue where "git reset --hard" insists on "Checking out files ..." when all that is changed is the ctime on these files. My deploy process (capistrano) maintains a cached copy of a git repo, which it fetches, resets, and then hardlinks files from when a deploy occurs ( https://github.com/37signals/fast_remote_cache ). The hardlinking step is meant to save the time of copying the file. but hardlinking changes the ctime of the source files. That causes git reset to re-check out the files when the next deploy occurs, which is quite time-consuming. Some helpful people on #git showed that "git update-index --refresh" before the git reset prevents this behavior, but I wonder why that is needed at all.
Should git reset be performing whatever "git update-index --refresh" is doing? Certainly in this case it would result in a vast speed improvement.
-Greg