author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | |
Sat, 31 Jul 2010 06:14:29 +0000 (13:14 +0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Mon, 9 Aug 2010 19:16:02 +0000 (12:16 -0700) | ||
commit | 74da98f9c761b2e63366a643fa52749844ddc6a1 | |
tree | 41d872160ae1685c296973a6825a4636bb3b90c3 | tree | snapshot |
parent | 711f151a7b56f450e3a17b734e84f71bb57522c6 | commit | diff |
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>
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 | diff | blob | history | |
unpack-trees.c | diff | blob | history |