@@ -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 | |||
// license that can be found in the LICENSE file. | |||
package main | |||
package cmd | |||
import ( | |||
"fmt" |
@@ -2,7 +2,7 @@ | |||
// Use of this source code is governed by a MIT-style | |||
// license that can be found in the LICENSE file. | |||
package main | |||
package cmd | |||
import ( | |||
//"container/list" | |||
@@ -36,9 +36,9 @@ var ( | |||
var CmdServ = cli.Command{ | |||
Name: "serv", | |||
Usage: "This command just should be called by ssh shell", | |||
Usage: "This command should only be called by SSH shell", | |||
Description: ` | |||
gogs serv provide access auth for repositories`, | |||
Serv provide access auth for repositories`, | |||
Action: runServ, | |||
Flags: []cli.Flag{}, | |||
} |
@@ -2,7 +2,7 @@ | |||
// Use of this source code is governed by a MIT-style | |||
// license that can be found in the LICENSE file. | |||
package main | |||
package cmd | |||
import ( | |||
"os" | |||
@@ -18,9 +18,9 @@ import ( | |||
var CmdUpdate = cli.Command{ | |||
Name: "update", | |||
Usage: "This command just should be called by ssh shell", | |||
Usage: "This command should only be called by SSH shell", | |||
Description: ` | |||
gogs update get pushed info and insert into database`, | |||
Update get pushed info and insert into database`, | |||
Action: runUpdate, | |||
Flags: []cli.Flag{}, | |||
} |
@@ -2,7 +2,7 @@ | |||
// Use of this source code is governed by a MIT-style | |||
// license that can be found in the LICENSE file. | |||
package main | |||
package cmd | |||
import ( | |||
"fmt" | |||
@@ -29,9 +29,9 @@ import ( | |||
var CmdWeb = cli.Command{ | |||
Name: "web", | |||
Usage: "Gogs web server", | |||
Usage: "Start Gogs web server", | |||
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`, | |||
Action: runWeb, | |||
Flags: []cli.Flag{}, |
@@ -13,6 +13,7 @@ import ( | |||
"github.com/codegangsta/cli" | |||
"github.com/gogits/gogs/cmd" | |||
"github.com/gogits/gogs/modules/base" | |||
) | |||
@@ -32,10 +33,11 @@ func main() { | |||
app.Usage = "Go Git Service" | |||
app.Version = APP_VER | |||
app.Commands = []cli.Command{ | |||
CmdWeb, | |||
CmdServ, | |||
CmdUpdate, | |||
// CmdFix, | |||
cmd.CmdWeb, | |||
// cmd.CmdFix, | |||
cmd.CmdDump, | |||
cmd.CmdServ, | |||
cmd.CmdUpdate, | |||
} | |||
app.Flags = append(app.Flags, []cli.Flag{}...) | |||
app.Run(os.Args) |
@@ -303,7 +303,6 @@ func newNotifyMailService() { | |||
} | |||
func NewConfigContext() { | |||
//var err error | |||
workDir, err := ExecDir() | |||
if err != nil { | |||
qlog.Fatalf("Fail to get work directory: %s\n", err) |