mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 10:56:10 +01:00 
			
		
		
		
	Add push commits history comment on PR time-line (#11167)
* Add push commits history comment on PR time-line * Add notify by email and ui of this comment type also Signed-off-by: a1012112796 <1012112796@qq.com> * Add migrations for IsForcePush * fix wrong force-push judgement * Apply suggestions from code review * Remove commit number check * add own notify fun * fix some typo Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> * fix lint * fix style again, I forgot something before * Change email notify way * fix api * add number check if It's force-push * Add repo commit link fuction remove unnecessary check skip show push commits comment which not have commits alive * Update issue_comment.go * Apply suggestions from code review Co-authored-by: mrsdizzie <info@mrsdizzie.com> * Apply suggestions from code review * fix ui view Co-authored-by: silverwind <me@silverwind.io> * fix height * remove unnecessary style define * simplify GetBranchName * Apply suggestions from code review * save commit ids and isForce push by json * simplify GetBranchName * fix bug Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> Co-authored-by: mrsdizzie <info@mrsdizzie.com> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
		| @@ -8,6 +8,7 @@ import ( | ||||
| 	"bufio" | ||||
| 	"bytes" | ||||
| 	"context" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"os" | ||||
| 	"path" | ||||
| @@ -57,6 +58,43 @@ func NewPullRequest(repo *models.Repository, pull *models.Issue, labelIDs []int6 | ||||
|  | ||||
| 	notification.NotifyNewPullRequest(pr) | ||||
|  | ||||
| 	// add first push codes comment | ||||
| 	baseGitRepo, err := git.OpenRepository(pr.BaseRepo.RepoPath()) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	defer baseGitRepo.Close() | ||||
|  | ||||
| 	compareInfo, err := baseGitRepo.GetCompareInfo(pr.BaseRepo.RepoPath(), | ||||
| 		pr.BaseBranch, pr.GetGitRefName()) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	if compareInfo.Commits.Len() > 0 { | ||||
| 		data := models.PushActionContent{IsForcePush: false} | ||||
| 		data.CommitIDs = make([]string, 0, compareInfo.Commits.Len()) | ||||
| 		for e := compareInfo.Commits.Back(); e != nil; e = e.Prev() { | ||||
| 			data.CommitIDs = append(data.CommitIDs, e.Value.(*git.Commit).ID.String()) | ||||
| 		} | ||||
|  | ||||
| 		dataJSON, err := json.Marshal(data) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| 		ops := &models.CreateCommentOptions{ | ||||
| 			Type:        models.CommentTypePullPush, | ||||
| 			Doer:        pull.Poster, | ||||
| 			Repo:        repo, | ||||
| 			Issue:       pr.Issue, | ||||
| 			IsForcePush: false, | ||||
| 			Content:     string(dataJSON), | ||||
| 		} | ||||
|  | ||||
| 		_, _ = models.CreateComment(ops) | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| @@ -237,6 +275,12 @@ func AddTestPullRequestTask(doer *models.User, repoID int64, branch string, isSy | ||||
| 		} | ||||
|  | ||||
| 		addHeadRepoTasks(prs) | ||||
| 		for _, pr := range prs { | ||||
| 			comment, err := models.CreatePushPullComment(doer, pr, oldCommitID, newCommitID) | ||||
| 			if err == nil && comment != nil { | ||||
| 				notification.NotifyPullRequestPushCommits(doer, pr, comment) | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		log.Trace("AddTestPullRequestTask [base_repo_id: %d, base_branch: %s]: finding pull requests", repoID, branch) | ||||
| 		prs, err = models.GetUnmergedPullRequestsByBaseInfo(repoID, branch) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user