mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Add flag to skip repository dumping (#5695)
This commit is contained in:
		
							
								
								
									
										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",
 | 
								Name:  "database, d",
 | 
				
			||||||
			Usage: "Specify the database SQL syntax",
 | 
								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)
 | 
							os.Setenv("TMPDIR", tmpWorkDir)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	reposDump := path.Join(tmpWorkDir, "gitea-repo.zip")
 | 
					 | 
				
			||||||
	dbDump := path.Join(tmpWorkDir, "gitea-db.sql")
 | 
						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")
 | 
						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")
 | 
						targetDBType := ctx.String("database")
 | 
				
			||||||
@@ -99,16 +117,6 @@ func runDump(ctx *cli.Context) error {
 | 
				
			|||||||
		log.Fatalf("Failed to dump database: %v", err)
 | 
							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 {
 | 
						if err := z.AddFile("gitea-db.sql", dbDump); err != nil {
 | 
				
			||||||
		log.Fatalf("Failed to include gitea-db.sql: %v", err)
 | 
							log.Fatalf("Failed to include gitea-db.sql: %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -149,6 +149,8 @@ in the current directory.
 | 
				
			|||||||
- Options:
 | 
					- Options:
 | 
				
			||||||
    - `--config path`, `-c path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini).
 | 
					    - `--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).
 | 
					    - `--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.
 | 
					    - `--verbose`, `-v`: If provided, shows additional details. Optional.
 | 
				
			||||||
- Examples:
 | 
					- Examples:
 | 
				
			||||||
    - `gitea dump`
 | 
					    - `gitea dump`
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user