Code

checkout branch: prime cache-tree fully
authorJunio C Hamano <gitster@pobox.com>
Mon, 20 Apr 2009 10:58:20 +0000 (03:58 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 20 Apr 2009 11:16:42 +0000 (04:16 -0700)
commit83ae209bf9708bf1b67dbac4a3629a0003af5dbb
treea5e36c308a6a5121b66f7648e69627a71f6c37f6
parent456156dc068b7664c08e35157e17a6440ec68f32
checkout branch: prime cache-tree fully

When switching to another branch, the earlier code relied on incremental
invalidation of cache-tree entries to degrade it.  While it is not wrong
per-se, we know that the resulting index must fully match the branch we
are switching to unless the -m (merge) option is used.

We should simply fully re-prime the cache-tree using the new tree object
in such a case.  And for safety, invalidate the cache-tree as a whole in
other cases.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-checkout.c