MCPcopy
hub / github.com/roboll/helmfile / diff

Method diff

pkg/app/app.go:1466–1517  ·  view source on GitHub ↗
(r *Run, c DiffConfigProvider)

Source from the content-addressed store, hash-verified

1464}
1465
1466func (a *App) diff(r *Run, c DiffConfigProvider) (*string, bool, bool, []error) {
1467 st := r.state
1468
1469 selectedReleases, deduplicatedReleases, err := a.getSelectedReleases(r, false)
1470 if err != nil {
1471 return nil, false, false, []error{err}
1472 }
1473
1474 if len(selectedReleases) == 0 {
1475 return nil, false, false, nil
1476 }
1477
1478 r.helm.SetExtraArgs(argparser.GetArgs(c.Args(), r.state)...)
1479
1480 opts := &state.DiffOpts{
1481 Context: c.Context(),
1482 Output: c.DiffOutput(),
1483 NoColor: c.NoColor(),
1484 Set: c.Set(),
1485 SkipDiffOnInstall: c.SkipDiffOnInstall(),
1486 }
1487
1488 st.Releases = deduplicatedReleases
1489
1490 plan, err := st.PlanReleases(state.PlanOptions{Reverse: false, SelectedReleases: selectedReleases, SkipNeeds: c.SkipNeeds(), IncludeNeeds: c.IncludeNeeds(), IncludeTransitiveNeeds: false})
1491 if err != nil {
1492 return nil, false, false, []error{err}
1493 }
1494
1495 var toDiffWithNeeds []state.ReleaseSpec
1496
1497 for _, rs := range plan {
1498 for _, r := range rs {
1499 toDiffWithNeeds = append(toDiffWithNeeds, r.ReleaseSpec)
1500 }
1501 }
1502
1503 // Diff only targeted releases
1504
1505 st.Releases = toDiffWithNeeds
1506
1507 filtered := &Run{
1508 state: st,
1509 helm: r.helm,
1510 ctx: r.ctx,
1511 Ask: r.Ask,
1512 }
1513
1514 infoMsg, updated, deleted, errs := filtered.diff(true, c.DetailedExitcode(), c, opts)
1515
1516 return infoMsg, true, len(deleted) > 0 || len(updated) > 0, errs
1517}
1518
1519func (a *App) lint(r *Run, c LintConfigProvider) (bool, []error, []error) {
1520 st := r.state

Callers 2

DiffMethod · 0.95
applyMethod · 0.45

Calls 14

getSelectedReleasesMethod · 0.95
diffMethod · 0.95
GetArgsFunction · 0.92
PlanReleasesMethod · 0.80
SetExtraArgsMethod · 0.65
ArgsMethod · 0.65
ContextMethod · 0.65
DiffOutputMethod · 0.65
NoColorMethod · 0.65
SetMethod · 0.65
SkipDiffOnInstallMethod · 0.65
SkipNeedsMethod · 0.65

Tested by

no test coverage detected