Can't push to a local non bare repository

When I try to push from one repository on the local file system to another, I get the following error:
LibGit2Sharp.LibGit2SharpException: An error was raised by libgit2. Category = Unknown (Error).
No error message has been provided by the native library

I've prepared a testcase at https://gist.github.com/mm201/6439858

libgit2's git_push_finish is returning -1 without providing an error message. I've tried everything I can think of (different arguments, overloads) but always get the exact same result. The next thing I will try is compiling and debugging libgit2 to try to see what logic is failing.

Windows 7 x64, .NET framework 4.0