mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 08:02:36 +09:00 
			
		
		
		
	Sync branches first (#29714)
Follow #29493. Sync branches to DB first, then trigger push events.
This commit is contained in:
		@@ -82,19 +82,6 @@ func HookPostReceive(ctx *gitea_context.PrivateContext) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if repo != nil && len(updates) > 0 {
 | 
						if repo != nil && len(updates) > 0 {
 | 
				
			||||||
		if err := repo_service.PushUpdates(updates); err != nil {
 | 
					 | 
				
			||||||
			log.Error("Failed to Update: %s/%s Total Updates: %d", ownerName, repoName, len(updates))
 | 
					 | 
				
			||||||
			for i, update := range updates {
 | 
					 | 
				
			||||||
				log.Error("Failed to Update: %s/%s Update: %d/%d: Branch: %s", ownerName, repoName, i, len(updates), update.RefFullName.BranchName())
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			log.Error("Failed to Update: %s/%s Error: %v", ownerName, repoName, err)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			ctx.JSON(http.StatusInternalServerError, private.HookPostReceiveResult{
 | 
					 | 
				
			||||||
				Err: fmt.Sprintf("Failed to Update: %s/%s Error: %v", ownerName, repoName, err),
 | 
					 | 
				
			||||||
			})
 | 
					 | 
				
			||||||
			return
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		branchesToSync := make([]*repo_module.PushUpdateOptions, 0, len(updates))
 | 
							branchesToSync := make([]*repo_module.PushUpdateOptions, 0, len(updates))
 | 
				
			||||||
		for _, update := range updates {
 | 
							for _, update := range updates {
 | 
				
			||||||
			if !update.RefFullName.IsBranch() {
 | 
								if !update.RefFullName.IsBranch() {
 | 
				
			||||||
@@ -151,6 +138,19 @@ func HookPostReceive(ctx *gitea_context.PrivateContext) {
 | 
				
			|||||||
				return
 | 
									return
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if err := repo_service.PushUpdates(updates); err != nil {
 | 
				
			||||||
 | 
								log.Error("Failed to Update: %s/%s Total Updates: %d", ownerName, repoName, len(updates))
 | 
				
			||||||
 | 
								for i, update := range updates {
 | 
				
			||||||
 | 
									log.Error("Failed to Update: %s/%s Update: %d/%d: Branch: %s", ownerName, repoName, i, len(updates), update.RefFullName.BranchName())
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								log.Error("Failed to Update: %s/%s Error: %v", ownerName, repoName, err)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								ctx.JSON(http.StatusInternalServerError, private.HookPostReceiveResult{
 | 
				
			||||||
 | 
									Err: fmt.Sprintf("Failed to Update: %s/%s Error: %v", ownerName, repoName, err),
 | 
				
			||||||
 | 
								})
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Handle Push Options
 | 
						// Handle Push Options
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user