]> Kevux Git Server - rit/commitdiff
Teach ls-files --with-tree=<tree> to work with options other than -c
authorJunio C Hamano <gitster@pobox.com>
Sun, 16 Nov 2008 08:10:25 +0000 (00:10 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sun, 16 Nov 2008 08:15:50 +0000 (00:15 -0800)
Originally --with-tree=<tree> was designed for the sole purpose of
checking if a given pathspec makes sense as a parameter to git-commit
using it in conjunction with --error-unmatch.  It had logic to avoid
showing the same entry (one came from the original index, another from the
overlayed tree) twice so that it works with -c (i.e. "show-cached"), but
otherwise it was not designed to work with the flags such as -m, -d, etc.

This teaches the same logic to cover the codepath for -m and -d.

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

index 21b0bf7..f72eb85 100644 (file)
@@ -227,6 +227,8 @@ static void show_files(struct dir_struct *dir, const char *prefix)
                        int dtype = ce_to_dtype(ce);
                        if (excluded(dir, ce->name, &dtype) != dir->show_ignored)
                                continue;
+                       if (ce->ce_flags & CE_UPDATE)
+                               continue;
                        err = lstat(ce->name, &st);
                        if (show_deleted && err)
                                show_ce_entry(tag_removed, ce);