MCPcopy Create free account
hub / github.com/OctopusDeploy/cli / ApplyGitResourceOverrides

Function ApplyGitResourceOverrides

pkg/gitresources/gitResources.go:249–283  ·  view source on GitHub ↗
(gitResourcesBaseline []*GitResourceGitRef, overrides []*GitResourceGitRef)

Source from the content-addressed store, hash-verified

247}
248
249func ApplyGitResourceOverrides(gitResourcesBaseline []*GitResourceGitRef, overrides []*GitResourceGitRef) []*GitResourceGitRef {
250 result := make([]*GitResourceGitRef, 0, len(gitResourcesBaseline))
251
252 for _, gitResourceGitRef := range gitResourcesBaseline {
253
254 //Try and find any override
255 overrideIdx := slices.IndexFunc(overrides, func(override *GitResourceGitRef) bool {
256 return override.Equals(gitResourceGitRef)
257 })
258
259 if overrideIdx >= 0 {
260 var gitRef string
261 override := overrides[overrideIdx]
262 if override.GitRef == "*" {
263 gitRef = gitResourceGitRef.GitRef
264 } else {
265 gitRef = override.GitRef
266 }
267 result = append(result, &GitResourceGitRef{
268 ActionName: gitResourceGitRef.ActionName,
269 GitRef: gitRef,
270 GitResourceName: gitResourceGitRef.GitResourceName,
271 })
272 } else {
273 //no override, just return a copy of the original
274 result = append(result, &GitResourceGitRef{
275 ActionName: gitResourceGitRef.ActionName,
276 GitRef: gitResourceGitRef.GitRef,
277 GitResourceName: gitResourceGitRef.GitResourceName,
278 })
279 }
280 }
281
282 return result
283}
284
285// Note this always uses the Table Printer, it pays no respect to outputformat=json, because it's only part of the interactive flow
286func printGitResourceGitRefs(ioWriter io.Writer, gitResourceGitRefs []*GitResourceGitRef) error {

Callers 3

createRunFunction · 0.92

Calls 1

EqualsMethod · 0.80