diff options
author | Zac Medico <zmedico@gentoo.org> | 2013-04-16 07:00:45 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2013-04-16 07:00:45 -0700 |
commit | 4d9c8b5ca0a7c13066b3e08ed6700cbd0939ec72 (patch) | |
tree | ecbb64c9f88d58593fc8ae9d791f07cecaff98e5 /pym/portage/util/movefile.py | |
parent | refactor contents file writing to its own function (diff) | |
download | portage-4d9c8b5ca0a7c13066b3e08ed6700cbd0939ec72.tar.gz portage-4d9c8b5ca0a7c13066b3e08ed6700cbd0939ec72.tar.bz2 portage-4d9c8b5ca0a7c13066b3e08ed6700cbd0939ec72.zip |
movefile: remove source symlink/hardlink after mv
Diffstat (limited to 'pym/portage/util/movefile.py')
-rw-r--r-- | pym/portage/util/movefile.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/pym/portage/util/movefile.py b/pym/portage/util/movefile.py index 8a7a2b6a6..f33e67c62 100644 --- a/pym/portage/util/movefile.py +++ b/pym/portage/util/movefile.py @@ -224,6 +224,12 @@ def movefile(src, dest, newmtime=None, sstat=None, mysettings=None, target != os.readlink(dest): raise lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID]) + + try: + _os.unlink(src_bytes) + except OSError: + pass + if sys.hexversion >= 0x3030000: try: os.utime(dest, ns=(sstat.st_mtime_ns, sstat.st_mtime_ns), follow_symlinks=False) @@ -277,6 +283,10 @@ def movefile(src, dest, newmtime=None, sstat=None, mysettings=None, writemsg("!!! %s\n" % (e,), noiselevel=-1) return None hardlinked = True + try: + _os.unlink(src_bytes) + except OSError: + pass break renamefailed=1 |