gitea/models/migrations
wxiaoguang 580e21dd2e
Refactor LFS SSH and internal routers ()
Gitea instance keeps reporting a lot of errors like "LFS SSH transfer connection denied, pure SSH protocol is disabled". When starting debugging the problem, there are more problems found. Try to address most of them:

* avoid unnecessary server side error logs (change `fail()` to not log them)
* figure out the broken tests/user2/lfs.git (added comments)
* avoid `migratePushMirrors` failure when a repository doesn't exist (ignore them)
* avoid "Authorization" (internal&lfs) header conflicts, remove the tricky "swapAuth" and use "X-Gitea-Internal-Auth"
* make internal token comparing constant time (it wasn't a serous problem because in a real world it's nearly impossible to timing-attack the token, but good to fix and backport)
* avoid duplicate routers (introduce AddOwnerRepoGitLFSRoutes)
* avoid "internal (private)" routes using session/web context (they should use private context)
* fix incorrect "path" usages (use "filepath")
* fix incorrect mocked route point handling (need to check func nil correctly)
* split some tests from "git general tests" to "git misc tests" (to keep "git_general_test.go" simple)

Still no correct result for Git LFS SSH tests. So the code is kept there
(`tests/integration/git_lfs_ssh_test.go`) and a FIXME explains the details.
..
base Enable more `revive` linter rules ()
fixtures Remove If Exist check on migration for mssql because that syntax required SQL server 2016 ()
v1_6 Enable more `revive` linter rules ()
v1_7 Rename `Sync2` -> `Sync` ()
v1_8 Rename `Sync2` -> `Sync` ()
v1_9 Enable more `revive` linter rules ()
v1_10 Rename `Sync2` -> `Sync` ()
v1_11 Enable more `revive` linter rules ()
v1_12 Rename `Sync2` -> `Sync` ()
v1_13 Rename `Sync2` -> `Sync` ()
v1_14 Use `crypto/sha256` ()
v1_15 Rename `Sync2` -> `Sync` ()
v1_16 bump to go 1.23 ()
v1_17 Update misspell to 0.5.1 and add `misspellings.csv` ()
v1_18 Fix wrong table name ()
v1_19 Rename `Sync2` -> `Sync` ()
v1_20 Enable more `revive` linter rules ()
v1_21 Refactor LFS SSH and internal routers ()
v1_22 Upgrade xorm to v1.3.9 and improve some migrations Sync ()
v1_23 Add new index for action to resolve the performance problem ()
migrations.go Add new index for action to resolve the performance problem ()
migrations_test.go Refactor the DB migration system slightly ()