浏览代码

Add special-casing for Windows, as WindowsError isn't available on other platforms.

Jelmer Vernooij 8 年之前
父节点
当前提交
5b1ae8ce42
共有 1 个文件被更改,包括 7 次插入4 次删除
  1. 7 4
      dulwich/object_store.py

+ 7 - 4
dulwich/object_store.py

@@ -567,10 +567,13 @@ class DiskObjectStore(PackBasedObjectStore):
         # Move the pack in.
         entries.sort()
         pack_base_name = self._get_pack_basepath(entries)
-        try:
-            os.rename(path, pack_base_name + '.pack')
-        except WindowsError:
-            os.remove(pack_base_name + '.pack')
+        if sys.platform == 'win32':
+            try:
+                os.rename(path, pack_base_name + '.pack')
+            except WindowsError:
+                os.remove(pack_base_name + '.pack')
+                os.rename(path, pack_base_name + '.pack')
+        else:
             os.rename(path, pack_base_name + '.pack')
 
         # Write the index.