fork of go-git with some jj specific features
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #1046 from onee-only/optimize-commit-worker-path

plumbing: object, Optimize logging with file.

authored by

Paulo Gomes and committed by
GitHub
ca05e2c4 f3113d2e

+14 -6
+11 -5
plumbing/object/commit_walker_path.go
··· 57 57 } 58 58 59 59 func (c *commitPathIter) getNextFileCommit() (*Commit, error) { 60 + var parentTree, currentTree *Tree 61 + 60 62 for { 61 63 // Parent-commit can be nil if the current-commit is the initial commit 62 64 parentCommit, parentCommitErr := c.sourceIter.Next() ··· 68 70 parentCommit = nil 69 71 } 70 72 71 - // Fetch the trees of the current and parent commits 72 - currentTree, currTreeErr := c.currentCommit.Tree() 73 - if currTreeErr != nil { 74 - return nil, currTreeErr 73 + if parentTree == nil { 74 + var currTreeErr error 75 + currentTree, currTreeErr = c.currentCommit.Tree() 76 + if currTreeErr != nil { 77 + return nil, currTreeErr 78 + } 79 + } else { 80 + currentTree = parentTree 81 + parentTree = nil 75 82 } 76 83 77 - var parentTree *Tree 78 84 if parentCommit != nil { 79 85 var parentTreeErr error 80 86 parentTree, parentTreeErr = parentCommit.Tree()
+3 -1
plumbing/object/treenoder.go
··· 88 88 } 89 89 } 90 90 91 - return transformChildren(parent) 91 + var err error 92 + t.children, err = transformChildren(parent) 93 + return t.children, err 92 94 } 93 95 94 96 // Returns the children of a tree as treenoders.