Code

unpack-trees: mark new entries skip-worktree appropriately
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sat, 31 Jul 2010 06:14:29 +0000 (13:14 +0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 9 Aug 2010 19:16:02 +0000 (12:16 -0700)
commit74da98f9c761b2e63366a643fa52749844ddc6a1
tree41d872160ae1685c296973a6825a4636bb3b90c3
parent711f151a7b56f450e3a17b734e84f71bb57522c6
unpack-trees: mark new entries skip-worktree appropriately

Sparse checkout narrows worktree down based on the skip-worktree bit
before and after $GIT_DIR/info/sparse-checkout application. If it does
not have that bit before but does after, a narrow is detected and the
file will be removed from worktree.

New files added by merge, however, does not have skip-worktree bit. If
those files appear to be outside checkout area, the same rule applies:
the file gets removed from worktree even though they don't exist in
worktree.

Just pretend they have skip-worktree before in that case, so the rule
is ignored.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t1011-read-tree-sparse-checkout.sh
unpack-trees.c