mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 02:46:04 +01:00 
			
		
		
		
	Migrate to urfave v3 (#34510)
migrate cli to urfave v3 add more cli tests --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		| @@ -19,7 +19,7 @@ import ( | ||||
| 	"code.gitea.io/gitea/services/convert" | ||||
| 	"code.gitea.io/gitea/services/migrations" | ||||
|  | ||||
| 	"github.com/urfave/cli/v2" | ||||
| 	"github.com/urfave/cli/v3" | ||||
| ) | ||||
|  | ||||
| // CmdDumpRepository represents the available dump repository sub-command. | ||||
| @@ -79,16 +79,13 @@ wiki, issues, labels, releases, release_assets, milestones, pull_requests, comme | ||||
| 	}, | ||||
| } | ||||
|  | ||||
| func runDumpRepository(ctx *cli.Context) error { | ||||
| func runDumpRepository(ctx context.Context, cmd *cli.Command) error { | ||||
| 	setupConsoleLogger(log.INFO, log.CanColorStderr, os.Stderr) | ||||
|  | ||||
| 	setting.DisableLoggerInit() | ||||
| 	setting.LoadSettings() // cannot access skip_tls_verify settings otherwise | ||||
|  | ||||
| 	stdCtx, cancel := installSignals() | ||||
| 	defer cancel() | ||||
|  | ||||
| 	if err := initDB(stdCtx); err != nil { | ||||
| 	if err := initDB(ctx); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| @@ -105,8 +102,8 @@ func runDumpRepository(ctx *cli.Context) error { | ||||
|  | ||||
| 	var ( | ||||
| 		serviceType structs.GitServiceType | ||||
| 		cloneAddr   = ctx.String("clone_addr") | ||||
| 		serviceStr  = ctx.String("git_service") | ||||
| 		cloneAddr   = cmd.String("clone_addr") | ||||
| 		serviceStr  = cmd.String("git_service") | ||||
| 	) | ||||
|  | ||||
| 	if strings.HasPrefix(strings.ToLower(cloneAddr), "https://github.com/") { | ||||
| @@ -124,13 +121,13 @@ func runDumpRepository(ctx *cli.Context) error { | ||||
| 	opts := base.MigrateOptions{ | ||||
| 		GitServiceType: serviceType, | ||||
| 		CloneAddr:      cloneAddr, | ||||
| 		AuthUsername:   ctx.String("auth_username"), | ||||
| 		AuthPassword:   ctx.String("auth_password"), | ||||
| 		AuthToken:      ctx.String("auth_token"), | ||||
| 		RepoName:       ctx.String("repo_name"), | ||||
| 		AuthUsername:   cmd.String("auth_username"), | ||||
| 		AuthPassword:   cmd.String("auth_password"), | ||||
| 		AuthToken:      cmd.String("auth_token"), | ||||
| 		RepoName:       cmd.String("repo_name"), | ||||
| 	} | ||||
|  | ||||
| 	if len(ctx.String("units")) == 0 { | ||||
| 	if len(cmd.String("units")) == 0 { | ||||
| 		opts.Wiki = true | ||||
| 		opts.Issues = true | ||||
| 		opts.Milestones = true | ||||
| @@ -140,7 +137,7 @@ func runDumpRepository(ctx *cli.Context) error { | ||||
| 		opts.PullRequests = true | ||||
| 		opts.ReleaseAssets = true | ||||
| 	} else { | ||||
| 		units := strings.Split(ctx.String("units"), ",") | ||||
| 		units := strings.Split(cmd.String("units"), ",") | ||||
| 		for _, unit := range units { | ||||
| 			switch strings.ToLower(strings.TrimSpace(unit)) { | ||||
| 			case "": | ||||
| @@ -169,7 +166,7 @@ func runDumpRepository(ctx *cli.Context) error { | ||||
|  | ||||
| 	// the repo_dir will be removed if error occurs in DumpRepository | ||||
| 	// make sure the directory doesn't exist or is empty, prevent from deleting user files | ||||
| 	repoDir := ctx.String("repo_dir") | ||||
| 	repoDir := cmd.String("repo_dir") | ||||
| 	if exists, err := util.IsExist(repoDir); err != nil { | ||||
| 		return fmt.Errorf("unable to stat repo_dir %q: %w", repoDir, err) | ||||
| 	} else if exists { | ||||
| @@ -184,7 +181,7 @@ func runDumpRepository(ctx *cli.Context) error { | ||||
| 	if err := migrations.DumpRepository( | ||||
| 		context.Background(), | ||||
| 		repoDir, | ||||
| 		ctx.String("owner_name"), | ||||
| 		cmd.String("owner_name"), | ||||
| 		opts, | ||||
| 	); err != nil { | ||||
| 		log.Fatal("Failed to dump repository: %v", err) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user