• J
    refactor handling of "other" files in ls-files and status · 98fa4738
    Jeff King 提交于
    When the "git status" display code was originally converted
    to C, we copied the code from ls-files to discover whether a
    pathname returned by read_directory was an "other", or
    untracked, file.
    
    Much later, 5698454e updated the code in ls-files to handle
    some new cases caused by gitlinks.  This left the code in
    wt-status.c broken: it would display submodule directories
    as untracked directories. Nobody noticed until now, however,
    because unless status.showUntrackedFiles was set to "all",
    submodule directories were not actually reported by
    read_directory. So the bug was only triggered in the
    presence of a submodule _and_ this config option.
    
    This patch pulls the ls-files code into a new function,
    cache_name_is_other, and uses it in both places. This should
    leave the ls-files functionality the same and fix the bug
    in status.
    Signed-off-by: NJeff King <peff@peff.net>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    98fa4738
t7502-status.sh 7.6 KB