On Fri, Jul 13, 2018 at 9:33 AM, Elijah Newren <newren@xxxxxxxxx> wrote: > This patch series fixes several "recovery" commands that outright fail > or do not fully recover when directory-file conflicts are present. > This includes: > * git read-tree --reset HEAD > * git am --skip > * git am --abort > * git merge --abort (or git reset --merge) > * git reset --hard > > Changes since v1 (full range-diff below): > - Make use of test_write_lines, as suggested by Eric. > - Provide a little more explanation in one of the commit messages, as > suggested by Junio. I forgot to mention: there is also an expected failing merge --abort testcase in en/t7405-recursive-submodule-conflicts (currently in pu), and the fact that this series does not fix that testcase is known. For the curious... This read-index-unmerged series is part of the solution for the problem highlighted in t7405; in fact, the similarity between file/directory and submodule/directory conflicts is such that this patch series does also happen to fix recovery problems for many submodule/directory conflicts as well. However, additional work is needed when the same path is found under both the submodule and the directory, and the testcase in en/t7405-recursive-submodule-conflicts is precisely one of those cases that needs additional work. (This is just a long winded way of saying that this series and en/t7405-recursive-submodule-conflicts don't conflict or duplicate each other.)