diff options
author | ᴜɴᴋɴᴡᴏɴ <u@gogs.io> | 2020-02-22 09:05:26 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-22 09:05:26 +0800 |
commit | 648d9e253c1924b832248f26fee42b2fb64dc3bc (patch) | |
tree | 51649fad974cd7284a47d30e412c90e7ab72cd2c /internal/cmd/backup.go | |
parent | 5b14cc6f0b7b661beb2640a94bd15660cdb48587 (diff) |
conf: overhaul server settings (#5928)
* conf: rename package
* Requires Go 1.12
* Fix lint
* Fix lint
* Overhaul
* db: fix tests
* Save my work
* Fix tests
* Server.UnixSocketPermission
* Server.LocalRootURL
* SSH settings
* Server.OfflineMode
* Save my work
* App.Version
* Remove [server] STATIC_ROOT_PATH
* Server.LandingURL
Diffstat (limited to 'internal/cmd/backup.go')
-rw-r--r-- | internal/cmd/backup.go | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/internal/cmd/backup.go b/internal/cmd/backup.go index 6e9b24b0..28411b0e 100644 --- a/internal/cmd/backup.go +++ b/internal/cmd/backup.go @@ -9,16 +9,18 @@ import ( "io/ioutil" "os" "path" + "path/filepath" "time" + "github.com/pkg/errors" "github.com/unknwon/cae/zip" "github.com/unknwon/com" "github.com/urfave/cli" "gopkg.in/ini.v1" log "unknwon.dev/clog/v2" + "gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/db" - "gogs.io/gogs/internal/setting" ) var Backup = cli.Command{ @@ -44,10 +46,12 @@ const _ARCHIVE_ROOT_DIR = "gogs-backup" func runBackup(c *cli.Context) error { zip.Verbose = c.Bool("verbose") - if c.IsSet("config") { - setting.CustomConf = c.String("config") + + err := conf.Init(c.String("config")) + if err != nil { + return errors.Wrap(err, "init configuration") } - setting.Init() + db.LoadConfigs() db.SetEngine() @@ -66,12 +70,12 @@ func runBackup(c *cli.Context) error { metadata := ini.Empty() metadata.Section("").Key("VERSION").SetValue(com.ToStr(_CURRENT_BACKUP_FORMAT_VERSION)) metadata.Section("").Key("DATE_TIME").SetValue(time.Now().String()) - metadata.Section("").Key("GOGS_VERSION").SetValue(setting.AppVersion) + metadata.Section("").Key("GOGS_VERSION").SetValue(conf.App.Version) if err = metadata.SaveTo(metaFile); err != nil { log.Fatal("Failed to save metadata '%s': %v", metaFile, err) } - archiveName := path.Join(c.String("target"), c.String("archive-name")) + archiveName := filepath.Join(c.String("target"), c.String("archive-name")) log.Info("Packing backup files to: %s", archiveName) z, err := zip.Create(archiveName) @@ -83,7 +87,7 @@ func runBackup(c *cli.Context) error { } // Database - dbDir := path.Join(rootDir, "db") + dbDir := filepath.Join(rootDir, "db") if err = db.DumpDatabase(dbDir); err != nil { log.Fatal("Failed to dump database: %v", err) } @@ -93,7 +97,7 @@ func runBackup(c *cli.Context) error { // Custom files if !c.Bool("database-only") { - if err = z.AddDir(_ARCHIVE_ROOT_DIR+"/custom", setting.CustomPath); err != nil { + if err = z.AddDir(_ARCHIVE_ROOT_DIR+"/custom", conf.CustomDir()); err != nil { log.Fatal("Failed to include 'custom': %v", err) } } @@ -101,7 +105,7 @@ func runBackup(c *cli.Context) error { // Data files if !c.Bool("database-only") { for _, dir := range []string{"attachments", "avatars", "repo-avatars"} { - dirPath := path.Join(setting.AppDataPath, dir) + dirPath := filepath.Join(conf.Server.AppDataPath, dir) if !com.IsDir(dirPath) { continue } @@ -114,9 +118,9 @@ func runBackup(c *cli.Context) error { // Repositories if !c.Bool("exclude-repos") && !c.Bool("database-only") { - reposDump := path.Join(rootDir, "repositories.zip") - log.Info("Dumping repositories in '%s'", setting.RepoRootPath) - if err = zip.PackTo(setting.RepoRootPath, reposDump, true); err != nil { + reposDump := filepath.Join(rootDir, "repositories.zip") + log.Info("Dumping repositories in '%s'", conf.RepoRootPath) + if err = zip.PackTo(conf.RepoRootPath, reposDump, true); err != nil { log.Fatal("Failed to dump repositories: %v", err) } log.Info("Repositories dumped to: %s", reposDump) |