git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] git status: ignoring untracked files must apply to submodules too

From
Jens Lehmann <jens.lehmann@web.de>
Date
Mar 13, 2010, 23:08 UTC
Message-ID
<4B9C1AEC.2070605@web.de>
In-Reply-To
<7vhboj6et9.fsf@alter.siamese.dyndns.org>
Am 13.03.2010 23:24, schrieb Junio C Hamano:
Show 21 quoted lines
> Jens Lehmann <Jens.Lehmann@web.de> writes:
> 
>> Since 1.7.0 submodules are considered dirty when they contain untracked
>> files. But when git status is called with the "-uno" option, the user
>> asked to ignore untracked files, so they must be ignored in submodules
>> too. To achieve this, the new flag DIFF_OPT_IGNORE_UNTRACKED_IN_SUBMODULES
>> is introduced.
>>
>> Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
>> ---
>>
>> This patch applies on top of current pu.
>>
>> I'm open to suggestions for a shorter name for the new diff option
>> IGNORE_UNTRACKED_IN_SUBMODULES; I did not manage to come up with a
>> shorter yet still descriptive enough name.
> 
> Why do you even need that flag?  Isn't it the matter of deciding to ignore
> or pay attention to the DIRTY_SUBMODULE_UNTRACKED bit in the return value
> of is_submodule_modified(), depending on whether the toplevel wt_status
> was called with -uno?
First: When called from "git status" run_diff_files() calls
wt_status_collect_changed_cb() for every file it considers changed, so
when the "-uno" option is given for a submodule with only untracked files
i thought it cleaner to let is_submodule_modified() return 0 so this
callback is not called at all and the submodule won't show up in the
"change" list of wt_status (Yes, this could be done by not adding such a
submodule to that list in the wt_status_collect_changed_cb() too).
Second: One of my next patches will be about adding an option to the git
diff family to not show submodules with only untracked files in their
work tree as modified, which calls for such a diff option AFAICS.
Third: We give is_submodule_modified() the possibility to stop parsing the
output of the "git status" run in the submodule early, because as soon as
it sees a modified file it will stop to parse the output further when
untracked files shall be ignored.
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 5 in “git status: ignoring untracked files must apply to submodules too”
  1. git status: ignoring untracked files must apply to submodules tooJens Lehmann, Mar 13, 2010
  2. Junio C HamanoMar 13, 2010
  3. Jens LehmannMar 13, 2010
  4. Junio C HamanoMar 14, 2010
  5. Jens LehmannMar 14, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.