]> git.ipfire.org Git - thirdparty/git.git/commit - dir.c
unpack-trees: hash less in cone mode
authorDerrick Stolee <dstolee@microsoft.com>
Thu, 21 Nov 2019 22:04:43 +0000 (22:04 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 22 Nov 2019 07:11:44 +0000 (16:11 +0900)
commiteb42feca974a333e58c2ca0f3cfa8bf0dd421402
tree5e9e8425ec5a8f1b9cffd3fb9226d3457a31f927
parentaf09ce24a9c79f6efc12d1d8f1052e1d1dbe5016
unpack-trees: hash less in cone mode

The sparse-checkout feature in "cone mode" can use the fact that
the recursive patterns are "connected" to the root via parent
patterns to decide if a directory is entirely contained in the
sparse-checkout or entirely removed.

In these cases, we can skip hashing the paths within those
directories and simply set the skipworktree bit to the correct
value.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
dir.c
dir.h
unpack-trees.c