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 |
||
|---|---|---|
| .. | ||
| adopt.go | ||
| archive.go | ||
| branch.go | ||
| cache.go | ||
| check.go | ||
| commits.go | ||
| commits_test.go | ||
| create.go | ||
| create_test.go | ||
| fork.go | ||
| fork_test.go | ||
| generate.go | ||
| hooks.go | ||
| init.go | ||
| main_test.go | ||
| push.go | ||
| repo.go | ||
| update.go | ||