From 166565025832c8a8faf7397766aeaa878980dd2d Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 14 Sep 2026 23:42:35 +0200 Subject: a real run's later directories are not blocked by earlier claims; -n across directories documented --- docs/design.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/design.md b/docs/design.md index 4196894..cfb2c55 100644 --- a/docs/design.md +++ b/docs/design.md @@ -470,10 +470,15 @@ Conflicts between files in the same plan are resolved when planning, so the plan shows final names. An in-plan claim is never displaced: when `overwrite` finds a target another step of the same plan has already claimed, it takes the next free name instead, because that path will hold the other step's output by -the time either runs, and displacing it would destroy that step's result. The -claim set spans the whole run, so two configured directories cannot plan the -same final name. The executor re-checks at execution time; if the -name has to change, the log records the actual name. +the time either runs, and displacing it would destroy that step's result. A +real run applies each directory before planning the next, so a later +directory sees the earlier one's result on disk and its claims end with it. +A dry run (`-n`) applies nothing: its claim set spans every directory, so two +configured directories cannot show the same final name, but each directory is +otherwise planned as if no earlier one had been applied (a file the first +moves into the second is not in the second's plan). The executor re-checks +at execution time; if the name has to change, the log records the actual +name. ## 8. Plan, review, approval -- cgit v1.3