1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-22 18:28:37 +00:00

Sync gitea app path for git hooks and authorized keys when starting (#17335)

Gitea writes its own AppPath into git hook scripts. If Gitea's AppPath changes, then the git push will fail.

This PR:

* Introduce an AppState module, it can persist app states into database
* During GlobalInit, Gitea will check if the current AppPath is the same as last one. If they don't match, Gitea will sync git hooks.
* Refactor some code to make them more clear.
* Also, "Detect if gitea binary's name changed" #11341 is related, we call models.RewriteAllPublicKeys to update ssh authorized_keys file
This commit is contained in:
wxiaoguang
2021-10-21 17:22:43 +08:00
committed by GitHub
parent 053b2f4dce
commit 83df0caf15
11 changed files with 339 additions and 56 deletions

View File

@@ -352,6 +352,8 @@ var migrations = []Migration{
NewMigration("Add issue content history table", addTableIssueContentHistory),
// v199 -> v200
NewMigration("Add remote version table", addRemoteVersionTable),
// v200 -> v201
NewMigration("Add table app_state", addTableAppState),
}
// GetCurrentDBVersion returns the current db version