From 1545411b0e0231d6f50aab34857ede33392f4167 Mon Sep 17 00:00:00 2001 From: barneygale Date: Sat, 6 Jan 2024 18:41:59 +0000 Subject: [PATCH] Undo `resolve()` changes. --- Lib/pathlib/_abc.py | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/Lib/pathlib/_abc.py b/Lib/pathlib/_abc.py index 9805c51046aa7e..5dcea7ead8ab3c 100644 --- a/Lib/pathlib/_abc.py +++ b/Lib/pathlib/_abc.py @@ -931,17 +931,9 @@ def _split_stack(self): uppermost parent of the path (equivalent to path.parents[-1]), and *parts* is a reversed list of parts following the anchor. """ - split = self.pathmod.split - path = str(self) - parent, name = split(path) - names = [] - while path != parent: - names.append(name) - path = parent - parent, name = split(path) - if not names: + if not self._tail: return self, [] - return self.with_segments(path), names + return self._from_parsed_parts(self.drive, self.root, []), self._tail[::-1] def resolve(self, strict=False): """ @@ -962,9 +954,7 @@ def resolve(self, strict=False): link_count = 0 while parts: part = parts.pop() - if not part or part == '.': - continue - elif part == '..': + if part == '..': if not path._tail: if path.root: # Delete '..' segment immediately following root