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" | ||||
| 	"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"]) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue