cache-tree: create/update cache-tree on checkout
authorDavid Turner <dturner@twopensource.com>
Sun, 6 Jul 2014 04:06:56 +0000 (21:06 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 7 Jul 2014 19:30:34 +0000 (12:30 -0700)
commitaecf567cbfb6ab46e82f7f5df36fb6a2dd5bee69
treebb7e31b4b9ebe4adb3a78a9f2012815658b17ca3
parentc2f7b1026e33e308782fcb1b60e3d7af107fdc18
cache-tree: create/update cache-tree on checkout

When git checkout checks out a branch, create or update the
cache-tree so that subsequent operations are faster.

update_main_cache_tree learned a new flag, WRITE_TREE_REPAIR.  When
WRITE_TREE_REPAIR is set, portions of the cache-tree which do not
correspond to existing tree objects are invalidated (and portions which
do are marked as valid).  No new tree objects are created.

Signed-off-by: David Turner <dturner@twitter.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/checkout.c
cache-tree.c
cache-tree.h
t/t0090-cache-tree.sh