##// END OF EJS Templates
rename: simplify forced renaming...
Matt Mackall -
r7780:9892c4d9 default
parent child Browse files
Show More
@@ -740,12 +740,10 b' def rename(src, dst):'
740 # on windows, rename to existing file is not allowed, so we
740 # on windows, rename to existing file is not allowed, so we
741 # must delete destination first. but if file is open, unlink
741 # must delete destination first. but if file is open, unlink
742 # schedules it for delete but does not delete it. rename
742 # schedules it for delete but does not delete it. rename
743 # happens immediately even for open files, so we create
743 # happens immediately even for open files, so we rename
744 # temporary file, delete it, rename destination to that name,
744 # destination to a temporary name, then delete that. then
745 # then delete that. then rename is safe to do.
745 # rename is safe to do.
746 fd, temp = tempfile.mkstemp(dir=os.path.dirname(dst) or '.')
746 temp = dst + "-force-rename"
747 os.close(fd)
748 os.unlink(temp)
749 os.rename(dst, temp)
747 os.rename(dst, temp)
750 os.unlink(temp)
748 os.unlink(temp)
751 os.rename(src, dst)
749 os.rename(src, dst)
General Comments 0
You need to be logged in to leave comments. Login now