On Sat, 2008-01-12 at 20:04 -0800, Linus Torvalds wrote: > It makes builtin-commit.c use the same logic that "git read-tree -i -m" > does (which is what the old shell script did), and it seems to pass the > test-suite, and it looks pretty obvious. > > It also brings down the number of open/mmap/munmap/close calls to where it > should be, although it still does *way* too many "lstat()" operations (ie > it does 4*lstat for each file in the index - one more than the > non-filename one does). > > With that fixed, performance is also roughly where it should be (ie the > 17-18s for the cold-cache case), because it no longer needs to rehash all > the files! > > HOWEVER. This was just a quick hack, and while it all looks sane, this is > some damn core code. Somebody else should double- and triple-check this. I took a look too, and it looks to me like the it's the exact same code path in builtin-read-tree.c that the old git read-tree --index-output="$TMP_INDEX" -i -m HEAD part of the shell script would trigger. So yes, this look like the right fix to me. Signed-off-by: Kristian Høgsberg <krh@xxxxxxxxxx> - 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