_okay_, so i hit "n" through the use of that, no corruptions, nothing weird. 0.11.0 didn't match the filter, so the branch name was never pulled out of it. the commit is apparently in 0.10.7 but not in 0.11.0 . here's the log of me stepping over the lines for completeness. hope i pasted this right, a little hard. (gdb) n 881 const char *path = git_vector_get(&iter->loose, iter->loose_pos++); 6: *(size_t *) 0x555557fb0f30 = 1222 (gdb) p (char*)iter->loose.contents[1222] $26 = 0x555555780e00 "refs/tags/0.11.0" (gdb) n 883 if (loose_lookup(out, backend, path) == 0) { 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) n 884 ref = git_sortedcache_lookup(iter->cache, path); 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 885 if (ref) 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 888 return 0; 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 911 } 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) git_refdb_iterator_next (out=0x5555555ac510, iter=0x555557fb0ec0) at /media/extradisk/src/codefudge/codefudge/datagen/bold84-cppgit2/ext/libgit2/src/refdb.c:225 225 GIT_REFCOUNT_INC(iter->db); 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 226 (*out)->db = iter->db; 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 228 return 0; 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 229 } 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) git_reference_next (out=0x5555555ac510, iter=0x555557fb0ec0) at /media/extradisk/src/codefudge/codefudge/datagen/bold84-cppgit2/ext/libgit2/src/refs.c:763 763 } 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) repo_commits::reference_iterator::operator++ (this=0x5555555ac508) at process2.cpp:256 256 } 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) repo_commits::remote_name[abi:cxx11](cppgit2::oid const&) (this=0x5555555ac478, commit=...) at process2.cpp:83 83 for ( 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 85 reference_iter; 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 88 auto branch = *reference_iter; 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 89 auto branch_tip = branch.resolve().target(); 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 90 if (branch_tip == commit || repository.is_descendant_of(branch_tip, commit)) { 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 89 auto branch_tip = branch.resolve().target(); 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 88 auto branch = *reference_iter; 6: *(size_t *) 0x555557fb0f30 = 1223 (gdb) 86 ++ reference_iter 6: *(size_t *) 0x555557fb0f30 = 1223