summaryrefslogtreecommitdiff
path: root/git/db/complex.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2011-05-30 16:32:56 +0200
committerSebastian Thiel <byronimo@gmail.com>2011-05-30 16:32:56 +0200
commit1f71ed94578799ee1667ba54b66a369e307f415b (patch)
treef8e1c3a8507b5306a6a04efa94ffec3c22731bcc /git/db/complex.py
parent024adf37acddd6a5d8293b6b5d15795c59a142c0 (diff)
downloadgitpython-1f71ed94578799ee1667ba54b66a369e307f415b.tar.gz
git cmd implementation of repository appears to work, at least this is what the test suggests. Pure python implementation still has some trouble, but this should be very fixable
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."""