8000 Fix retrieving of a non existing tree entry · MicrosoftWebMatrix/libgit2sharp@b0be581 · GitHub
[go: up one dir, main page]

Skip to content

Commit b0be581

Browse files
committed
Fix retrieving of a non existing tree entry
1 parent 2ce3947 commit b0be581

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

LibGit2Sharp.Tests/TreeFixture.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,17 @@ public void CanGetEntryByName()
9292
}
9393
}
9494

95+
[Test]
96+
public void GettingAnUknownTreeEntryReturnsNull()
97+
{
98+
using (var repo = new Repository(Constants.BareTestRepoPath))
99+
{
100+
var tree = repo.Lookup<Tree>(sha);
101+
TreeEntry treeEntry = tree["I-do-not-exist"];
102+
treeEntry.ShouldBeNull();
103+
}
104+
}
105+
95106
[Test]
96107
public void CanGetEntryCountFromTree()
97108
{

LibGit2Sharp/Tree.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ public TreeEntry this[string name]
2424
using (var obj = new ObjectSafeWrapper(Id, repo))
2525
{
2626
IntPtr e = NativeMethods.git_tree_entry_byname(obj.ObjectPtr, name);
27+
28+
if (e == IntPtr.Zero)
29+
{
30+
return null;
31+
}
32+
2733
return new TreeEntry(e, Id, repo);
2834
}
2935
}

0 commit comments

Comments
 (0)
0