|
@@ -522,12 +522,14 @@ class PackBasedObjectStore(BaseObjectStore):
|
|
|
class DiskObjectStore(PackBasedObjectStore):
|
|
|
"""Git-style object store that exists on disk."""
|
|
|
|
|
|
- def __init__(self, path, loose_compression_level=-1):
|
|
|
+ def __init__(self, path, loose_compression_level=-1,
|
|
|
+ pack_compression_level=-1):
|
|
|
"""Open an object store.
|
|
|
|
|
|
Args:
|
|
|
path: Path of the object store.
|
|
|
loose_compression_level: zlib compression level for loose objects
|
|
|
+ pack_compression_level: zlib compression level for pack objects
|
|
|
"""
|
|
|
super(DiskObjectStore, self).__init__(
|
|
|
pack_compression_level=pack_compression_level)
|
|
@@ -535,6 +537,7 @@ class DiskObjectStore(PackBasedObjectStore):
|
|
|
self.pack_dir = os.path.join(self.path, PACKDIR)
|
|
|
self._alternates = None
|
|
|
self.loose_compression_level = loose_compression_level
|
|
|
+ self.pack_compression_level = pack_compression_level
|
|
|
|
|
|
def __repr__(self):
|
|
|
return "<%s(%r)>" % (self.__class__.__name__, self.path)
|
|
@@ -551,7 +554,12 @@ class DiskObjectStore(PackBasedObjectStore):
|
|
|
(b'core', ), b'looseCompression').decode())
|
|
|
except KeyError:
|
|
|
loose_compression_level = default_compression_level
|
|
|
- return cls(path, loose_compression_level)
|
|
|
+ try:
|
|
|
+ pack_compression_level = int(config.get(
|
|
|
+ (b'core', ), 'packCompression').decode())
|
|
|
+ except KeyError:
|
|
|
+ pack_compression_level = default_compression_level
|
|
|
+ return cls(path, loose_compression_level, pack_compression_level)
|
|
|
|
|
|
@property
|
|
|
def alternates(self):
|