diff --git a/Octokit.Tests.Integration/Clients/RepositoryContentsClientTests.cs b/Octokit.Tests.Integration/Clients/RepositoryContentsClientTests.cs index 2afea59c..d2283388 100644 --- a/Octokit.Tests.Integration/Clients/RepositoryContentsClientTests.cs +++ b/Octokit.Tests.Integration/Clients/RepositoryContentsClientTests.cs @@ -222,6 +222,18 @@ namespace Octokit.Tests.Integration.Clients Assert.Equal(ContentType.Dir, contents.First().Type); } + [IntegrationTest] + public async Task GetsContentNonMasterWithRootPath() + { + var github = Helper.GetAuthenticatedClient(); + + var contents = await github + .Repository + .Content + .GetAllContentsByRef("octocat", "Spoon-Knife", "/", reference: "test-branch"); + Assert.Equal(4, contents.Count); + } + [IntegrationTest] public async Task GetsDirectoryContentWithRepositoryId() { diff --git a/Octokit/Clients/RepositoryContentsClient.cs b/Octokit/Clients/RepositoryContentsClient.cs index 96056f67..92ccfd45 100644 --- a/Octokit/Clients/RepositoryContentsClient.cs +++ b/Octokit/Clients/RepositoryContentsClient.cs @@ -107,7 +107,9 @@ namespace Octokit Ensure.ArgumentNotNullOrEmptyString(path, nameof(path)); Ensure.ArgumentNotNullOrEmptyString(reference, nameof(reference)); - var url = ApiUrls.RepositoryContent(owner, name, path, reference); + var url = (path == "/") + ? ApiUrls.RepositoryContent(owner, name, "", reference) + : ApiUrls.RepositoryContent(owner, name, path, reference); return ApiConnection.GetAll(url); }