The submodule type has been implemented as a C type. When opening a submodule's repository this leads to the bug that instead of an actual pygit2.Repository being instantiated we only create an object of the C Repository type. As this is not trivially fixed within the C code, reimplement the submodule type as a Python interface with CFFI. As submodules provide no functionality that is usually accessed repeatedly the code paths should not prove performance critical. In addition, maintainability is improved by this reimplementation.
24 KiB
24 KiB