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 |
||
|---|---|---|
| .. | ||
| attachment.go | ||
| cache.go | ||
| cors.go | ||
| cron.go | ||
| cron_test.go | ||
| database.go | ||
| database_sqlite.go | ||
| database_test.go | ||
| federation.go | ||
| git.go | ||
| indexer.go | ||
| indexer_test.go | ||
| lfs.go | ||
| log.go | ||
| mailer.go | ||
| markup.go | ||
| migrations.go | ||
| mime_type_map.go | ||
| mirror.go | ||
| oauth2_client.go | ||
| picture.go | ||
| project.go | ||
| proxy.go | ||
| queue.go | ||
| repository.go | ||
| service.go | ||
| session.go | ||
| setting.go | ||
| setting_test.go | ||
| storage.go | ||
| storage_test.go | ||
| task.go | ||
| webhook.go | ||