mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	* Add migrated pulls to pull request task queue Fix #13321 Signed-off-by: Andrew Thornton <art27@cantab.net> * Improve error reports Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
		@@ -47,7 +47,7 @@ func (f *GiteaDownloaderFactory) New(ctx context.Context, opts base.MigrateOptio
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	path := strings.Split(repoNameSpace, "/")
 | 
						path := strings.Split(repoNameSpace, "/")
 | 
				
			||||||
	if len(path) < 2 {
 | 
						if len(path) < 2 {
 | 
				
			||||||
		return nil, fmt.Errorf("invalid path")
 | 
							return nil, fmt.Errorf("invalid path: %s", repoNameSpace)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	repoPath := strings.Join(path[len(path)-2:], "/")
 | 
						repoPath := strings.Join(path[len(path)-2:], "/")
 | 
				
			||||||
@@ -87,7 +87,7 @@ func NewGiteaDownloader(ctx context.Context, baseURL, repoPath, username, passwo
 | 
				
			|||||||
		gitea_sdk.SetContext(ctx),
 | 
							gitea_sdk.SetContext(ctx),
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.Error(fmt.Sprintf("NewGiteaDownloader: %s", err.Error()))
 | 
							log.Error(fmt.Sprintf("Failed to create NewGiteaDownloader for: %s. Error: %v", baseURL, err))
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -395,7 +395,7 @@ func (g *GiteaDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, err
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		reactions, err := g.getIssueReactions(issue.Index)
 | 
							reactions, err := g.getIssueReactions(issue.Index)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return nil, false, fmt.Errorf("error while loading reactions: %v", err)
 | 
								return nil, false, fmt.Errorf("error while loading reactions for issue #%d. Error: %v", issue.Index, err)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		var assignees []string
 | 
							var assignees []string
 | 
				
			||||||
@@ -446,13 +446,13 @@ func (g *GiteaDownloader) GetComments(index int64) ([]*base.Comment, error) {
 | 
				
			|||||||
		// Page:     i,
 | 
							// Page:     i,
 | 
				
			||||||
	}})
 | 
						}})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, fmt.Errorf("error while listing comments: %v", err)
 | 
							return nil, fmt.Errorf("error while listing comments for issue #%d. Error: %v", index, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for _, comment := range comments {
 | 
						for _, comment := range comments {
 | 
				
			||||||
		reactions, err := g.getCommentReactions(comment.ID)
 | 
							reactions, err := g.getCommentReactions(comment.ID)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return nil, fmt.Errorf("error while listing comment creactions: %v", err)
 | 
								return nil, fmt.Errorf("error while listing reactions for comment %d in issue #%d. Error: %v", comment.ID, index, err)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		allComments = append(allComments, &base.Comment{
 | 
							allComments = append(allComments, &base.Comment{
 | 
				
			||||||
@@ -490,7 +490,7 @@ func (g *GiteaDownloader) GetPullRequests(page, perPage int) ([]*base.PullReques
 | 
				
			|||||||
		State: gitea_sdk.StateAll,
 | 
							State: gitea_sdk.StateAll,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, false, fmt.Errorf("error while listing repos: %v", err)
 | 
							return nil, false, fmt.Errorf("error while listing pull requests (page: %d, pagesize: %d). Error: %v", page, perPage, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	for _, pr := range prs {
 | 
						for _, pr := range prs {
 | 
				
			||||||
		var milestone string
 | 
							var milestone string
 | 
				
			||||||
@@ -521,7 +521,7 @@ func (g *GiteaDownloader) GetPullRequests(page, perPage int) ([]*base.PullReques
 | 
				
			|||||||
			if headSHA == "" {
 | 
								if headSHA == "" {
 | 
				
			||||||
				headCommit, _, err := g.client.GetSingleCommit(g.repoOwner, g.repoName, url.PathEscape(pr.Head.Ref))
 | 
									headCommit, _, err := g.client.GetSingleCommit(g.repoOwner, g.repoName, url.PathEscape(pr.Head.Ref))
 | 
				
			||||||
				if err != nil {
 | 
									if err != nil {
 | 
				
			||||||
					return nil, false, fmt.Errorf("error while resolving git ref: %v", err)
 | 
										return nil, false, fmt.Errorf("error while resolving head git ref: %s for pull #%d. Error: %v", pr.Head.Ref, pr.Index, err)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				headSHA = headCommit.SHA
 | 
									headSHA = headCommit.SHA
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@@ -534,7 +534,7 @@ func (g *GiteaDownloader) GetPullRequests(page, perPage int) ([]*base.PullReques
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		reactions, err := g.getIssueReactions(pr.Index)
 | 
							reactions, err := g.getIssueReactions(pr.Index)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return nil, false, fmt.Errorf("error while loading reactions: %v", err)
 | 
								return nil, false, fmt.Errorf("error while loading reactions for pull #%d. Error: %v", pr.Index, err)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		var assignees []string
 | 
							var assignees []string
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,6 +28,7 @@ import (
 | 
				
			|||||||
	"code.gitea.io/gitea/modules/storage"
 | 
						"code.gitea.io/gitea/modules/storage"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/structs"
 | 
						"code.gitea.io/gitea/modules/structs"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/timeutil"
 | 
						"code.gitea.io/gitea/modules/timeutil"
 | 
				
			||||||
 | 
						"code.gitea.io/gitea/services/pull"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	gouuid "github.com/google/uuid"
 | 
						gouuid "github.com/google/uuid"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@@ -524,6 +525,7 @@ func (g *GiteaLocalUploader) CreatePullRequests(prs ...*base.PullRequest) error
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	for _, pr := range gprs {
 | 
						for _, pr := range gprs {
 | 
				
			||||||
		g.issues.Store(pr.Issue.Index, pr.Issue.ID)
 | 
							g.issues.Store(pr.Issue.Index, pr.Issue.ID)
 | 
				
			||||||
 | 
							pull.AddToTaskQueue(pr)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user