|
@@ -243,6 +243,10 @@ class UploadPackHandler(Handler):
|
|
|
self.repo = backend.open_repository(args[0])
|
|
|
self._graph_walker = None
|
|
|
self.advertise_refs = advertise_refs
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ self._processing_have_lines = False
|
|
|
|
|
|
@classmethod
|
|
|
def capabilities(cls):
|
|
@@ -254,7 +258,7 @@ class UploadPackHandler(Handler):
|
|
|
return (CAPABILITY_SIDE_BAND_64K, CAPABILITY_THIN_PACK, CAPABILITY_OFS_DELTA)
|
|
|
|
|
|
def progress(self, message):
|
|
|
- if self.has_capability(CAPABILITY_NO_PROGRESS):
|
|
|
+ if self.has_capability(CAPABILITY_NO_PROGRESS) or self._processing_have_lines:
|
|
|
return
|
|
|
self.proto.write_sideband(2, message)
|
|
|
|
|
@@ -293,14 +297,27 @@ class UploadPackHandler(Handler):
|
|
|
graph_walker = ProtocolGraphWalker(self, self.repo.object_store,
|
|
|
self.repo.get_peeled)
|
|
|
objects_iter = self.repo.fetch_objects(
|
|
|
- graph_walker.determine_wants, graph_walker, self.progress,
|
|
|
- get_tagged=self.get_tagged)
|
|
|
+ graph_walker.determine_wants, graph_walker, self.progress,
|
|
|
+ get_tagged=self.get_tagged)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ self._processing_have_lines = True
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
if len(objects_iter) == 0:
|
|
|
return
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+ self._processing_have_lines = False
|
|
|
+
|
|
|
self.progress(b"dul-daemon says what\n")
|
|
|
self.progress(("counting objects: %d, done.\n" % len(objects_iter)).encode('ascii'))
|
|
|
write_pack_objects(ProtocolFile(None, write), objects_iter)
|