From: Jens Lehmann Date: Sun, 14 Mar 2010 00:55:35 GMT Subject: Re: [PATCH] git status: ignoring untracked files must apply to submodules too Message-ID: <4B9C3407.9090502@web.de> In-Reply-To: <7vaaubzrxq.fsf@alter.siamese.dyndns.org> Am 14.03.2010 01:07, schrieb Junio C Hamano: > Jens Lehmann writes: > >> First: When called from "git status" run_diff_files() calls >> wt_status_collect_changed_cb() for every file it considers changed, so > > This reminds me of another thing, perhaps independent, perhaps related. > Why aren't we collecting the submodule status in wt_status_collect() to > begin with? It examines the submodule status in wt_status_print(), but > that feels quite against the way how the whole "struct wt_status" was > designed to be used in the first place, I think. Would restuctuing the > code that way make this easier to handle? I'm not sure I understand that, but AFAICS in wt_status_print_changed() only the fact that at least one submodule is dirty is examined to be able to print the extra hint line. The status of each submodule is collected in wt_status_collect_changed_cb(), no? And while not having being active when "struct wt_status" has been designed, i think adding submodules to the "change" list when they are dirty makes kind a sense ... but i might be wrong ;-)