
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.
619 B
619 B
The submodule
A submodule is a foreign repository that is embedded within a dedicated subdirectory of the repositories tree.
pygit2.Repository.lookup_submodule
pygit2.Repository.listall_submodules
The Submodule type
pygit2.Submodule.open
pygit2.Submodule.name
pygit2.Submodule.path
pygit2.Submodule.url
pygit2.Submodule.branch