ref: 79c40dcb08f0d512bd6d75d5e2acd3ddceec4530
dir: /receivepack/service/hook_apply.go/
package service
func buildHookUpdates(commands []Command) []RefUpdate {
updates := make([]RefUpdate, 0, len(commands))
for _, command := range commands {
updates = append(updates, RefUpdate{
Name: command.Name,
OldID: command.OldID,
NewID: command.NewID,
})
}
return updates
}
func resultForHookRejection(command Command, message string) CommandResult {
result := successCommandResult(command)
result.Error = message
return result
}
func mergeCommandResults(
commands []Command,
rejected map[int]string,
applied []CommandResult,
appliedIndices []int,
) []CommandResult {
out := make([]CommandResult, len(commands))
for index, message := range rejected {
out[index] = resultForHookRejection(commands[index], message)
}
for i, appliedResult := range applied {
if i >= len(appliedIndices) {
break
}
out[appliedIndices[i]] = appliedResult
}
return out
}