소스 검색

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.