diff --git a/rhodecode/lib/middleware/simplegit.py b/rhodecode/lib/middleware/simplegit.py --- a/rhodecode/lib/middleware/simplegit.py +++ b/rhodecode/lib/middleware/simplegit.py @@ -44,13 +44,14 @@ class SimpleGitUploadPackHandler(dulserv graph_walker.determine_wants, graph_walker, self.progress, get_tagged=self.get_tagged) - # Do they want any objects? - if objects_iter is None or len(objects_iter) == 0: + # Did the process short-circuit (e.g. in a stateless RPC call)? Note + # that the client still expects a 0-object pack in most cases. + if objects_iter is None: return self.progress("counting objects: %d, done.\n" % len(objects_iter)) dulserver.write_pack_objects(dulserver.ProtocolFile(None, write), - objects_iter, len(objects_iter)) + objects_iter) messages = [] messages.append('thank you for using rhodecode') @@ -59,6 +60,7 @@ class SimpleGitUploadPackHandler(dulserv # we are done self.proto.write("0000") + dulserver.DEFAULT_HANDLERS = { 'git-upload-pack': SimpleGitUploadPackHandler, 'git-receive-pack': dulserver.ReceivePackHandler,