diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | giscanner/cachestore.py | 5 |
2 files changed, 12 insertions, 3 deletions
@@ -1,6 +1,14 @@ +2008-12-09 Johan Dahlin <johan@async.com.br> + + * giscanner/cachestore.py (CacheStore.store): Use + shutil.move instead of os.rename, since it will + automatically fall back to copying+remove if the + src directory is on a different partition from + the dst directory. + 2008-12-08 Tristan Van Berkom <tristan.van.berkom@gmail.com> - Bug 563742 – introspection should record the introduced version of + Bug 563742 – introspection should record the introduced version of symbols marked with the "Since:" tag reviewed by: Johan diff --git a/giscanner/cachestore.py b/giscanner/cachestore.py index f7f0062a..5c4b5b49 100644 --- a/giscanner/cachestore.py +++ b/giscanner/cachestore.py @@ -22,6 +22,7 @@ import errno import cPickle import hashlib import os +import shutil import tempfile @@ -105,8 +106,8 @@ class CacheStore(object): raise try: - os.rename(tmp_filename, store_filename) - except OSError, e: + shutil.move(tmp_filename, store_filename) + except IOError, e: # Permission denied if e.errno == errno.EACCES: self._remove_filename(tmp_filename) |