From 8561f266955650822913f6f8ac617265d16826c3 Mon Sep 17 00:00:00 2001 From: manuelluis Date: Sat, 5 Dec 2020 16:13:11 +0100 Subject: [PATCH] Fix branch/tag notifications in mirror sync (#13855) * Fix branch/tag notifications in mirror sync * Fix gofmt Co-authored-by: Gitea Co-authored-by: Lauris BH --- services/mirror/mirror.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/services/mirror/mirror.go b/services/mirror/mirror.go index cfef55f2a..7c3d0d223 100644 --- a/services/mirror/mirror.go +++ b/services/mirror/mirror.go @@ -149,6 +149,11 @@ func parseRemoteUpdateOutput(output string) []*mirrorSyncResult { switch { case strings.HasPrefix(lines[i], " * "): // New reference + if strings.HasPrefix(lines[i], " * [new tag]") { + refName = git.TagPrefix + refName + } else if strings.HasPrefix(lines[i], " * [new branch]") { + refName = git.BranchPrefix + refName + } results = append(results, &mirrorSyncResult{ refName: refName, oldCommitID: gitShortEmptySha, @@ -438,6 +443,21 @@ func syncMirror(repoID string) { // Create reference if result.oldCommitID == gitShortEmptySha { + if tp == git.TagPrefix { + tp = "tag" + } else if tp == git.BranchPrefix { + tp = "branch" + } + commitID, err := gitRepo.GetRefCommitID(result.refName) + if err != nil { + log.Error("gitRepo.GetRefCommitID [repo_id: %s, ref_name: %s]: %v", m.RepoID, result.refName, err) + continue + } + notification.NotifySyncPushCommits(m.Repo.MustOwner(), m.Repo, &repo_module.PushUpdateOptions{ + RefFullName: result.refName, + OldCommitID: git.EmptySHA, + NewCommitID: commitID, + }, repo_module.NewPushCommits()) notification.NotifySyncCreateRef(m.Repo.MustOwner(), m.Repo, tp, result.refName) continue }