Add command dump and move to cmd did
This commit is contained in:
		
							parent
							
								
									cd2020429a
								
							
						
					
					
						commit
						3bd5fc6d6f
					
				
					 7 changed files with 68 additions and 15 deletions
				
			
		
							
								
								
									
										52
									
								
								cmd/dump.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								cmd/dump.go
									
									
									
									
									
										Normal file
									
								
							|  | @ -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{}, | ||||
							
								
								
									
										10
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								gogs.go
									
									
									
									
									
								
							|  | @ -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) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue