summaryrefslogtreecommitdiff
path: root/git/db/complex.py
diff options
context:
space:
mode:
Diffstat (limited to 'git/db/complex.py')
-rw-r--r--git/db/complex.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/git/db/complex.py b/git/db/complex.py
index ef2013e3..71a39c45 100644
--- a/git/db/complex.py
+++ b/git/db/complex.py
@@ -1,12 +1,25 @@
"""Module with many useful complex databases with different useful combinations of primary implementations"""
-from py.complex import PureGitDB
+from py.complex import PurePartialGitDB
from cmd.complex import CmdPartialGitDB
from compat import RepoCompatibilityInterface
-__all__ = ['CmdPartialGitDB', 'PureGitDB', 'PureCmdGitDB']
+__all__ = ['CmdGitDB', 'PureGitDB', 'CmdCompatibilityGitDB', 'PureCompatibilityGitDB']
-class PureCmdGitDB(PureGitDB, CmdPartialGitDB, RepoCompatibilityInterface):
+class CmdGitDB(CmdPartialGitDB, PurePartialGitDB):
+ """A database which uses primarily the git command implementation, but falls back
+ to pure python where it is more feasible"""
+
+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."""