forked from gitea/gitea
Sync branches first (#29714)
Follow #29493. Sync branches to DB first, then trigger push events.
This commit is contained in:
parent
4129e0e79b
commit
e6d141182f
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue