Issue #2047: shutil.move() could believe that its destination path was
inside its source path if it began with the same letters (e.g. "src" vs.
"src.new").
diff --git a/Lib/shutil.py b/Lib/shutil.py
index ae2c66c..cfb6646 100644
--- a/Lib/shutil.py
+++ b/Lib/shutil.py
@@ -265,4 +265,10 @@
os.unlink(src)
def destinsrc(src, dst):
- return abspath(dst).startswith(abspath(src))
+ src = abspath(src)
+ dst = abspath(dst)
+ if not src.endswith(os.path.sep):
+ src += os.path.sep
+ if not dst.endswith(os.path.sep):
+ dst += os.path.sep
+ return dst.startswith(src)