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:
		
							
								
								
									
										32
									
								
								cmd/dump.go
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								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,14 +83,28 @@ 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 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")
 | 
			
		||||
	if len(targetDBType) > 0 && targetDBType != models.DbCfg.Type {
 | 
			
		||||
@@ -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`
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user