v4: * broken down in a lot of tiny patches. Jonathan wrote: > Patch 1/3 is the one that gives me pause, since I hadn't been able to > chase down all callers. Would it be feasible to split that into two: > one patch to switch to --porcelain=2 but not change behavior, and a > separate patch to improve what is stored in the dirty_submodule flags? This part is in the latest patch now. Thanks, Stefan v3: This comes as a series; first I'd like to refactor is_submodule_modified to take advantage of the new porcelain=2 plumbing switch to check for changes in the submodule. On top of the refactoring comes the actual change, which moved the rewriting of the submodule change indicator letter to the collection part. Thanks, Stefan Stefan Beller (8): submodule.c: port is_submodule_modified to use porcelain 2 submodule.c: use argv_array in is_submodule_modified submodule.c: convert is_submodule_modified to use strbuf_getwholeline_fd submodule.c: port is_submodule_modified to use porcelain 2 submodule.c: factor out early loop termination in is_submodule_modified submodule.c: stricter checking for submodules in is_submodule_modified short status: improve reporting for submodule changes submodule.c: correctly handle nested submodules in is_submodule_modified Documentation/git-status.txt | 9 +++++++ submodule.c | 56 ++++++++++++++++++++----------------------- t/t3600-rm.sh | 18 ++++++++++---- t/t7506-status-submodule.sh | 57 ++++++++++++++++++++++++++++++++++++++++++++ wt-status.c | 13 ++++++++-- 5 files changed, 116 insertions(+), 37 deletions(-) -- 2.12.1.438.gb674c4c09c