Add command dump and move to cmd did

tokarchuk/v1.17
Unknown 11 years ago
parent cd2020429a
commit 3bd5fc6d6f
  1. 52
      cmd/dump.go
  2. 2
      cmd/fix.go
  3. 6
      cmd/serve.go
  4. 6
      cmd/update.go
  5. 6
      cmd/web.go
  6. 10
      gogs.go
  7. 1
      modules/base/conf.go

@ -0,0 +1,52 @@
// Copyright 2014 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import (
"log"
"os"
"path"
"github.com/Unknwon/cae/zip"
"github.com/codegangsta/cli"
"github.com/gogits/gogs/modules/base"
)
var CmdDump = cli.Command{
Name: "dump",
Usage: "Dump Gogs files except database",
Description: `
Dump compresses all related files into zip file except database,
it can be used for backup and capture Gogs server image to send
to maintainer`,
Action: runDump,
Flags: []cli.Flag{},
}
func runDump(*cli.Context) {
base.NewConfigContext()
log.Printf("Dumping local repositories...%s", base.RepoRootPath)
zip.Verbose = false
defer os.Remove("gogs-repo.zip")
if err := zip.PackTo(base.RepoRootPath, "gogs-repo.zip", true); err != nil {
log.Fatalf("Fail to dump local repositories: %v", err)
}
z, err := zip.Create("gogs-dump.zip")
if err != nil {
os.Remove("gogs-dump.zip")
log.Fatalf("Fail to create gogs-dump.zip: %v", err)
}
execDir, _ := base.ExecDir()
z.AddFile("gogs-repo.zip", path.Join(execDir, "gogs-repo.zip"))
z.AddFile("custom/conf/app.ini", path.Join(execDir, "custom/conf/app.ini"))
z.AddDir("log", path.Join(execDir, "log"))
z.Close()
log.Println("Finish dumping!")
}

@ -2,7 +2,7 @@
// Use of this source code is governed by a MIT-style // Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
package main package cmd
import ( import (
"fmt" "fmt"

@ -2,7 +2,7 @@
// Use of this source code is governed by a MIT-style // Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
package main package cmd
import ( import (
//"container/list" //"container/list"
@ -36,9 +36,9 @@ var (
var CmdServ = cli.Command{ var CmdServ = cli.Command{
Name: "serv", Name: "serv",
Usage: "This command just should be called by ssh shell", Usage: "This command should only be called by SSH shell",
Description: ` Description: `
gogs serv provide access auth for repositories`, Serv provide access auth for repositories`,
Action: runServ, Action: runServ,
Flags: []cli.Flag{}, Flags: []cli.Flag{},
} }

@ -2,7 +2,7 @@
// Use of this source code is governed by a MIT-style // Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
package main package cmd
import ( import (
"os" "os"
@ -18,9 +18,9 @@ import (
var CmdUpdate = cli.Command{ var CmdUpdate = cli.Command{
Name: "update", Name: "update",
Usage: "This command just should be called by ssh shell", Usage: "This command should only be called by SSH shell",
Description: ` Description: `
gogs update get pushed info and insert into database`, Update get pushed info and insert into database`,
Action: runUpdate, Action: runUpdate,
Flags: []cli.Flag{}, Flags: []cli.Flag{},
} }

@ -2,7 +2,7 @@
// Use of this source code is governed by a MIT-style // Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
package main package cmd
import ( import (
"fmt" "fmt"
@ -29,9 +29,9 @@ import (
var CmdWeb = cli.Command{ var CmdWeb = cli.Command{
Name: "web", Name: "web",
Usage: "Gogs web server", Usage: "Start Gogs web server",
Description: ` Description: `
gogs web server is the only thing you need to run, Gogs web server is the only thing you need to run,
and it takes care of all the other things for you`, and it takes care of all the other things for you`,
Action: runWeb, Action: runWeb,
Flags: []cli.Flag{}, Flags: []cli.Flag{},

@ -13,6 +13,7 @@ import (
"github.com/codegangsta/cli" "github.com/codegangsta/cli"
"github.com/gogits/gogs/cmd"
"github.com/gogits/gogs/modules/base" "github.com/gogits/gogs/modules/base"
) )
@ -32,10 +33,11 @@ func main() {
app.Usage = "Go Git Service" app.Usage = "Go Git Service"
app.Version = APP_VER app.Version = APP_VER
app.Commands = []cli.Command{ app.Commands = []cli.Command{
CmdWeb, cmd.CmdWeb,
CmdServ, // cmd.CmdFix,
CmdUpdate, cmd.CmdDump,
// CmdFix, cmd.CmdServ,
cmd.CmdUpdate,
} }
app.Flags = append(app.Flags, []cli.Flag{}...) app.Flags = append(app.Flags, []cli.Flag{}...)
app.Run(os.Args) app.Run(os.Args)

@ -303,7 +303,6 @@ func newNotifyMailService() {
} }
func NewConfigContext() { func NewConfigContext() {
//var err error
workDir, err := ExecDir() workDir, err := ExecDir()
if err != nil { if err != nil {
qlog.Fatalf("Fail to get work directory: %s\n", err) qlog.Fatalf("Fail to get work directory: %s\n", err)

Loading…
Cancel
Save