aboutsummaryrefslogtreecommitdiff
path: root/docs/design.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/design.md')
-rw-r--r--docs/design.md8
1 files changed, 7 insertions, 1 deletions
diff --git a/docs/design.md b/docs/design.md
index 6299288..e2c3cf6 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -924,7 +924,13 @@ What that means, and the tests that hold it (plans 8 and 9):
resolve at or under the directory its text names before the first
placeholder, so a capture of "..", "~" or nothing cannot move it
elsewhere; a rename whose placeholders produce "", "." or ".." is skipped
- with a reason.
+ with a reason. A symlink is a name too: a step whose destination passes
+ through a symlink **inside the directory being sorted** fails rather than
+ following it, since anything at all may be written there - by a download,
+ or an unpacked archive - and the plan the user approved shows only the
+ text. A destination the configuration itself names outside that
+ directory, `~/docs` on another disk say, is the user's own arrangement
+ and is followed as before.
- A file is acted on only while it is still the file that was planned:
same size and modification time, still a regular file (not a symlink put
in its place), and, at its planned path, the same inode. A step that had