Nicolas Morey-Chaisemartin [off-list ref] writes:
During a merge with conflict on a submodule, the submodule appears 3
times in git ls-files (stage 1,2,3) which causes the submodule to be
used 3 times in git submodule update or status command. This patch
filters the results of git ls-files and only shows submodule in stage 0
or 1 thus removing the duplicates.
That is a wrong thing to do. What if both sides added a submodule at the
same directory after forked from an ancestor that did not have it? You
will have only stage #2 and stage #3, no?