func (_m *Repository) TreeObject(_a0 plumbing.Hash) (*object.Tree, error) {
	ret := _m.Called(_a0)
	var r0 *object.Tree
	if rf, ok := ret.Get(0).(func(plumbing.Hash) *object.Tree); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*object.Tree)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(plumbing.Hash) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
TreeObject provides a mock function with given fields: _a0
package mocks
import (
	context "context"
	config "github.com/go-git/go-git/v5/config"
	git "github.com/go-git/go-git/v5"
	mock "github.com/stretchr/testify/mock"
	object "github.com/go-git/go-git/v5/plumbing/object"
	plumbing "github.com/go-git/go-git/v5/plumbing"
	storer "github.com/go-git/go-git/v5/plumbing/storer"
)
type Repository struct {
	mock.Mock
}
func (_m *Repository) BlobObject(_a0 plumbing.Hash) (*object.Blob, error) {
	ret := _m.Called(_a0)
	var r0 *object.Blob
	if rf, ok := ret.Get(0).(func(plumbing.Hash) *object.Blob); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*object.Blob)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(plumbing.Hash) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) BlobObjects() (*object.BlobIter, error) {
	ret := _m.Called()
	var r0 *object.BlobIter
	if rf, ok := ret.Get(0).(func() *object.BlobIter); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*object.BlobIter)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) Branch(_a0 string) (*config.Branch, error) {
	ret := _m.Called(_a0)
	var r0 *config.Branch
	if rf, ok := ret.Get(0).(func(string) *config.Branch); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*config.Branch)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) Branches() (storer.ReferenceIter, error) {
	ret := _m.Called()
	var r0 storer.ReferenceIter
	if rf, ok := ret.Get(0).(func() storer.ReferenceIter); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(storer.ReferenceIter)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) CommitObject(_a0 plumbing.Hash) (*object.Commit, error) {
	ret := _m.Called(_a0)
	var r0 *object.Commit
	if rf, ok := ret.Get(0).(func(plumbing.Hash) *object.Commit); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*object.Commit)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(plumbing.Hash) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) CommitObjects() (object.CommitIter, error) {
	ret := _m.Called()
	var r0 object.CommitIter
	if rf, ok := ret.Get(0).(func() object.CommitIter); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(object.CommitIter)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) Config() (*config.Config, error) {
	ret := _m.Called()
	var r0 *config.Config
	if rf, ok := ret.Get(0).(func() *config.Config); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*config.Config)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) ConfigScoped(_a0 config.Scope) (*config.Config, error) {
	ret := _m.Called(_a0)
	var r0 *config.Config
	if rf, ok := ret.Get(0).(func(config.Scope) *config.Config); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*config.Config)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(config.Scope) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) CreateBranch(_a0 *config.Branch) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(*config.Branch) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) CreateRemote(_a0 *config.RemoteConfig) (*git.Remote, error) {
	ret := _m.Called(_a0)
	var r0 *git.Remote
	if rf, ok := ret.Get(0).(func(*config.RemoteConfig) *git.Remote); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*git.Remote)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(*config.RemoteConfig) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) CreateRemoteAnonymous(_a0 *config.RemoteConfig) (*git.Remote, error) {
	ret := _m.Called(_a0)
	var r0 *git.Remote
	if rf, ok := ret.Get(0).(func(*config.RemoteConfig) *git.Remote); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*git.Remote)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(*config.RemoteConfig) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) CreateTag(_a0 string, _a1 plumbing.Hash, _a2 *git.CreateTagOptions) (*plumbing.Reference, error) {
	ret := _m.Called(_a0, _a1, _a2)
	var r0 *plumbing.Reference
	if rf, ok := ret.Get(0).(func(string, plumbing.Hash, *git.CreateTagOptions) *plumbing.Reference); ok {
		r0 = rf(_a0, _a1, _a2)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*plumbing.Reference)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(string, plumbing.Hash, *git.CreateTagOptions) error); ok {
		r1 = rf(_a0, _a1, _a2)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) DeleteBranch(_a0 string) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(string) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) DeleteObject(_a0 plumbing.Hash) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(plumbing.Hash) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) DeleteRemote(_a0 string) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(string) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) DeleteTag(_a0 string) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(string) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) Fetch(_a0 *git.FetchOptions) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(*git.FetchOptions) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) FetchContext(_a0 context.Context, _a1 *git.FetchOptions) error {
	ret := _m.Called(_a0, _a1)
	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *git.FetchOptions) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) Head() (*plumbing.Reference, error) {
	ret := _m.Called()
	var r0 *plumbing.Reference
	if rf, ok := ret.Get(0).(func() *plumbing.Reference); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*plumbing.Reference)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) Log(_a0 *git.LogOptions) (object.CommitIter, error) {
	ret := _m.Called(_a0)
	var r0 object.CommitIter
	if rf, ok := ret.Get(0).(func(*git.LogOptions) object.CommitIter); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(object.CommitIter)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(*git.LogOptions) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) Notes() (storer.ReferenceIter, error) {
	ret := _m.Called()
	var r0 storer.ReferenceIter
	if rf, ok := ret.Get(0).(func() storer.ReferenceIter); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(storer.ReferenceIter)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) Object(_a0 plumbing.ObjectType, _a1 plumbing.Hash) (object.Object, error) {
	ret := _m.Called(_a0, _a1)
	var r0 object.Object
	if rf, ok := ret.Get(0).(func(plumbing.ObjectType, plumbing.Hash) object.Object); ok {
		r0 = rf(_a0, _a1)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(object.Object)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(plumbing.ObjectType, plumbing.Hash) error); ok {
		r1 = rf(_a0, _a1)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) Objects() (*object.ObjectIter, error) {
	ret := _m.Called()
	var r0 *object.ObjectIter
	if rf, ok := ret.Get(0).(func() *object.ObjectIter); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*object.ObjectIter)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) Prune(_a0 git.PruneOptions) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(git.PruneOptions) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) Push(_a0 *git.PushOptions) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(*git.PushOptions) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) PushContext(_a0 context.Context, _a1 *git.PushOptions) error {
	ret := _m.Called(_a0, _a1)
	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *git.PushOptions) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) Reference(_a0 plumbing.ReferenceName, _a1 bool) (*plumbing.Reference, error) {
	ret := _m.Called(_a0, _a1)
	var r0 *plumbing.Reference
	if rf, ok := ret.Get(0).(func(plumbing.ReferenceName, bool) *plumbing.Reference); ok {
		r0 = rf(_a0, _a1)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*plumbing.Reference)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(plumbing.ReferenceName, bool) error); ok {
		r1 = rf(_a0, _a1)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) References() (storer.ReferenceIter, error) {
	ret := _m.Called()
	var r0 storer.ReferenceIter
	if rf, ok := ret.Get(0).(func() storer.ReferenceIter); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(storer.ReferenceIter)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) Remote(_a0 string) (*git.Remote, error) {
	ret := _m.Called(_a0)
	var r0 *git.Remote
	if rf, ok := ret.Get(0).(func(string) *git.Remote); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*git.Remote)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) Remotes() ([]*git.Remote, error) {
	ret := _m.Called()
	var r0 []*git.Remote
	if rf, ok := ret.Get(0).(func() []*git.Remote); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]*git.Remote)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) RepackObjects(_a0 *git.RepackConfig) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(*git.RepackConfig) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) ResolveRevision(_a0 plumbing.Revision) (*plumbing.Hash, error) {
	ret := _m.Called(_a0)
	var r0 *plumbing.Hash
	if rf, ok := ret.Get(0).(func(plumbing.Revision) *plumbing.Hash); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*plumbing.Hash)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(plumbing.Revision) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) SetConfig(_a0 *config.Config) error {
	ret := _m.Called(_a0)
	var r0 error
	if rf, ok := ret.Get(0).(func(*config.Config) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Repository) Tag(_a0 string) (*plumbing.Reference, error) {
	ret := _m.Called(_a0)
	var r0 *plumbing.Reference
	if rf, ok := ret.Get(0).(func(string) *plumbing.Reference); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*plumbing.Reference)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) TagObject(_a0 plumbing.Hash) (*object.Tag, error) {
	ret := _m.Called(_a0)
	var r0 *object.Tag
	if rf, ok := ret.Get(0).(func(plumbing.Hash) *object.Tag); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*object.Tag)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(plumbing.Hash) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) TagObjects() (*object.TagIter, error) {
	ret := _m.Called()
	var r0 *object.TagIter
	if rf, ok := ret.Get(0).(func() *object.TagIter); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*object.TagIter)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Repository) Tags() (storer.ReferenceIter, error) {
	ret := _m.Called()
	var r0 storer.ReferenceIter
	if rf, ok := ret.Get(0).(func() storer.ReferenceIter); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(storer.ReferenceIter)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}