-
-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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