Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHordur Freyr Yngvason <hfyngvason@gitlab.com>2022-03-16 04:19:04 +0300
committerHordur Freyr Yngvason <hfyngvason@gitlab.com>2022-03-16 04:19:04 +0300
commitd560b30cdac936e74296c0f5673e4b4b4b8247ce (patch)
treeb81f98660b00a1fbf3390c311d6d6dd8d9fd3ca1
parent8c372d53c4cd72eba6c5546bdcbf6485be08a694 (diff)
-rw-r--r--internal/gitaly/service/commit/tree_entry.go4
-rw-r--r--internal/gitaly/service/commit/tree_entry_test.go7
2 files changed, 10 insertions, 1 deletions
diff --git a/internal/gitaly/service/commit/tree_entry.go b/internal/gitaly/service/commit/tree_entry.go
index 2573fe3c0..f9d704243 100644
--- a/internal/gitaly/service/commit/tree_entry.go
+++ b/internal/gitaly/service/commit/tree_entry.go
@@ -1,6 +1,7 @@
package commit
import (
+ "errors"
"fmt"
"io"
"strings"
@@ -23,6 +24,9 @@ func sendTreeEntry(
treeEntry, err := catfile.NewTreeEntryFinder(objectReader, objectInfoReader).FindByRevisionAndPath(ctx, revision, path)
if err != nil {
+ if errors.Is(err, git.ErrReferenceNotFound) {
+ return helper.ErrNotFoundf("reference not found: %s", revision)
+ }
return err
}
diff --git a/internal/gitaly/service/commit/tree_entry_test.go b/internal/gitaly/service/commit/tree_entry_test.go
index 08ef53116..d06480ecf 100644
--- a/internal/gitaly/service/commit/tree_entry_test.go
+++ b/internal/gitaly/service/commit/tree_entry_test.go
@@ -209,11 +209,16 @@ func TestFailedTreeEntry(t *testing.T) {
expectedCode: codes.NotFound,
},
{
- name: "Missing file with space in path",
+ name: "Revision is valid but does not exist",
req: &gitalypb.TreeEntryRequest{Repository: repo, Revision: []byte("deadfacedeadfacedeadfacedeadfacedeadface"), Path: []byte("with space/README.md")},
expectedCode: codes.NotFound,
},
{
+ name: "Missing file with space in path",
+ req: &gitalypb.TreeEntryRequest{Repository: repo, Revision: []byte("913c66a37b4a45b9769037c55c2d238bd0942d2e"), Path: []byte("with space/README.md")},
+ expectedCode: codes.NotFound,
+ },
+ {
name: "Missing file",
req: &gitalypb.TreeEntryRequest{Repository: repo, Revision: []byte("e63f41fe459e62e1228fcef60d7189127aeba95a"), Path: []byte("missing.rb")},
expectedCode: codes.NotFound,