From 90dd745cea3d9c4f34db4ff9342bd0c596459469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar?= Date: Sun, 10 May 2020 23:59:46 +0200 Subject: [PATCH 1/3] Fix multiple directory creation on quickstart script called with nested relative path. --- sphinx/cmd/quickstart.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sphinx/cmd/quickstart.py b/sphinx/cmd/quickstart.py index 0c9020bd5..626d07c66 100644 --- a/sphinx/cmd/quickstart.py +++ b/sphinx/cmd/quickstart.py @@ -11,6 +11,7 @@ import argparse import locale import os +import pathlib import re import sys import time @@ -357,6 +358,7 @@ def generate(d: Dict, overwrite: bool = True, silent: bool = False, templatedir: d.setdefault('extensions', []) d['copyright'] = time.strftime('%Y') + ', ' + d['author'] + d["path"] = pathlib.Path(d['path']).resolve() ensuredir(d['path']) srcdir = path.join(d['path'], 'source') if d['sep'] else d['path'] From 97bc24500a7e62c34f92da2d53a36221fdd7c95d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar?= Date: Mon, 11 May 2020 00:22:36 +0200 Subject: [PATCH 2/3] Fix py35 incompatibility with PosixPath --- sphinx/cmd/quickstart.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sphinx/cmd/quickstart.py b/sphinx/cmd/quickstart.py index 626d07c66..72434c18b 100644 --- a/sphinx/cmd/quickstart.py +++ b/sphinx/cmd/quickstart.py @@ -358,7 +358,7 @@ def generate(d: Dict, overwrite: bool = True, silent: bool = False, templatedir: d.setdefault('extensions', []) d['copyright'] = time.strftime('%Y') + ', ' + d['author'] - d["path"] = pathlib.Path(d['path']).resolve() + d["path"] = str(pathlib.Path(d['path']).resolve()) ensuredir(d['path']) srcdir = path.join(d['path'], 'source') if d['sep'] else d['path'] From 979472b5363fbb029fb3d845e19b3c91c778f2ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar?= Date: Sat, 16 May 2020 13:36:56 +0200 Subject: [PATCH 3/3] Resolve with absolute path casting. --- sphinx/cmd/quickstart.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sphinx/cmd/quickstart.py b/sphinx/cmd/quickstart.py index 72434c18b..cad3c65e5 100644 --- a/sphinx/cmd/quickstart.py +++ b/sphinx/cmd/quickstart.py @@ -11,7 +11,6 @@ import argparse import locale import os -import pathlib import re import sys import time @@ -358,7 +357,7 @@ def generate(d: Dict, overwrite: bool = True, silent: bool = False, templatedir: d.setdefault('extensions', []) d['copyright'] = time.strftime('%Y') + ', ' + d['author'] - d["path"] = str(pathlib.Path(d['path']).resolve()) + d["path"] = os.path.abspath(d['path']) ensuredir(d['path']) srcdir = path.join(d['path'], 'source') if d['sep'] else d['path']