Skip to content

Commit

Permalink
Add standard-compliant route to serve outdated R packages (go-gitea#3…
Browse files Browse the repository at this point in the history
…2783)

The R package repository currently does not have support for older
versions of packages which should be stored in a separate /Archive
router. This PR remedies that by adding a new path router.

I am a member of a group that loves using Gitea and this bug has been
annoying us for a long time. Hope it can be merged in time for Gitea
1.23.0.

Any feedback much appreciated.

Fixes go-gitea#32782
  • Loading branch information
Sebastian-T-T authored Dec 11, 2024
1 parent 4814f43 commit 874b848
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
1 change: 1 addition & 0 deletions routers/api/packages/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,7 @@ func CommonRoutes() *web.Router {
r.Get("/PACKAGES", cran.EnumerateSourcePackages)
r.Get("/PACKAGES{format}", cran.EnumerateSourcePackages)
r.Get("/{filename}", cran.DownloadSourcePackageFile)
r.Get("/Archive/{packagename}/{filename}", cran.DownloadSourcePackageFile)
})
r.Put("", reqPackageAccess(perm.AccessModeWrite), cran.UploadSourcePackageFile)
})
Expand Down
8 changes: 8 additions & 0 deletions tests/integration/api_packages_cran_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,14 @@ func TestPackageCran(t *testing.T) {
MakeRequest(t, req, http.StatusOK)
})

t.Run("DownloadArchived", func(t *testing.T) {
defer tests.PrintCurrentTest(t)()

req := NewRequest(t, "GET", fmt.Sprintf("%s/src/contrib/Archive/%s/%s_%s.tar.gz", url, packageName, packageName, packageVersion)).
AddBasicAuth(user.Name)
MakeRequest(t, req, http.StatusOK)
})

t.Run("Enumerate", func(t *testing.T) {
defer tests.PrintCurrentTest(t)()

Expand Down

0 comments on commit 874b848

Please sign in to comment.