| 223 | } |
| 224 | |
| 225 | func ResolveGitResourceOverride(override *GitResourceGitRef, baseline []*GitResourceGitRef) (*GitResourceGitRef, error) { |
| 226 | index := slices.IndexFunc(baseline, func(grgr *GitResourceGitRef) bool { |
| 227 | return grgr.Equals(override) |
| 228 | }) |
| 229 | |
| 230 | if index < 0 { |
| 231 | return nil, fmt.Errorf("could not resolve step name \"%s\" or git resource name \"%s\"", override.ActionName, override.GitResourceName) |
| 232 | } |
| 233 | |
| 234 | //If the user override matches a git resource in the "baseline" |
| 235 | var gitRef string |
| 236 | if override.GitRef == "*" { |
| 237 | gitRef = baseline[index].GitRef |
| 238 | } else { |
| 239 | gitRef = override.GitRef |
| 240 | } |
| 241 | |
| 242 | return &GitResourceGitRef{ |
| 243 | ActionName: override.ActionName, |
| 244 | GitRef: gitRef, |
| 245 | GitResourceName: override.GitResourceName, |
| 246 | }, nil |
| 247 | } |
| 248 | |
| 249 | func ApplyGitResourceOverrides(gitResourcesBaseline []*GitResourceGitRef, overrides []*GitResourceGitRef) []*GitResourceGitRef { |
| 250 | result := make([]*GitResourceGitRef, 0, len(gitResourcesBaseline)) |