Skip to content
This repository was archived by the owner on Sep 11, 2020. It is now read-only.

Commit 5b1d537

Browse files
authored
Merge pull request #885 from jsravn/findentry-return-file-not-found
plumbing: object, return ErrFileNotFound in FindEntry. Fixes #883
2 parents 400b083 + b304997 commit 5b1d537

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

plumbing/object/tree.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ var (
2626
ErrMaxTreeDepth = errors.New("maximum tree depth exceeded")
2727
ErrFileNotFound = errors.New("file not found")
2828
ErrDirectoryNotFound = errors.New("directory not found")
29+
ErrEntryNotFound = errors.New("entry not found")
2930
)
3031

3132
// Tree is basically like a directory - it references a bunch of other trees
@@ -167,16 +168,14 @@ func (t *Tree) dir(baseName string) (*Tree, error) {
167168
return tree, err
168169
}
169170

170-
var errEntryNotFound = errors.New("entry not found")
171-
172171
func (t *Tree) entry(baseName string) (*TreeEntry, error) {
173172
if t.m == nil {
174173
t.buildMap()
175174
}
176175

177176
entry, ok := t.m[baseName]
178177
if !ok {
179-
return nil, errEntryNotFound
178+
return nil, ErrEntryNotFound
180179
}
181180

182181
return entry, nil

plumbing/object/tree_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,12 @@ func (s *TreeSuite) TestFindEntry(c *C) {
114114
c.Assert(e.Name, Equals, "foo.go")
115115
}
116116

117+
func (s *TreeSuite) TestFindEntryNotFound(c *C) {
118+
e, err := s.Tree.FindEntry("not-found")
119+
c.Assert(e, IsNil)
120+
c.Assert(err, Equals, ErrEntryNotFound)
121+
}
122+
117123
// Overrides returned plumbing.EncodedObject for given hash.
118124
// Otherwise, delegates to actual storer to get real object
119125
type fakeStorer struct {

0 commit comments

Comments
 (0)