mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Add command dump and move to cmd did
This commit is contained in:
		
							
								
								
									
										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) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user