Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
c49c1856
Commit
c49c1856
authored
Feb 11, 2014
by
Serhiy Storchaka
Browse files
Options
Browse Files
Download
Plain Diff
Issue #19856: shutil.move() failed to move a directory to other directory
on Windows if source name ends with os.altsep.
parents
7272c0fc
6e6e7cb8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
1 deletion
+14
-1
Lib/shutil.py
Lib/shutil.py
+2
-1
Lib/test/test_shutil.py
Lib/test/test_shutil.py
+9
-0
Misc/NEWS
Misc/NEWS
+3
-0
No files found.
Lib/shutil.py
View file @
c49c1856
...
...
@@ -483,7 +483,8 @@ rmtree.avoids_symlink_attacks = _use_fd_functions
def
_basename
(
path
):
# A basename() variant which first strips the trailing slash, if present.
# Thus we always get the last component of the path, even for directories.
return
os
.
path
.
basename
(
path
.
rstrip
(
os
.
path
.
sep
))
sep
=
os
.
path
.
sep
+
(
os
.
path
.
altsep
or
''
)
return
os
.
path
.
basename
(
path
.
rstrip
(
sep
))
def
move
(
src
,
dst
):
"""Recursively move a file or directory to another location. This is
...
...
Lib/test/test_shutil.py
View file @
c49c1856
...
...
@@ -1492,6 +1492,15 @@ class TestMove(unittest.TestCase):
# Move a dir inside an existing dir on another filesystem.
self
.
test_move_dir_to_dir
()
def
test_move_dir_sep_to_dir
(
self
):
self
.
_check_move_dir
(
self
.
src_dir
+
os
.
path
.
sep
,
self
.
dst_dir
,
os
.
path
.
join
(
self
.
dst_dir
,
os
.
path
.
basename
(
self
.
src_dir
)))
@
unittest
.
skipUnless
(
os
.
path
.
altsep
,
'requires os.path.altsep'
)
def
test_move_dir_altsep_to_dir
(
self
):
self
.
_check_move_dir
(
self
.
src_dir
+
os
.
path
.
altsep
,
self
.
dst_dir
,
os
.
path
.
join
(
self
.
dst_dir
,
os
.
path
.
basename
(
self
.
src_dir
)))
def
test_existing_file_inside_dest_dir
(
self
):
# A file with the same name inside the destination dir already exists.
with
open
(
self
.
dst_file
,
"wb"
):
...
...
Misc/NEWS
View file @
c49c1856
...
...
@@ -37,6 +37,9 @@ Core and Builtins
Library
-------
- Issue #19856: shutil.move() failed to move a directory to other directory
on Windows if source name ends with os.altsep.
- Issue #20530: The signatures for slot builtins have been updated
to reflect the fact that they only accept positional-only arguments.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment