aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/revlist
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2017-04-11 23:16:48 +0200
committerMáximo Cuadros <mcuadros@gmail.com>2017-04-11 23:16:48 +0200
commit7a428a915ce2b7bb0f4fc6dcee77932ebacfabbf (patch)
treea116c49d89ae0450c9999a85896d1a10ba7d8a0b /plumbing/revlist
parent116fed7ea746255805f5664d9b6fd7cdb1b52663 (diff)
parent9b45f468c61a0756dd19d09b64c2b1a88cc99ec5 (diff)
downloadgo-git-7a428a915ce2b7bb0f4fc6dcee77932ebacfabbf.tar.gz
merge, Repository.Log
Diffstat (limited to 'plumbing/revlist')
-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