On Mon, Jan 11, 2016 at 10:46:51AM -0500, Jeff King wrote:
I came across an interesting regression case with the new
create_symref() that uses lock_ref_sha1_basic(). It turns out that the
bug is actually in the latter function, but that it's slightly easier to
tickle it since we added new callers.
The bug and fix are rather involved, so I won't repeat the explanation
from patch 2/2 here. The first patch is just a cleanup necessary to
accurately in test in the second.
[1/2]: checkout,clone: check return value of create_symref
[2/2]: lock_ref_sha1_basic: handle REF_NODEREF with invalid refs
Here's a re-roll incorporating feedback from Michael. Patch 1 now has a
test for git-checkout (doing one for clone seems rather hard without
being racy). Patch 2 has a typo fix in the commit message, and the test
script is adjusted to account for the new test.
-Peff