Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove the gitdb and smmap Git repo submodules
This removes the gitdb Git submodule, and thus also *its* submodule smmap, from the GitPython repository. It also removes the code that was in place to put git/ext/ into the PYTHONPATH, substantially simplifying the git package's top-level __init__.py, and slightly simplifying a script and the CI workflows. Instead of using Git submodules, the PyPI packages for the gitdb and smmap dependencies should be used instead, which now happens automatically. For the occasional cases where having them as Git submodules was useful, they can be installed with pip from other sources: GitHub or other remote repository URLs, or local directories. Installing them editably (with -e / --editable) from a local directory should achieve the full effect of being able to have local changes to them reflected immediately in the operation of GitPython during local development. Thus this does not remove or diminish GitPython's dependence on gitdb and smmap, it just no longer obtains them as Git submodules. Using them from PyPI allows GitPython to be developed and tested against the versions of them that it uses in production, obtaining its dependencies how they are usually obtained in production. This pertains only to Git submodules for GitPython's dependencies. It does not change the organization of Python packages/modules: the top-level git package/module continues to have all the same subpackages/submodules it did before, and this holds recursively. (This also does not remove, and should in no way affect, GitPython's ability to *work with* Git submodules, which is independent of whether GitPython's own repository has them.)
- Loading branch information