Aha, so I think this is a typo of `a.txt` where it should be looking for staged changes to `b.txt`.  The `normal_merge` branch only changes `b.txt` from the common ancestor:

```
C:\Git\libgit2sharp\LibGit2Sharp.Tests\bin\Debug\TestRepos\b4df86fb\merge_testrepo_wd>git merge --no-commit normal_merge
Automatic merge went well; stopped before committing as requested

C:\Git\libgit2sharp\LibGit2Sharp.Tests\bin\Debug\TestRepos\b4df86fb\merge_testrepo_wd>git status
On branch master
All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)

Changes to be committed:

        modified:   b.txt

```