Add flag to skip repository dumping (#5695)
This commit is contained in:
		
							parent
							
								
									5c44f751a3
								
							
						
					
					
						commit
						656456441c
					
				
					 2 changed files with 24 additions and 14 deletions
				
			
		
							
								
								
									
										36
									
								
								cmd/dump.go
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								cmd/dump.go
									
									
									
									
									
								
							|  | @ -48,6 +48,10 @@ It can be used for backup and capture Gitea server image to send to maintainer`, | |||
| 			Name:  "database, d", | ||||
| 			Usage: "Specify the database SQL syntax", | ||||
| 		}, | ||||
| 		cli.BoolFlag{ | ||||
| 			Name:  "skip-repository, R", | ||||
| 			Usage: "Skip the repository dumping", | ||||
| 		}, | ||||
| 	}, | ||||
| } | ||||
| 
 | ||||
|  | @ -79,13 +83,27 @@ func runDump(ctx *cli.Context) error { | |||
| 		os.Setenv("TMPDIR", tmpWorkDir) | ||||
| 	} | ||||
| 
 | ||||
| 	reposDump := path.Join(tmpWorkDir, "gitea-repo.zip") | ||||
| 	dbDump := path.Join(tmpWorkDir, "gitea-db.sql") | ||||
| 
 | ||||
| 	log.Printf("Dumping local repositories...%s", setting.RepoRootPath) | ||||
| 	fileName := fmt.Sprintf("gitea-dump-%d.zip", time.Now().Unix()) | ||||
| 	log.Printf("Packing dump files...") | ||||
| 	z, err := zip.Create(fileName) | ||||
| 	if err != nil { | ||||
| 		log.Fatalf("Failed to create %s: %v", fileName, err) | ||||
| 	} | ||||
| 	zip.Verbose = ctx.Bool("verbose") | ||||
| 	if err := zip.PackTo(setting.RepoRootPath, reposDump, true); err != nil { | ||||
| 		log.Fatalf("Failed to dump local repositories: %v", err) | ||||
| 
 | ||||
| 	if ctx.IsSet("skip-repository") { | ||||
| 		log.Printf("Skip dumping local repositories") | ||||
| 	} else { | ||||
| 		log.Printf("Dumping local repositories...%s", setting.RepoRootPath) | ||||
| 		reposDump := path.Join(tmpWorkDir, "gitea-repo.zip") | ||||
| 		if err := zip.PackTo(setting.RepoRootPath, reposDump, true); err != nil { | ||||
| 			log.Fatalf("Failed to dump local repositories: %v", err) | ||||
| 		} | ||||
| 		if err := z.AddFile("gitea-repo.zip", reposDump); err != nil { | ||||
| 			log.Fatalf("Failed to include gitea-repo.zip: %v", err) | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	targetDBType := ctx.String("database") | ||||
|  | @ -99,16 +117,6 @@ func runDump(ctx *cli.Context) error { | |||
| 		log.Fatalf("Failed to dump database: %v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	fileName := fmt.Sprintf("gitea-dump-%d.zip", time.Now().Unix()) | ||||
| 	log.Printf("Packing dump files...") | ||||
| 	z, err := zip.Create(fileName) | ||||
| 	if err != nil { | ||||
| 		log.Fatalf("Failed to create %s: %v", fileName, err) | ||||
| 	} | ||||
| 
 | ||||
| 	if err := z.AddFile("gitea-repo.zip", reposDump); err != nil { | ||||
| 		log.Fatalf("Failed to include gitea-repo.zip: %v", err) | ||||
| 	} | ||||
| 	if err := z.AddFile("gitea-db.sql", dbDump); err != nil { | ||||
| 		log.Fatalf("Failed to include gitea-db.sql: %v", err) | ||||
| 	} | ||||
|  |  | |||
|  | @ -149,6 +149,8 @@ in the current directory. | |||
| - Options: | ||||
|     - `--config path`, `-c path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini). | ||||
|     - `--tempdir path`, `-t path`: Path to the temporary directory used. Optional. (default: /tmp). | ||||
|     - `--skip-repository`, `-R`: Skip the repository dumping. Optional. | ||||
|     - `--database`, `-d`: Specify the database SQL syntax. Optional. | ||||
|     - `--verbose`, `-v`: If provided, shows additional details. Optional. | ||||
| - Examples: | ||||
|     - `gitea dump` | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue