mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	Fix repo-restore bug with poster not replaced (#14759)
* Fix restore bug * Fix restore bug Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: John Olheiser <john.olheiser@gmail.com> Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
		| @@ -12,6 +12,7 @@ import ( | ||||
| 	"net/url" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"strconv" | ||||
| 	"time" | ||||
|  | ||||
| 	"code.gitea.io/gitea/models" | ||||
| @@ -19,6 +20,7 @@ import ( | ||||
| 	"code.gitea.io/gitea/modules/log" | ||||
| 	"code.gitea.io/gitea/modules/migrations/base" | ||||
| 	"code.gitea.io/gitea/modules/repository" | ||||
| 	"code.gitea.io/gitea/modules/structs" | ||||
|  | ||||
| 	"gopkg.in/yaml.v2" | ||||
| ) | ||||
| @@ -572,6 +574,12 @@ func RestoreRepository(ctx context.Context, baseDir string, ownerName, repoName | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	opts, err := downloader.getRepoOptions() | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	tp, _ := strconv.Atoi(opts["service_type"]) | ||||
|  | ||||
| 	if err = migrateRepository(downloader, uploader, base.MigrateOptions{ | ||||
| 		Wiki:           true, | ||||
| 		Issues:         true, | ||||
| @@ -581,11 +589,12 @@ func RestoreRepository(ctx context.Context, baseDir string, ownerName, repoName | ||||
| 		Comments:       true, | ||||
| 		PullRequests:   true, | ||||
| 		ReleaseAssets:  true, | ||||
| 		GitServiceType: structs.GitServiceType(tp), | ||||
| 	}); err != nil { | ||||
| 		if err1 := uploader.Rollback(); err1 != nil { | ||||
| 			log.Error("rollback failed: %v", err1) | ||||
| 		} | ||||
| 		return err | ||||
| 	} | ||||
| 	return nil | ||||
| 	return updateMigrationPosterIDByGitService(ctx, structs.GitServiceType(tp)) | ||||
| } | ||||
|   | ||||
| @@ -53,8 +53,7 @@ func (r *RepositoryRestorer) SetContext(ctx context.Context) { | ||||
| 	r.ctx = ctx | ||||
| } | ||||
|  | ||||
| // GetRepoInfo returns a repository information | ||||
| func (r *RepositoryRestorer) GetRepoInfo() (*base.Repository, error) { | ||||
| func (r *RepositoryRestorer) getRepoOptions() (map[string]string, error) { | ||||
| 	p := filepath.Join(r.baseDir, "repo.yml") | ||||
| 	bs, err := ioutil.ReadFile(p) | ||||
| 	if err != nil { | ||||
| @@ -66,6 +65,15 @@ func (r *RepositoryRestorer) GetRepoInfo() (*base.Repository, error) { | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return opts, nil | ||||
| } | ||||
|  | ||||
| // GetRepoInfo returns a repository information | ||||
| func (r *RepositoryRestorer) GetRepoInfo() (*base.Repository, error) { | ||||
| 	opts, err := r.getRepoOptions() | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	isPrivate, _ := strconv.ParseBool(opts["is_private"]) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Lunny Xiao
					Lunny Xiao