From ccd8d77112088f00b511749117263df5aae4630a Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 23 Jan 2024 06:36:16 +0100 Subject: [PATCH] [3.12] GH-105900: Fix `pathlib.Path.symlink_to(target_is_directory=...)` docs (GH-114035) (#114464) 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 345a974dcb1..d8395579937 100644 --- a/Doc/library/pathlib.rst +++ b/Doc/library/pathlib.rst @@ -1387,9 +1387,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. ::