diff --git a/modules/git/notes_gogit.go b/modules/git/notes_gogit.go index 534a5d5171..702754069b 100644 --- a/modules/git/notes_gogit.go +++ b/modules/git/notes_gogit.go @@ -36,6 +36,9 @@ func GetNote(ctx context.Context, repo *Repository, commitID string, note *Note) remainingCommitID = remainingCommitID[2:] } if err != nil { + if err == object.ErrDirectoryNotFound { + return ErrNotExist{ID: remainingCommitID, RelPath: path} + } return err } } diff --git a/modules/git/notes_test.go b/modules/git/notes_test.go index f66a191e6a..fec46e5960 100644 --- a/modules/git/notes_test.go +++ b/modules/git/notes_test.go @@ -39,3 +39,15 @@ func TestGetNestedNotes(t *testing.T) { assert.NoError(t, err) assert.Equal(t, []byte("Note 1"), note.Message) } + +func TestGetNonExistentNotes(t *testing.T) { + bareRepo1Path := filepath.Join(testReposDir, "repo1_bare") + bareRepo1, err := OpenRepository(bareRepo1Path) + assert.NoError(t, err) + defer bareRepo1.Close() + + note := Note{} + err = GetNote(context.Background(), bareRepo1, "non_existent_sha", ¬e) + assert.Error(t, err) + assert.IsType(t, ErrNotExist{}, err) +}