From c7fc75ef6ebd7127e0918b1669d336ba39844201 Mon Sep 17 00:00:00 2001 From: knqyf263 Date: Sat, 3 Aug 2019 16:30:58 -1000 Subject: Add limiting options to git log Signed-off-by: knqyf263 --- repository.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'repository.go') diff --git a/repository.go b/repository.go index 2251d6c..11269ef 100644 --- a/repository.go +++ b/repository.go @@ -1068,6 +1068,11 @@ func (r *Repository) Log(o *LogOptions) (object.CommitIter, error) { it = r.logWithFile(*o.FileName, it, o.All) } + if o.Since != nil || o.Until != nil { + limitOptions := object.LogLimitOptions{Since: o.Since, Until: o.Until} + it = r.logWithLimit(it, limitOptions) + } + return it, nil } @@ -1097,6 +1102,10 @@ func (*Repository) logWithFile(fileName string, commitIter object.CommitIter, ch return object.NewCommitFileIterFromIter(fileName, commitIter, checkParent) } +func (*Repository) logWithLimit(commitIter object.CommitIter, limitOptions object.LogLimitOptions) object.CommitIter { + return object.NewCommitLimitIterFromIter(commitIter, limitOptions) +} + func commitIterFunc(order LogOrder) func(c *object.Commit) object.CommitIter { switch order { case LogOrderDefault: -- cgit