aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/revlist/revlist.go
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2017-04-11 21:28:19 +0200
committerGitHub <noreply@github.com>2017-04-11 21:28:19 +0200
commit9b45f468c61a0756dd19d09b64c2b1a88cc99ec5 (patch)
tree0e513815f1ef3765538c19b893ab4990264ae46d /plumbing/revlist/revlist.go
parent3daede53835e8572b2957a016f068781db646567 (diff)
parentefef1479b7948e4f9f310446cfdf360f2cb09596 (diff)
downloadgo-git-9b45f468c61a0756dd19d09b64c2b1a88cc99ec5.tar.gz
Merge pull request #337 from ajnavarro/repository-log
Add Repository.Log() method (fix #298)
Diffstat (limited to 'plumbing/revlist/revlist.go')
-rw-r--r--plumbing/revlist/revlist.go23
1 files changed, 12 insertions, 11 deletions
diff --git a/plumbing/revlist/revlist.go b/plumbing/revlist/revlist.go
index eb9afaf..fbd1bd9 100644
--- a/plumbing/revlist/revlist.go
+++ b/plumbing/revlist/revlist.go
@@ -82,20 +82,21 @@ func reachableObjects(
commit *object.Commit,
seen map[plumbing.Hash]bool,
cb func(h plumbing.Hash)) error {
- return object.WalkCommitHistory(commit, func(commit *object.Commit) error {
- if seen[commit.Hash] {
- return nil
- }
+ return object.NewCommitPreIterator(commit).
+ ForEach(func(commit *object.Commit) error {
+ if seen[commit.Hash] {
+ return nil
+ }
- cb(commit.Hash)
+ cb(commit.Hash)
- tree, err := commit.Tree()
- if err != nil {
- return err
- }
+ tree, err := commit.Tree()
+ if err != nil {
+ return err
+ }
- return iterateCommitTrees(seen, tree, cb)
- })
+ return iterateCommitTrees(seen, tree, cb)
+ })
}
// iterateCommitTrees iterate all reachable trees from the given commit