func (s *RemoteSuite) TestFetchWithPackfileWriter(c *C) { dir, err := ioutil.TempDir("", "fetch") c.Assert(err, IsNil) defer os.RemoveAll(dir) // clean up fss, err := filesystem.NewStorage(osfs.New(dir)) c.Assert(err, IsNil) mock := &mockPackfileWriter{Storer: fss} r := newRemote(mock, &config.RemoteConfig{Name: "foo", URL: RepositoryFixture}) r.upSrv = &MockGitUploadPackService{} c.Assert(r.Connect(), IsNil) err = r.Fetch(&FetchOptions{ RefSpecs: []config.RefSpec{FixRefSpec}, }) c.Assert(err, IsNil) var count int iter, err := mock.IterObjects(plumbing.AnyObject) c.Assert(err, IsNil) iter.ForEach(func(plumbing.Object) error { count++ return nil }) c.Assert(count, Equals, 31) c.Assert(mock.PackfileWriterCalled, Equals, true) }
func (s *ConfigSuite) SetUpTest(c *C) { tmp, err := ioutil.TempDir("", "go-git-filestystem-config") c.Assert(err, IsNil) s.dir = dotgit.New(os.New(tmp)) s.path = tmp }
func (s *SuiteDotGit) TestSetRefs(c *C) { tmp, err := ioutil.TempDir("", "dot-git") c.Assert(err, IsNil) defer os.RemoveAll(tmp) fs := osfs.New(tmp) dir := New(fs) err = dir.SetRef(plumbing.NewReferenceFromStrings( "refs/heads/foo", "e8d3ffab552895c19b9fcf7aa264d277cde33881", )) c.Assert(err, IsNil) err = dir.SetRef(plumbing.NewReferenceFromStrings( "refs/heads/symbolic", "ref: refs/heads/foo", )) c.Assert(err, IsNil) err = dir.SetRef(plumbing.NewReferenceFromStrings( "bar", "e8d3ffab552895c19b9fcf7aa264d277cde33881", )) c.Assert(err, IsNil) refs, err := dir.Refs() c.Assert(err, IsNil) c.Assert(refs, HasLen, 2) ref := findReference(refs, "refs/heads/foo") c.Assert(ref, NotNil) c.Assert(ref.Hash().String(), Equals, "e8d3ffab552895c19b9fcf7aa264d277cde33881") ref = findReference(refs, "refs/heads/symbolic") c.Assert(ref, NotNil) c.Assert(ref.Target().String(), Equals, "refs/heads/foo") ref = findReference(refs, "bar") c.Assert(ref, IsNil) ref, err = dir.Ref("refs/heads/foo") c.Assert(err, IsNil) c.Assert(ref, NotNil) c.Assert(ref.Hash().String(), Equals, "e8d3ffab552895c19b9fcf7aa264d277cde33881") ref, err = dir.Ref("refs/heads/symbolic") c.Assert(err, IsNil) c.Assert(ref, NotNil) c.Assert(ref.Target().String(), Equals, "refs/heads/foo") ref, err = dir.Ref("bar") c.Assert(err, IsNil) c.Assert(ref, NotNil) c.Assert(ref.Hash().String(), Equals, "e8d3ffab552895c19b9fcf7aa264d277cde33881") }
// NewFilesystemRepository creates a new repository, backed by a filesystem.Storage // based on a fs.OS, if you want to use a custom one you need to use the function // NewRepository and build you filesystem.Storage func NewFilesystemRepository(path string) (*Repository, error) { s, err := filesystem.NewStorage(osfs.New(path)) if err != nil { return nil, err } return NewRepository(s) }
func (f *Fixture) DotGit() fs.Filesystem { fn := filepath.Join(RootFolder, DataFolder, fmt.Sprintf("git-%s.tgz", f.DotGitHash)) path, err := tgz.Extract(fn) if err != nil { fmt.Println(os.Getwd()) fmt.Println(filepath.Clean(fn)) panic(err) } folders = append(folders, path) return osfs.New(path) }
func (s *SuiteDotGit) TestNewObject(c *C) { tmp, err := ioutil.TempDir("", "dot-git") c.Assert(err, IsNil) defer os.RemoveAll(tmp) fs := osfs.New(tmp) dir := New(fs) w, err := dir.NewObject() c.Assert(err, IsNil) err = w.WriteHeader(plumbing.BlobObject, 14) n, err := w.Write([]byte("this is a test")) c.Assert(err, IsNil) c.Assert(n, Equals, 14) c.Assert(w.Hash().String(), Equals, "a8a940627d132695a9769df883f85992f0ff4a43") err = w.Close() c.Assert(err, IsNil) i, err := fs.Stat("objects/a8/a940627d132695a9769df883f85992f0ff4a43") c.Assert(err, IsNil) c.Assert(i.Size(), Equals, int64(34)) }
func (s *StorageSuite) SetUpTest(c *C) { storage, err := NewStorage(os.New(c.MkDir())) c.Assert(err, IsNil) s.BaseStorageSuite = test.NewBaseStorageSuite(storage) }
func (s *OSSuite) SetUpTest(c *C) { s.path, _ = ioutil.TempDir(stdos.TempDir(), "go-git-os-fs-test") s.FilesystemSuite.Fs = os.New(s.path) }