Skip to content

Commit

Permalink
Fix #8582 by handling empty repos (#8587)
Browse files Browse the repository at this point in the history
* Fix #8582 by handling empty repos

Signed-off-by: Jonas Franz <[email protected]>

* Fix tests

Signed-off-by: Jonas Franz <[email protected]>
  • Loading branch information
jonasfranz authored and lunny committed Oct 19, 2019
1 parent 5a62ae5 commit b2b9bda
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
3 changes: 3 additions & 0 deletions modules/repofiles/content.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ func (ct *ContentType) String() string {
// GetContentsOrList gets the meta data of a file's contents (*ContentsResponse) if treePath not a tree
// directory, otherwise a listing of file contents ([]*ContentsResponse). Ref can be a branch, commit or tag
func GetContentsOrList(repo *models.Repository, treePath, ref string) (interface{}, error) {
if repo.IsEmpty {
return make([]interface{}, 0), nil
}
if ref == "" {
ref = repo.DefaultBranch
}
Expand Down
16 changes: 16 additions & 0 deletions modules/repofiles/content_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -190,3 +190,19 @@ func TestGetContentsOrListErrors(t *testing.T) {
assert.Nil(t, fileContentResponse)
})
}

func TestGetContentsOrListOfEmptyRepos(t *testing.T) {
models.PrepareTestEnv(t)
ctx := test.MockContext(t, "user2/repo15")
ctx.SetParams(":id", "15")
test.LoadRepo(t, ctx, 15)
test.LoadUser(t, ctx, 2)
test.LoadGitRepo(t, ctx)
repo := ctx.Repo.Repository

t.Run("empty repo", func(t *testing.T) {
contents, err := GetContentsOrList(repo, "", "")
assert.NoError(t, err)
assert.Empty(t, contents)
})
}

0 comments on commit b2b9bda

Please sign in to comment.