Revision 98fa473887d0bebd38d568bb07232a336a642dcf authored by Jeff King on 16 October 2008, 15:07:26 UTC, committed by Junio C Hamano on 17 October 2008, 19:46:59 UTC
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: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 8ed0a74
decorate.h
#ifndef DECORATE_H
#define DECORATE_H
struct object_decoration {
const struct object *base;
void *decoration;
};
struct decoration {
const char *name;
unsigned int size, nr;
struct object_decoration *hash;
};
extern void *add_decoration(struct decoration *n, const struct object *obj, void *decoration);
extern void *lookup_decoration(struct decoration *n, const struct object *obj);
#endif
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...