aboutsummaryrefslogtreecommitdiff
path: root/internal/apply/apply.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/apply/apply.go')
-rw-r--r--internal/apply/apply.go6
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