On Thu, May 22, 2014 at 12:22:43PM -0400, David Turner wrote: > If I have a git repository with a clean working tree, and I delete the > index, then I can use git reset (with no arguments) to recreate it. > However, when I do recreate it, it doesn't come back the same. I have > not analyzed this in detail, but the effect is that commands like git > status take much longer because they must read objects out of a pack > file. In other words, the index seems to not realize that the index (or > at least most of it) represents the same state as HEAD. If I do git > reset --hard, the index is restored to the original state (it's > byte-for-byte identical), and the pack file is no longer read. Are you sure it's reading a packfile? I would expect that it is rather reading the files in the working tree. One of the functions of the index is to maintain a cache of the sha1 of the working tree file content and the stat information. Once that is populated, a subsequent "git status" can then just lstat() the files to see that its sha1 cache is up to date. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html