Teach Git to respect skip-worktree bit (reading part)

grep: turn on --cached for files that is marked skip-worktree
ls-files: do not check for deleted file that is marked skip-worktree
update-index: ignore update request if it's skip-worktree, while still allows removing
diff*: skip worktree version

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nguyễn Thái Ngọc Duy
2009-08-20 20:46:58 +07:00
committed by Junio C Hamano
parent 44a3691362
commit b4d1690df1
8 changed files with 199 additions and 26 deletions

2
diff.c
View File

@ -1805,7 +1805,7 @@ static int reuse_worktree_file(const char *name, const unsigned char *sha1, int
* If ce is marked as "assume unchanged", there is no
* guarantee that work tree matches what we are looking for.
*/
if (ce->ce_flags & CE_VALID)
if ((ce->ce_flags & CE_VALID) || ce_skip_worktree(ce))
return 0;
/*