Junio C Hamano <gitster@xxxxxxxxx> writes: > Petr Baudis <pasky@xxxxxx> writes: > >> diff --git a/git-stash.sh b/git-stash.sh >> index 1e541a2..3cb9b05 100755 >> --- a/git-stash.sh >> +++ b/git-stash.sh >> @@ -258,6 +262,12 @@ save_stash () { >> say "$(gettext "No local changes to save")" >> exit 0 >> fi >> + if test -z "$untracked$force" -a -n "$(git ls-files --killed | head -n 1)"; then >> + say "$(gettext "The following untracked files would NOT be saved but need to be removed by stash save:")" > > I think "ls-files --killed" was not adjusted for the new world order > when submodules were introduced. With this change, you see t7402 > break,... > Exactly the same breakage this patch introduces triggers in t7610, > too. > > I think another patch to teach "ls-files --killed" what to do with > submodules is needed as a preliminary step before this patch. Which may be just the matter of doing this. -- >8 -- Subject: treat_directory(): do not declare submodules in index to be untracked When the working tree walker encounters a directory, it asks this function if it should descend into it, show it as an untracked directory, or do something else. When the directory is the top of the submodule working tree, we used to say "That is an untracked directory", which was quite bogus. It is an entity that is tracked in the index of the repository we are looking at, and that is not to be descended into it. Return path_none. The existing case that path_untracked is returned for a newly discovered submodule that is not tracked in the index (this only happens when DIR_NO_GITLINKS option is not used) is unchanged and returns path_untracked, but that is exactly because the submodule is not tracked in the index. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- dir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dir.c b/dir.c index 897c874..b99c40e 100644 --- a/dir.c +++ b/dir.c @@ -1038,7 +1038,7 @@ static enum path_treatment treat_directory(struct dir_struct *dir, case index_gitdir: if (dir->flags & DIR_SHOW_OTHER_DIRECTORIES) return path_none; - return path_untracked; + return path_none; case index_nonexistent: if (dir->flags & DIR_SHOW_OTHER_DIRECTORIES) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html