Ver código fonte

fix uses of old api (Repo.{set,remove}_ref ObjectStore.add_pack)

Abderrahim Kitouni 15 anos atrás
pai
commit
5d64e52c4b
2 arquivos alterados com 9 adições e 11 exclusões
  1. 2 5
      bin/dulwich
  2. 7 6
      dulwich/server.py

+ 2 - 5
bin/dulwich

@@ -43,12 +43,9 @@ def cmd_fetch_pack(args):
 	graphwalker = r.get_graph_walker()
 	f, commit = r.object_store.add_pack()
 	try:
-		client.fetch_pack(path, determine_wants, graphwalker, f.write, sys.stdout.write)
-		f.close()
+            client.fetch_pack(path, determine_wants, graphwalker, f.write, sys.stdout.write)
+        finally:
 		commit()
-	except:
-		f.close()
-		raise
 
 
 def cmd_log(args):

+ 7 - 6
dulwich/server.py

@@ -77,16 +77,17 @@ class GitBackend(Backend):
         self.get_refs = self.repo.get_refs
 
     def apply_pack(self, refs, read):
-        fd, commit = self.repo.object_store.add_thin_pack()
-        fd.write(read())
-        fd.close()
-        commit()
+        f, commit = self.repo.object_store.add_thin_pack()
+        try:
+            f.write(read())
+        finally:
+            commit()
 
         for oldsha, sha, ref in refs:
             if ref == "0" * 40:
-                self.repo.remove_ref(ref)
+                del self.repo.refs[ref]
             else:
-                self.repo.set_ref(ref, sha)
+                self.repo.refs[ref] = sha
 
         print "pack applied"