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:
		
							parent
							
								
									cd8b2f3273
								
							
						
					
					
						commit
						e79dae29cc
					
				
					 2 changed files with 28 additions and 11 deletions
				
			
		|  | @ -12,6 +12,7 @@ import ( | ||||||
| 	"net/url" | 	"net/url" | ||||||
| 	"os" | 	"os" | ||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
|  | 	"strconv" | ||||||
| 	"time" | 	"time" | ||||||
| 
 | 
 | ||||||
| 	"code.gitea.io/gitea/models" | 	"code.gitea.io/gitea/models" | ||||||
|  | @ -19,6 +20,7 @@ import ( | ||||||
| 	"code.gitea.io/gitea/modules/log" | 	"code.gitea.io/gitea/modules/log" | ||||||
| 	"code.gitea.io/gitea/modules/migrations/base" | 	"code.gitea.io/gitea/modules/migrations/base" | ||||||
| 	"code.gitea.io/gitea/modules/repository" | 	"code.gitea.io/gitea/modules/repository" | ||||||
|  | 	"code.gitea.io/gitea/modules/structs" | ||||||
| 
 | 
 | ||||||
| 	"gopkg.in/yaml.v2" | 	"gopkg.in/yaml.v2" | ||||||
| ) | ) | ||||||
|  | @ -572,20 +574,27 @@ func RestoreRepository(ctx context.Context, baseDir string, ownerName, repoName | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  | 	opts, err := downloader.getRepoOptions() | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	tp, _ := strconv.Atoi(opts["service_type"]) | ||||||
|  | 
 | ||||||
| 	if err = migrateRepository(downloader, uploader, base.MigrateOptions{ | 	if err = migrateRepository(downloader, uploader, base.MigrateOptions{ | ||||||
| 		Wiki:          true, | 		Wiki:           true, | ||||||
| 		Issues:        true, | 		Issues:         true, | ||||||
| 		Milestones:    true, | 		Milestones:     true, | ||||||
| 		Labels:        true, | 		Labels:         true, | ||||||
| 		Releases:      true, | 		Releases:       true, | ||||||
| 		Comments:      true, | 		Comments:       true, | ||||||
| 		PullRequests:  true, | 		PullRequests:   true, | ||||||
| 		ReleaseAssets: true, | 		ReleaseAssets:  true, | ||||||
|  | 		GitServiceType: structs.GitServiceType(tp), | ||||||
| 	}); err != nil { | 	}); err != nil { | ||||||
| 		if err1 := uploader.Rollback(); err1 != nil { | 		if err1 := uploader.Rollback(); err1 != nil { | ||||||
| 			log.Error("rollback failed: %v", err1) | 			log.Error("rollback failed: %v", err1) | ||||||
| 		} | 		} | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	return nil | 	return updateMigrationPosterIDByGitService(ctx, structs.GitServiceType(tp)) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -53,8 +53,7 @@ func (r *RepositoryRestorer) SetContext(ctx context.Context) { | ||||||
| 	r.ctx = ctx | 	r.ctx = ctx | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // GetRepoInfo returns a repository information
 | func (r *RepositoryRestorer) getRepoOptions() (map[string]string, error) { | ||||||
| func (r *RepositoryRestorer) GetRepoInfo() (*base.Repository, error) { |  | ||||||
| 	p := filepath.Join(r.baseDir, "repo.yml") | 	p := filepath.Join(r.baseDir, "repo.yml") | ||||||
| 	bs, err := ioutil.ReadFile(p) | 	bs, err := ioutil.ReadFile(p) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|  | @ -66,6 +65,15 @@ func (r *RepositoryRestorer) GetRepoInfo() (*base.Repository, error) { | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		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"]) | 	isPrivate, _ := strconv.ParseBool(opts["is_private"]) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue