Handle branch name with prefix in GitHub migration (#20357)
GitHub allows releases with target commitish `refs/heads/BRANCH`, which then causes issues in Gitea after migration. This fix handles cases that a branch already has a prefix. Fixes #20317 Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		
							parent
							
								
									44cc684a50
								
							
						
					
					
						commit
						81ea4f95a0
					
				|  | @ -15,6 +15,7 @@ import ( | |||
| 	"strings" | ||||
| 	"time" | ||||
| 
 | ||||
| 	"code.gitea.io/gitea/modules/git" | ||||
| 	"code.gitea.io/gitea/modules/log" | ||||
| 	base "code.gitea.io/gitea/modules/migration" | ||||
| 	"code.gitea.io/gitea/modules/proxy" | ||||
|  | @ -307,10 +308,14 @@ func (g *GithubDownloaderV3) GetLabels() ([]*base.Label, error) { | |||
| } | ||||
| 
 | ||||
| func (g *GithubDownloaderV3) convertGithubRelease(rel *github.RepositoryRelease) *base.Release { | ||||
| 	// GitHub allows commitish to be a reference.
 | ||||
| 	// In this case, we need to remove the prefix, i.e. convert "refs/heads/main" to "main".
 | ||||
| 	targetCommitish := strings.TrimPrefix(rel.GetTargetCommitish(), git.BranchPrefix) | ||||
| 
 | ||||
| 	r := &base.Release{ | ||||
| 		Name:            rel.GetName(), | ||||
| 		TagName:         rel.GetTagName(), | ||||
| 		TargetCommitish: rel.GetTargetCommitish(), | ||||
| 		TargetCommitish: targetCommitish, | ||||
| 		Draft:           rel.GetDraft(), | ||||
| 		Prerelease:      rel.GetPrerelease(), | ||||
| 		Created:         rel.GetCreatedAt().Time, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue