Set HeadCommit when creating tags. (#18116) (#18173)

Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
Lunny Xiao 2022-01-04 09:22:10 +08:00 committed by GitHub
parent f9bbed028c
commit b25a571bc9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 2 deletions

View File

@ -69,13 +69,17 @@ func createTag(gitRepo *git.Repository, rel *models.Release, msg string) (bool,
created = true created = true
rel.LowerTagName = strings.ToLower(rel.TagName) rel.LowerTagName = strings.ToLower(rel.TagName)
commits := repository.NewPushCommits()
commits.HeadCommit = repository.CommitToPushCommit(commit)
commits.CompareURL = rel.Repo.ComposeCompareURL(git.EmptySHA, commit.ID.String())
notification.NotifyPushCommits( notification.NotifyPushCommits(
rel.Publisher, rel.Repo, rel.Publisher, rel.Repo,
&repository.PushUpdateOptions{ &repository.PushUpdateOptions{
RefFullName: git.TagPrefix + rel.TagName, RefFullName: git.TagPrefix + rel.TagName,
OldCommitID: git.EmptySHA, OldCommitID: git.EmptySHA,
NewCommitID: commit.ID.String(), NewCommitID: commit.ID.String(),
}, repository.NewPushCommits()) }, commits)
notification.NotifyCreateRef(rel.Publisher, rel.Repo, "tag", git.TagPrefix+rel.TagName) notification.NotifyCreateRef(rel.Publisher, rel.Repo, "tag", git.TagPrefix+rel.TagName)
rel.CreatedUnix = timeutil.TimeStampNow() rel.CreatedUnix = timeutil.TimeStampNow()
} }

View File

@ -115,13 +115,22 @@ func pushUpdates(optsList []*repo_module.PushUpdateOptions) error {
delTags = append(delTags, tagName) delTags = append(delTags, tagName)
notification.NotifyDeleteRef(pusher, repo, "tag", opts.RefFullName) notification.NotifyDeleteRef(pusher, repo, "tag", opts.RefFullName)
} else { // is new tag } else { // is new tag
newCommit, err := gitRepo.GetCommit(opts.NewCommitID)
if err != nil {
return fmt.Errorf("gitRepo.GetCommit: %v", err)
}
commits := repo_module.NewPushCommits()
commits.HeadCommit = repo_module.CommitToPushCommit(newCommit)
commits.CompareURL = repo.ComposeCompareURL(git.EmptySHA, opts.NewCommitID)
notification.NotifyPushCommits( notification.NotifyPushCommits(
pusher, repo, pusher, repo,
&repo_module.PushUpdateOptions{ &repo_module.PushUpdateOptions{
RefFullName: git.TagPrefix + tagName, RefFullName: git.TagPrefix + tagName,
OldCommitID: git.EmptySHA, OldCommitID: git.EmptySHA,
NewCommitID: opts.NewCommitID, NewCommitID: opts.NewCommitID,
}, repo_module.NewPushCommits()) }, commits)
addTags = append(addTags, tagName) addTags = append(addTags, tagName)
notification.NotifyCreateRef(pusher, repo, "tag", opts.RefFullName) notification.NotifyCreateRef(pusher, repo, "tag", opts.RefFullName)