-
-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Move dir optimization #550
base: master
Are you sure you want to change the base?
Conversation
fb1ba6b
to
924107e
Compare
Once again I should rebase this for fewer commits. And it seems to have some problems on windows. |
a2e1d25
to
475e6b8
Compare
475e6b8
to
fb0b35a
Compare
This works now, but I'm kind of unhappy with it. For example I'm missing a param |
with _src_fs.lock(), _dst_fs.lock(): | ||
with convert_os_errors("move_dir", dst_path, directory=True): | ||
if _dst_fs.exists(dst_path): | ||
os.rmdir(dst_syspath) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps we don't need / want this os.rmdir
?
Looking at the non-optimised "standard copy then delete" code, it looks like perhaps if dst_path
already exists, and contains existing contents, then the existing contents will be preserved after the move_dir
call? 🤷
Certainly something that it's probably worth adding an extra test for 😉
Type of changes
Checklist
Description
shutil.move
to move folders if both filesystems have a syspathfs.move.move_dir