When merging with a submodule modify/delete conflict (i.e. I've deleted the submodule, and I'm merging in a branch that modified it), git lies about what it is doing: "CONFLICT (modify/delete): submodule deleted in HEAD and modified in submodules. Version submodules of submodule left in tree at submodule~submodules. Automatic merge failed; fix conflicts and then commit the result." In fact, the working tree does not contain anything named 'submodule~submodules'. In addition, I would ordinarily resolve a conflict like this by using 'git rm'. Here, this gives a warning: $ git rm submodule submodule: needs merge rm 'submodule' warning: Could not find section in .gitmodules where path=submodule Git's behavior here is significantly better than liggit2's (which tries to check out 'submodule' as if it were a blob, and fails to do so), but it's still confusing. It's not clear to me what the correct behavior is here. Maybe it's sufficient to just fix the message?