From 511f6138d4b5b7a464a8fa3d7f8fc52bec3789a4 Mon Sep 17 00:00:00 2001 From: zeripath Date: Thu, 17 Dec 2020 14:00:47 +0000 Subject: Use native git variants by default with go-git variants as build tag (#13673) * Move last commit cache back into modules/git Signed-off-by: Andrew Thornton * Remove go-git from the interface for last commit cache Signed-off-by: Andrew Thornton * move cacheref to last_commit_cache Signed-off-by: Andrew Thornton * Remove go-git from routers/private/hook Signed-off-by: Andrew Thornton * Move FindLFSFiles to pipeline Signed-off-by: Andrew Thornton * Make no-go-git variants Signed-off-by: Andrew Thornton * Submodule RefID Signed-off-by: Andrew Thornton * fix issue with GetCommitsInfo Signed-off-by: Andrew Thornton * fix GetLastCommitForPaths Signed-off-by: Andrew Thornton * Improve efficiency Signed-off-by: Andrew Thornton * More efficiency Signed-off-by: Andrew Thornton * even faster Signed-off-by: Andrew Thornton * Reduce duplication * As per @lunny Signed-off-by: Andrew Thornton * attempt to fix drone Signed-off-by: Andrew Thornton * fix test-tags Signed-off-by: Andrew Thornton * default to use no-go-git variants and add gogit build tag Signed-off-by: Andrew Thornton * placate lint Signed-off-by: Andrew Thornton * as per @6543 Signed-off-by: Andrew Thornton Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: techknowlogick --- modules/git/tree.go | 83 ----------------------------------------------------- 1 file changed, 83 deletions(-) (limited to 'modules/git/tree.go') diff --git a/modules/git/tree.go b/modules/git/tree.go index 258b11aaac..059f0a8287 100644 --- a/modules/git/tree.go +++ b/modules/git/tree.go @@ -6,25 +6,9 @@ package git import ( - "io" "strings" - - "github.com/go-git/go-git/v5/plumbing" - "github.com/go-git/go-git/v5/plumbing/object" ) -// Tree represents a flat directory listing. -type Tree struct { - ID SHA1 - ResolvedID SHA1 - repo *Repository - - gogitTree *object.Tree - - // parent tree - ptree *Tree -} - // NewTree create a new tree according the repository and tree id func NewTree(repo *Repository, id SHA1) *Tree { return &Tree{ @@ -61,70 +45,3 @@ func (t *Tree) SubTree(rpath string) (*Tree, error) { } return g, nil } - -func (t *Tree) loadTreeObject() error { - gogitTree, err := t.repo.gogitRepo.TreeObject(t.ID) - if err != nil { - return err - } - - t.gogitTree = gogitTree - return nil -} - -// ListEntries returns all entries of current tree. -func (t *Tree) ListEntries() (Entries, error) { - if t.gogitTree == nil { - err := t.loadTreeObject() - if err != nil { - return nil, err - } - } - - entries := make([]*TreeEntry, len(t.gogitTree.Entries)) - for i, entry := range t.gogitTree.Entries { - entries[i] = &TreeEntry{ - ID: entry.Hash, - gogitTreeEntry: &t.gogitTree.Entries[i], - ptree: t, - } - } - - return entries, nil -} - -// ListEntriesRecursive returns all entries of current tree recursively including all subtrees -func (t *Tree) ListEntriesRecursive() (Entries, error) { - if t.gogitTree == nil { - err := t.loadTreeObject() - if err != nil { - return nil, err - } - } - - var entries []*TreeEntry - seen := map[plumbing.Hash]bool{} - walker := object.NewTreeWalker(t.gogitTree, true, seen) - for { - fullName, entry, err := walker.Next() - if err == io.EOF { - break - } - if err != nil { - return nil, err - } - if seen[entry.Hash] { - continue - } - - convertedEntry := &TreeEntry{ - ID: entry.Hash, - gogitTreeEntry: &entry, - ptree: t, - fullName: fullName, - } - entries = append(entries, convertedEntry) - } - - return entries, nil -} -- cgit v1.2.3