From 3123725ff3d1fb5c80337520e7deba9893037e13 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Sat, 23 Mar 2024 11:10:07 +0100 Subject: [PATCH] Revert "[GITEA] Configurable clone methods" This reverts commit 1d8bca07f3bd6017e0b84c21cb66a9271c8693f5. --- modules/setting/repository.go | 12 ----- modules/web/middleware/data.go | 1 - templates/repo/clone_script.tmpl | 3 -- templates/repo/home.tmpl | 31 +++---------- tests/integration/repo_test.go | 78 -------------------------------- 5 files changed, 7 insertions(+), 118 deletions(-) diff --git a/modules/setting/repository.go b/modules/setting/repository.go index 65f8d11b8d..50f0fd704c 100644 --- a/modules/setting/repository.go +++ b/modules/setting/repository.go @@ -7,7 +7,6 @@ import ( "os/exec" "path" "path/filepath" - "slices" "strings" "code.gitea.io/gitea/modules/log" @@ -20,8 +19,6 @@ const ( RepoCreatingPublic = "public" ) -var RecognisedRepositoryDownloadOrCloneMethods = []string{"download-zip", "download-targz", "download-bundle", "vscode-clone", "vscodium-clone", "cite"} - // MaxUserCardsPerPage sets maximum amount of watchers and stargazers shown per page // those pages use 2 or 3 column layout, so the value should be divisible by 2 and 3 var MaxUserCardsPerPage = 36 @@ -50,7 +47,6 @@ var ( DisabledRepoUnits []string DefaultRepoUnits []string DefaultForkRepoUnits []string - DownloadOrCloneMethods []string PrefixArchiveFiles bool DisableMigrations bool DisableStars bool @@ -173,7 +169,6 @@ var ( DisabledRepoUnits: []string{}, DefaultRepoUnits: []string{}, DefaultForkRepoUnits: []string{}, - DownloadOrCloneMethods: []string{"download-zip", "download-targz", "download-bundle", "vscode-clone"}, PrefixArchiveFiles: true, DisableMigrations: false, DisableStars: false, @@ -377,12 +372,5 @@ func loadRepositoryFrom(rootCfg ConfigProvider) { if err := loadRepoArchiveFrom(rootCfg); err != nil { log.Fatal("loadRepoArchiveFrom: %v", err) } - - for _, method := range Repository.DownloadOrCloneMethods { - if !slices.Contains(RecognisedRepositoryDownloadOrCloneMethods, method) { - log.Error("Unrecognised repository download or clone method: %s", method) - } - } - Repository.EnableFlags = sec.Key("ENABLE_FLAGS").MustBool() } diff --git a/modules/web/middleware/data.go b/modules/web/middleware/data.go index c1d1af8528..08d83f94be 100644 --- a/modules/web/middleware/data.go +++ b/modules/web/middleware/data.go @@ -53,7 +53,6 @@ func CommonTemplateContextData() ContextData { "ShowMilestonesDashboardPage": setting.Service.ShowMilestonesDashboardPage, "ShowFooterVersion": setting.Other.ShowFooterVersion, "DisableDownloadSourceArchives": setting.Repository.DisableDownloadSourceArchives, - "DownloadOrCloneMethods": setting.Repository.DownloadOrCloneMethods, "EnableSwagger": setting.API.EnableSwagger, "EnableOpenIDSignIn": setting.Service.EnableOpenIDSignIn, diff --git a/templates/repo/clone_script.tmpl b/templates/repo/clone_script.tmpl index 46e49e7f85..8b951d8fc4 100644 --- a/templates/repo/clone_script.tmpl +++ b/templates/repo/clone_script.tmpl @@ -46,8 +46,5 @@ for (const el of document.getElementsByClassName('js-clone-url-vsc')) { el['href'] = 'vscode://vscode.git/clone?url=' + encodeURIComponent(link); } - for (const el of document.getElementsByClassName('js-clone-url-vscodium')) { - el['href'] = 'vscodium://vscode.git/clone?url=' + encodeURIComponent(link); - } })(); diff --git a/templates/repo/home.tmpl b/templates/repo/home.tmpl index 6f0a996841..75e2170db6 100644 --- a/templates/repo/home.tmpl +++ b/templates/repo/home.tmpl @@ -137,32 +137,15 @@ {{template "repo/clone_script" .}}{{/* the script will update `.js-clone-url` and related elements */}} diff --git a/tests/integration/repo_test.go b/tests/integration/repo_test.go index 50022b6a29..9d2ace85df 100644 --- a/tests/integration/repo_test.go +++ b/tests/integration/repo_test.go @@ -54,84 +54,6 @@ func TestViewRepo(t *testing.T) { session.MakeRequest(t, req, http.StatusNotFound) } -func TestViewRepoCloneMethods(t *testing.T) { - defer tests.PrepareTestEnv(t)() - - getCloneMethods := func() []string { - req := NewRequest(t, "GET", "/user2/repo1") - resp := MakeRequest(t, req, http.StatusOK) - - htmlDoc := NewHTMLParser(t, resp.Body) - cloneMoreMethodsHTML := htmlDoc.doc.Find("#more-btn div a") - - var methods []string - cloneMoreMethodsHTML.Each(func(i int, s *goquery.Selection) { - a, _ := s.Attr("href") - methods = append(methods, a) - }) - - return methods - } - - testCloneMethods := func(expected []string) { - methods := getCloneMethods() - - assert.Len(t, methods, len(expected)) - for i, expectedMethod := range expected { - assert.Contains(t, methods[i], expectedMethod) - } - } - - t.Run("Defaults", func(t *testing.T) { - defer tests.PrintCurrentTest(t)() - - testCloneMethods([]string{"/master.zip", "/master.tar.gz", "/master.bundle", "vscode://"}) - }) - - t.Run("Customized methods", func(t *testing.T) { - defer tests.PrintCurrentTest(t)() - defer test.MockVariableValue(&setting.Repository.DownloadOrCloneMethods, []string{"vscodium-clone", "download-targz"})() - - testCloneMethods([]string{"vscodium://", "/master.tar.gz"}) - }) - - t.Run("Individual methods", func(t *testing.T) { - defer tests.PrintCurrentTest(t)() - - singleMethodTest := func(method, expectedURLPart string) { - t.Run(method, func(t *testing.T) { - defer tests.PrintCurrentTest(t)() - defer test.MockVariableValue(&setting.Repository.DownloadOrCloneMethods, []string{method})() - - testCloneMethods([]string{expectedURLPart}) - }) - } - - cases := map[string]string{ - "download-zip": "/master.zip", - "download-targz": "/master.tar.gz", - "download-bundle": "/master.bundle", - "vscode-clone": "vscode://", - "vscodium-clone": "vscodium://", - } - for method, expectedURLPart := range cases { - singleMethodTest(method, expectedURLPart) - } - }) - - t.Run("All methods", func(t *testing.T) { - defer tests.PrintCurrentTest(t)() - defer test.MockVariableValue(&setting.Repository.DownloadOrCloneMethods, setting.RecognisedRepositoryDownloadOrCloneMethods)() - - methods := getCloneMethods() - // We compare against - // len(setting.RecognisedRepositoryDownloadOrCloneMethods) - 1, because - // the test environment does not currently set things up for the cite - // method to display. - assert.GreaterOrEqual(t, len(methods), len(setting.RecognisedRepositoryDownloadOrCloneMethods)-1) - }) -} - func testViewRepo(t *testing.T) { defer tests.PrepareTestEnv(t)()