summaryrefslogtreecommitdiff
path: root/gitdb/db/git.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2014-11-14 12:45:19 +0100
committerSebastian Thiel <byronimo@gmail.com>2014-11-14 12:45:19 +0100
commit2f2fe4eea8ba4f47e63a7392a1f27f74f5ee925d (patch)
tree176a493d114fab7cc6e930bf318b2339db386cf5 /gitdb/db/git.py
parent81707c606b88e971cc359e3e9f3abeeea2204860 (diff)
parent0dcec5a27b341ce58e5ab169f91aa25b2cafec0c (diff)
downloadgitdb-0.6.0.tar.gz
Merge branch 'py2n3'0.6.0
* python 3 compatibility * all tests work in py2.6, 2.7, 3.3, 3.4
Diffstat (limited to 'gitdb/db/git.py')
-rw-r--r--gitdb/db/git.py53
1 files changed, 24 insertions, 29 deletions
diff --git a/gitdb/db/git.py b/gitdb/db/git.py
index 1d6ad0f..d22e3f1 100644
--- a/gitdb/db/git.py
+++ b/gitdb/db/git.py
@@ -2,22 +2,18 @@
#
# This module is part of GitDB and is released under
# the New BSD License: http://www.opensource.org/licenses/bsd-license.php
-from base import (
- CompoundDB,
- ObjectDBW,
- FileDBBase
- )
-
-from loose import LooseObjectDB
-from pack import PackedDB
-from ref import ReferenceDB
-
-from gitdb.util import LazyMixin
-from gitdb.exc import (
- InvalidDBRoot,
- BadObject,
- AmbiguousObjectName
- )
+from gitdb.db.base import (
+ CompoundDB,
+ ObjectDBW,
+ FileDBBase
+)
+
+from gitdb.db.loose import LooseObjectDB
+from gitdb.db.pack import PackedDB
+from gitdb.db.ref import ReferenceDB
+
+from gitdb.exc import InvalidDBRoot
+
import os
__all__ = ('GitDB', )
@@ -30,21 +26,21 @@ class GitDB(FileDBBase, ObjectDBW, CompoundDB):
PackDBCls = PackedDB
LooseDBCls = LooseObjectDB
ReferenceDBCls = ReferenceDB
-
+
# Directories
packs_dir = 'pack'
loose_dir = ''
alternates_dir = os.path.join('info', 'alternates')
-
+
def __init__(self, root_path):
"""Initialize ourselves on a git objects directory"""
super(GitDB, self).__init__(root_path)
-
+
def _set_cache_(self, attr):
if attr == '_dbs' or attr == '_loose_db':
self._dbs = list()
loose_db = None
- for subpath, dbcls in ((self.packs_dir, self.PackDBCls),
+ for subpath, dbcls in ((self.packs_dir, self.PackDBCls),
(self.loose_dir, self.LooseDBCls),
(self.alternates_dir, self.ReferenceDBCls)):
path = self.db_path(subpath)
@@ -55,31 +51,30 @@ class GitDB(FileDBBase, ObjectDBW, CompoundDB):
# END remember loose db
# END check path exists
# END for each db type
-
+
# should have at least one subdb
if not self._dbs:
raise InvalidDBRoot(self.root_path())
# END handle error
-
+
# we the first one should have the store method
assert loose_db is not None and hasattr(loose_db, 'store'), "First database needs store functionality"
-
+
# finally set the value
self._loose_db = loose_db
else:
super(GitDB, self)._set_cache_(attr)
# END handle attrs
-
+
#{ ObjectDBW interface
-
+
def store(self, istream):
return self._loose_db.store(istream)
-
+
def ostream(self):
return self._loose_db.ostream()
-
+
def set_ostream(self, ostream):
return self._loose_db.set_ostream(ostream)
-
+
#} END objectdbw interface
-