Switch to shutil.move instead of os.rename // Resolve #1584

This commit is contained in:
Ivan Kravets
2018-04-20 21:27:52 +03:00
parent 2d1daa756d
commit 0a9031e448

View File

@ -502,7 +502,7 @@ class PkgInstallerMixin(object):
target_dirname = "%s@src-%s" % ( target_dirname = "%s@src-%s" % (
pkg_dirname, pkg_dirname,
hashlib.md5(cur_manifest['__src_url']).hexdigest()) hashlib.md5(cur_manifest['__src_url']).hexdigest())
os.rename(pkg_dir, join(self.package_dir, target_dirname)) shutil.move(pkg_dir, join(self.package_dir, target_dirname))
# fix to a version # fix to a version
elif action == 2: elif action == 2:
target_dirname = "%s@%s" % (pkg_dirname, target_dirname = "%s@%s" % (pkg_dirname,
@ -516,7 +516,7 @@ class PkgInstallerMixin(object):
# remove previous/not-satisfied package # remove previous/not-satisfied package
if isdir(pkg_dir): if isdir(pkg_dir):
util.rmtree_(pkg_dir) util.rmtree_(pkg_dir)
os.rename(tmp_dir, pkg_dir) shutil.move(tmp_dir, pkg_dir)
assert isdir(pkg_dir) assert isdir(pkg_dir)
self.cache_reset() self.cache_reset()
return pkg_dir return pkg_dir
@ -740,9 +740,9 @@ class BasePkgManager(PkgRepoMixin, PkgInstallerMixin):
# unfix package with the same name # unfix package with the same name
pkg_dir = self.get_package_dir(manifest['name']) pkg_dir = self.get_package_dir(manifest['name'])
if pkg_dir and "@" in pkg_dir: if pkg_dir and "@" in pkg_dir:
os.rename(pkg_dir, shutil.move(pkg_dir,
join(self.package_dir, join(self.package_dir,
self.get_install_dirname(manifest))) self.get_install_dirname(manifest)))
self.cache_reset() self.cache_reset()
click.echo("[%s]" % click.style("OK", fg="green")) click.echo("[%s]" % click.style("OK", fg="green"))