From 88b585c2e08d43af705cec178c1c7771f5d66e70 Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Tue, 15 Dec 2020 16:52:59 -0500 Subject: [PATCH] Store repository data in data path if not previously set (#13991) * Store repository data in data path if not previously set * update docs * Update docs/content/doc/advanced/config-cheat-sheet.en-us.md Co-authored-by: silverwind * update docs Co-authored-by: silverwind --- custom/conf/app.example.ini | 2 ++ docs/content/doc/advanced/config-cheat-sheet.en-us.md | 4 ++-- docs/content/doc/help/faq.en-us.md | 2 +- modules/setting/repository.go | 11 ++--------- snap/snapcraft.yaml | 2 +- 5 files changed, 8 insertions(+), 13 deletions(-) diff --git a/custom/conf/app.example.ini b/custom/conf/app.example.ini index af60fd8b67..6a4e0ca02f 100644 --- a/custom/conf/app.example.ini +++ b/custom/conf/app.example.ini @@ -17,7 +17,9 @@ PROJECT_BOARD_BASIC_KANBAN_TYPE = To Do, In Progress, Done PROJECT_BOARD_BUG_TRIAGE_TYPE = Needs Triage, High Priority, Low Priority, Closed [repository] +; Root path for storing all repository data. It must be an absolute path. By default it is stored in a sub-directory of `APP_DATA_PATH`. ROOT = +; The script type this server supports. Usually this is `bash`, but some users report that only `sh` is available. SCRIPT_TYPE = bash ; DETECTED_CHARSETS_ORDER tie-break order for detected charsets. ; If the charsets have equal confidence, tie-breaking will be done by order in this list diff --git a/docs/content/doc/advanced/config-cheat-sheet.en-us.md b/docs/content/doc/advanced/config-cheat-sheet.en-us.md index eade821186..2cd175dbfc 100644 --- a/docs/content/doc/advanced/config-cheat-sheet.en-us.md +++ b/docs/content/doc/advanced/config-cheat-sheet.en-us.md @@ -42,8 +42,8 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`. ## Repository (`repository`) -- `ROOT`: **~/gitea-repositories/**: Root path for storing all repository data. It must be - an absolute path. +- `ROOT`: **data/gitea-repositories/**: Root path for storing all repository data. It must be + an absolute path. By default it is stored in a sub-directory of `APP_DATA_PATH`. - `SCRIPT_TYPE`: **bash**: The script type this server supports. Usually this is `bash`, but some users report that only `sh` is available. - `DETECTED_CHARSETS_ORDER`: **UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE, ISO-8859, windows-1252, ISO-8859, windows-1250, ISO-8859, ISO-8859, ISO-8859, windows-1253, ISO-8859, windows-1255, ISO-8859, windows-1251, windows-1256, KOI8-R, ISO-8859, windows-1254, Shift_JIS, GB18030, EUC-JP, EUC-KR, Big5, ISO-2022, ISO-2022, ISO-2022, IBM424_rtl, IBM424_ltr, IBM420_rtl, IBM420_ltr**: Tie-break order of detected charsets - if the detected charsets have equal confidence, charsets earlier in the list will be chosen in preference to those later. Adding `defaults` will place the unnamed charsets at that point. diff --git a/docs/content/doc/help/faq.en-us.md b/docs/content/doc/help/faq.en-us.md index bd7d808e89..4346c89c38 100644 --- a/docs/content/doc/help/faq.en-us.md +++ b/docs/content/doc/help/faq.en-us.md @@ -64,7 +64,7 @@ https://github.com/loganinak/MigrateGitlabToGogs - Windows: Environment variable `USERPROFILE`, else environment variables `HOMEDRIVE`+`HOMEPATH` - RepoRootPath - `ROOT` in `app.ini` - - Else `%(HomeDir)/gitea-repositories` + - Else `%(AppDataPath)/gitea-repositories` - INI (config file) - `-c` flag - Else `%(CustomPath)/conf/app.ini` diff --git a/modules/setting/repository.go b/modules/setting/repository.go index f5237ddf0d..328a09454b 100644 --- a/modules/setting/repository.go +++ b/modules/setting/repository.go @@ -10,8 +10,6 @@ import ( "strings" "code.gitea.io/gitea/modules/log" - - "github.com/unknwon/com" ) // enumerates all the policy repository creating @@ -249,19 +247,14 @@ var ( ) func newRepository() { - homeDir, err := com.HomeDir() - if err != nil { - log.Fatal("Failed to get home directory: %v", err) - } - homeDir = strings.ReplaceAll(homeDir, "\\", "/") - + var err error // Determine and create root git repository path. sec := Cfg.Section("repository") Repository.DisableHTTPGit = sec.Key("DISABLE_HTTP_GIT").MustBool() Repository.UseCompatSSHURI = sec.Key("USE_COMPAT_SSH_URI").MustBool() Repository.MaxCreationLimit = sec.Key("MAX_CREATION_LIMIT").MustInt(-1) Repository.DefaultBranch = sec.Key("DEFAULT_BRANCH").MustString(Repository.DefaultBranch) - RepoRootPath = sec.Key("ROOT").MustString(path.Join(homeDir, "gitea-repositories")) + RepoRootPath = sec.Key("ROOT").MustString(path.Join(AppDataPath, "gitea-repositories")) forcePathSeparator(RepoRootPath) if !filepath.IsAbs(RepoRootPath) { RepoRootPath = filepath.Join(AppWorkPath, RepoRootPath) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 7914cee2c8..55bd03b097 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -18,7 +18,7 @@ architectures: environment: GITEA_CUSTOM: "$SNAP_COMMON" - GITEA_WORK_DIR: "$SNAP_DATA" + GITEA_WORK_DIR: "$SNAP_COMMON" GIT_TEMPLATE_DIR: "$SNAP/usr/share/git-core/templates" GIT_EXEC_PATH: "$SNAP/usr/lib/git-core"