diff options
Diffstat (limited to 'internal/apply/apply.go')
| -rw-r--r-- | internal/apply/apply.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/internal/apply/apply.go b/internal/apply/apply.go index b36035b..fdeed57 100644 --- a/internal/apply/apply.go +++ b/internal/apply/apply.go @@ -86,6 +86,12 @@ func ChainLogged(ctx context.Context, c plan.Chain, done func(i int, sr StepResu stopWhy = "an earlier step in this chain failed" break } + if at := UnderSymlink(filepath.Dir(step.Dst), c.Root); at != "" { + results[i] = StepResult{Step: step, Status: "failed", + Detail: "a symlink inside the sorted directory redirects this step: " + at} + stopWhy = "an earlier step in this chain failed" + break + } res := runStep(step, func(entry string) error { if displaced == nil { return nil |
