diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2017-09-12 11:20:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-12 11:20:29 +0200 |
commit | 8cb0215282c329d299d7d1d195abae4704981ba6 (patch) | |
tree | c499cf7ac25842c818d31c690bedb602940e13db /plumbing/object/commit_walker_test.go | |
parent | 032ec287ec496117dc85cd0e9c9224b2b17f5398 (diff) | |
parent | 841b62a321b3739381b48aeea7364126d1c54520 (diff) | |
download | go-git-8cb0215282c329d299d7d1d195abae4704981ba6.tar.gz |
Merge pull request #586 from keybase/strib/commit-preorder-seen-gh-master
plumbing: the commit walker can skip externally-seen commits
Diffstat (limited to 'plumbing/object/commit_walker_test.go')
-rw-r--r-- | plumbing/object/commit_walker_test.go | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/plumbing/object/commit_walker_test.go b/plumbing/object/commit_walker_test.go index 48b504d..a27104e 100644 --- a/plumbing/object/commit_walker_test.go +++ b/plumbing/object/commit_walker_test.go @@ -16,7 +16,7 @@ func (s *CommitWalkerSuite) TestCommitPreIterator(c *C) { commit := s.commit(c, s.Fixture.Head) var commits []*Commit - NewCommitPreorderIter(commit, nil).ForEach(func(c *Commit) error { + NewCommitPreorderIter(commit, nil, nil).ForEach(func(c *Commit) error { commits = append(commits, c) return nil }) @@ -42,7 +42,7 @@ func (s *CommitWalkerSuite) TestCommitPreIteratorWithIgnore(c *C) { commit := s.commit(c, s.Fixture.Head) var commits []*Commit - NewCommitPreorderIter(commit, []plumbing.Hash{ + NewCommitPreorderIter(commit, nil, []plumbing.Hash{ plumbing.NewHash("af2d6a6954d532f8ffb47615169c8fdf9d383a1a"), }).ForEach(func(c *Commit) error { commits = append(commits, c) @@ -60,6 +60,30 @@ func (s *CommitWalkerSuite) TestCommitPreIteratorWithIgnore(c *C) { } } +func (s *CommitWalkerSuite) TestCommitPreIteratorWithSeenExternal(c *C) { + commit := s.commit(c, s.Fixture.Head) + + var commits []*Commit + seenExternal := map[plumbing.Hash]bool{ + plumbing.NewHash("af2d6a6954d532f8ffb47615169c8fdf9d383a1a"): true, + } + NewCommitPreorderIter(commit, seenExternal, nil). + ForEach(func(c *Commit) error { + commits = append(commits, c) + return nil + }) + + c.Assert(commits, HasLen, 2) + + expected := []string{ + "6ecf0ef2c2dffb796033e5a02219af86ec6584e5", + "918c48b83bd081e863dbe1b80f8998f058cd8294", + } + for i, commit := range commits { + c.Assert(commit.Hash.String(), Equals, expected[i]) + } +} + func (s *CommitWalkerSuite) TestCommitPostIterator(c *C) { commit := s.commit(c, s.Fixture.Head) |