aboutsummaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorJavi Fontan <jfontan@gmail.com>2018-08-30 18:33:37 +0200
committerJavi Fontan <jfontan@gmail.com>2018-08-30 18:33:37 +0200
commit82945e31dd8bce5fc51d4fd16d696a6d326e5f44 (patch)
tree0ebee0c8101266230e60edc47a1f3696722173ee /storage
parent1e1a7d0623459807d6f1e871492147f971f7540c (diff)
downloadgo-git-82945e31dd8bce5fc51d4fd16d696a6d326e5f44.tar.gz
git, storer: use a common storer.Options for storer and PlainOpen
Signed-off-by: Javi Fontan <jfontan@gmail.com>
Diffstat (limited to 'storage')
-rw-r--r--storage/filesystem/dotgit/dotgit.go17
-rw-r--r--storage/filesystem/storage.go25
-rw-r--r--storage/filesystem/storage_test.go4
3 files changed, 17 insertions, 29 deletions
diff --git a/storage/filesystem/dotgit/dotgit.go b/storage/filesystem/dotgit/dotgit.go
index 2048ddc..41e5c75 100644
--- a/storage/filesystem/dotgit/dotgit.go
+++ b/storage/filesystem/dotgit/dotgit.go
@@ -14,6 +14,7 @@ import (
"gopkg.in/src-d/go-billy.v4/osfs"
"gopkg.in/src-d/go-git.v4/plumbing"
+ "gopkg.in/src-d/go-git.v4/plumbing/storer"
"gopkg.in/src-d/go-git.v4/utils/ioutil"
"gopkg.in/src-d/go-billy.v4"
@@ -60,7 +61,7 @@ var (
// The DotGit type represents a local git repository on disk. This
// type is not zero-value-safe, use the New function to initialize it.
type DotGit struct {
- DotGitOptions
+ storer.Options
fs billy.Filesystem
// incoming object directory information
@@ -73,25 +74,19 @@ type DotGit struct {
packMap map[plumbing.Hash]struct{}
}
-// DotGitOptions holds configuration options for new DotGit objects.
-type DotGitOptions struct {
- // Static means that the filesystem won't be changed while the repo is open.
- Static bool
-}
-
// New returns a DotGit value ready to be used. The path argument must
// be the absolute path of a git repository directory (e.g.
// "/foo/bar/.git").
func New(fs billy.Filesystem) *DotGit {
- return NewWithOptions(fs, DotGitOptions{})
+ return NewWithOptions(fs, storer.Options{})
}
// NewWithOptions creates a new DotGit and sets non default configuration
// options. See New for complete help.
-func NewWithOptions(fs billy.Filesystem, o DotGitOptions) *DotGit {
+func NewWithOptions(fs billy.Filesystem, o storer.Options) *DotGit {
return &DotGit{
- DotGitOptions: o,
- fs: fs,
+ Options: o,
+ fs: fs,
}
}
diff --git a/storage/filesystem/storage.go b/storage/filesystem/storage.go
index a969a1f..24e6454 100644
--- a/storage/filesystem/storage.go
+++ b/storage/filesystem/storage.go
@@ -2,6 +2,7 @@
package filesystem
import (
+ "gopkg.in/src-d/go-git.v4/plumbing/storer"
"gopkg.in/src-d/go-git.v4/storage/filesystem/dotgit"
"gopkg.in/src-d/go-billy.v4"
@@ -11,7 +12,7 @@ import (
// standard git format (this is, the .git directory). Zero values of this type
// are not safe to use, see the NewStorage function below.
type Storage struct {
- StorageOptions
+ storer.Options
fs billy.Filesystem
dir *dotgit.DotGit
@@ -24,36 +25,26 @@ type Storage struct {
ModuleStorage
}
-// StorageOptions holds configuration for the storage.
-type StorageOptions struct {
- // Static means that the filesystem is not modified while the repo is open.
- Static bool
-}
-
// NewStorage returns a new Storage backed by a given `fs.Filesystem`
func NewStorage(fs billy.Filesystem) (*Storage, error) {
- return NewStorageWithOptions(fs, StorageOptions{})
+ return NewStorageWithOptions(fs, storer.Options{})
}
// NewStorageWithOptions returns a new Storage backed by a given `fs.Filesystem`
func NewStorageWithOptions(
fs billy.Filesystem,
- ops StorageOptions,
+ ops storer.Options,
) (*Storage, error) {
- dOps := dotgit.DotGitOptions{
- Static: ops.Static,
- }
-
- dir := dotgit.NewWithOptions(fs, dOps)
+ dir := dotgit.NewWithOptions(fs, ops)
o, err := NewObjectStorage(dir)
if err != nil {
return nil, err
}
return &Storage{
- StorageOptions: ops,
- fs: fs,
- dir: dir,
+ Options: ops,
+ fs: fs,
+ dir: dir,
ObjectStorage: o,
ReferenceStorage: ReferenceStorage{dir: dir},
diff --git a/storage/filesystem/storage_test.go b/storage/filesystem/storage_test.go
index d7ebf71..23628c7 100644
--- a/storage/filesystem/storage_test.go
+++ b/storage/filesystem/storage_test.go
@@ -64,7 +64,9 @@ var _ = Suite(&StorageStaticSuite{})
func (s *StorageStaticSuite) SetUpTest(c *C) {
s.dir = c.MkDir()
- storage, err := NewStorageWithOptions(osfs.New(s.dir), StorageOptions{Static: true})
+ storage, err := NewStorageWithOptions(
+ osfs.New(s.dir),
+ storer.Options{Static: true})
c.Assert(err, IsNil)
setUpTest(&s.StorageSuite, c, storage)