From 83e2b46d63a6bd8de6581a525af3969e19d4f135 Mon Sep 17 00:00:00 2001 From: Barney Gale Date: Tue, 23 Jan 2024 05:30:16 +0000 Subject: [PATCH] GH-105900: Fix `pathlib.Path.symlink_to(target_is_directory=...)` docs (GH-114035) Clarify that *target_is_directory* only matters if the target doesn't exist. (cherry picked from commit b822b85ac11e73bbe4417bf03ee770ab116bb42d) Co-authored-by: Barney Gale --- Doc/library/pathlib.rst | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Doc/library/pathlib.rst b/Doc/library/pathlib.rst index 528236cfa7eaa6..4c3edcb6361007 100644 --- a/Doc/library/pathlib.rst +++ b/Doc/library/pathlib.rst @@ -1187,9 +1187,13 @@ call fails (for example because the path doesn't exist). .. method:: Path.symlink_to(target, target_is_directory=False) - Make this path a symbolic link to *target*. Under Windows, - *target_is_directory* must be true (default ``False``) if the link's target - is a directory. Under POSIX, *target_is_directory*'s value is ignored. + Make this path a symbolic link pointing to *target*. + + On Windows, a symlink represents either a file or a directory, and does not + morph to the target dynamically. If the target is present, the type of the + symlink will be created to match. Otherwise, the symlink will be created + as a directory if *target_is_directory* is ``True`` or a file symlink (the + default) otherwise. On non-Windows platforms, *target_is_directory* is ignored. ::