diff options
Diffstat (limited to 'git/db/complex.py')
-rw-r--r-- | git/db/complex.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/git/db/complex.py b/git/db/complex.py index e8ad8a62..e3442dee 100644 --- a/git/db/complex.py +++ b/git/db/complex.py @@ -6,23 +6,31 @@ from compat import RepoCompatibilityInterface __all__ = ['CmdGitDB', 'PureGitDB', 'CmdCompatibilityGitDB', 'PureCompatibilityGitDB'] + class CmdGitDB(CmdPartialGitDB, PurePartialGitDB): + """A database which uses primarily the git command implementation, but falls back to pure python where it is more feasible :note: To assure consistent behaviour across implementations, when calling the ``stream()`` method a cache is created. This makes this implementation a bad choice when reading big files as these are streamed from memory in all cases.""" + class CmdCompatibilityGitDB(RepoCompatibilityInterface, CmdGitDB): + """A database which fills in its missing implementation using the pure python implementation""" pass + class PureGitDB(PurePartialGitDB, CmdPartialGitDB): + """A repository which uses the pure implementation primarily, but falls back on using the git command for high-level functionality""" + class PureCompatibilityGitDB(RepoCompatibilityInterface, PureGitDB): + """Repository which uses the pure implementation primarily, but falls back to the git command implementation. Please note that the CmdGitDB does it the opposite way around.""" |