Fix branch/tag notifications in mirror sync (#13855)
* Fix branch/tag notifications in mirror sync * Fix gofmt Co-authored-by: Gitea <gitea@fake.local> Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
		
							parent
							
								
									d0d59e3730
								
							
						
					
					
						commit
						8561f26695
					
				
					 1 changed files with 20 additions and 0 deletions
				
			
		|  | @ -149,6 +149,11 @@ func parseRemoteUpdateOutput(output string) []*mirrorSyncResult { | ||||||
| 
 | 
 | ||||||
| 		switch { | 		switch { | ||||||
| 		case strings.HasPrefix(lines[i], " * "): // New reference
 | 		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{ | 			results = append(results, &mirrorSyncResult{ | ||||||
| 				refName:     refName, | 				refName:     refName, | ||||||
| 				oldCommitID: gitShortEmptySha, | 				oldCommitID: gitShortEmptySha, | ||||||
|  | @ -438,6 +443,21 @@ func syncMirror(repoID string) { | ||||||
| 
 | 
 | ||||||
| 		// Create reference
 | 		// Create reference
 | ||||||
| 		if result.oldCommitID == gitShortEmptySha { | 		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) | 			notification.NotifySyncCreateRef(m.Repo.MustOwner(), m.Repo, tp, result.refName) | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue