Description
I am creating an issue rather than a PR because I have not been able to create a working Odb or Refdb backend, but I have found several bugs. Please let me know if I am completely misunderstanding this code.
I believe the issues I cannot get past come from threading in libgit2. I have found that, at times, calling threading.get_ident
will cause a segfault. I have tried wrapping all C->python code in PyGILState_Ensure
and PyGILState_Release
, but this did not work.
I have found the following possible errors:
Line 244 in e012bb5
exists_prefix
notrefresh
.Line 134 in e012bb5
glob
may be nullLine 134 in e012bb5
git_reference* _ref
will double freeLine 409 in e012bb5
PyIter_Check
should be a check for__iter__
not if the object is currently an iterator.
In my experience, problems like this mean that I am misusing something. Let me know if these appear to be real bugs and I will see if I can at least create test cases to expose them. I don't seem to have a good grasp on the threading segfaults though.