Kiln » Dependencies » Dulwich Read More
Clone URL:  
Pushed to one repository · View In Graph Contained in master-1, master-0, and 0.9.4

Fix capability negotiation in dulwich.client

Assume only capabilities the server announced.

Changeset 6c4ad89bc776

Parent 563ec0f763e2

by Risto Kankkunen

Changes to one file · Browse files at 6c4ad89bc776 Showing diff from parent 563ec0f763e2 Diff from another changeset...

Change 1 of 6 Show Entire File dulwich/​client.py Stacked
 
153
154
155
156
157
 
 
158
159
 
160
161
162
 
169
170
171
172
 
173
174
175
 
438
439
440
441
442
443
 
444
445
446
 
470
471
472
473
474
 
 
475
476
477
 
708
709
710
711
 
712
713
714
 
743
744
745
746
 
747
748
749
 
153
154
155
 
 
156
157
158
 
159
160
161
162
 
169
170
171
 
172
173
174
175
 
438
439
440
 
 
 
441
442
443
444
 
468
469
470
 
 
471
472
473
474
475
 
706
707
708
 
709
710
711
712
 
741
742
743
 
744
745
746
747
@@ -153,10 +153,10 @@
  activity.   """   self._report_activity = report_activity - self._fetch_capabilities = list(FETCH_CAPABILITIES) - self._send_capabilities = list(SEND_CAPABILITIES) + self._fetch_capabilities = set(FETCH_CAPABILITIES) + self._send_capabilities = set(SEND_CAPABILITIES)   if thin_packs: - self._fetch_capabilities.append('thin-pack') + self._fetch_capabilities.add('thin-pack')     def _read_refs(self, proto):   server_capabilities = None @@ -169,7 +169,7 @@
  if server_capabilities is None:   (ref, server_capabilities) = extract_capabilities(ref)   refs[ref] = sha - return refs, server_capabilities + return refs, set(server_capabilities)     def send_pack(self, path, determine_wants, generate_pack_contents,   progress=None): @@ -438,9 +438,7 @@
  """   proto, unused_can_read = self._connect('receive-pack', path)   old_refs, server_capabilities = self._read_refs(proto) - negotiated_capabilities = list(self._send_capabilities) - if 'report-status' not in server_capabilities: - negotiated_capabilities.remove('report-status') + negotiated_capabilities = self._send_capabilities & server_capabilities   try:   new_refs = determine_wants(old_refs)   except: @@ -470,8 +468,8 @@
  :param progress: Callback for progress reports (strings)   """   proto, can_read = self._connect('upload-pack', path) - (refs, server_capabilities) = self._read_refs(proto) - negotiated_capabilities = list(self._fetch_capabilities) + refs, server_capabilities = self._read_refs(proto) + negotiated_capabilities = self._fetch_capabilities & server_capabilities   try:   wants = determine_wants(refs)   except: @@ -708,7 +706,7 @@
  url = self._get_url(path)   old_refs, server_capabilities = self._discover_references(   "git-receive-pack", url) - negotiated_capabilities = list(self._send_capabilities) + negotiated_capabilities = self._send_capabilities & server_capabilities   new_refs = determine_wants(old_refs)   if new_refs is None:   return old_refs @@ -743,7 +741,7 @@
  url = self._get_url(path)   refs, server_capabilities = self._discover_references(   "git-upload-pack", url) - negotiated_capabilities = list(server_capabilities) + negotiated_capabilities = server_capabilities   wants = determine_wants(refs)   if wants is not None:   wants = [cid for cid in wants if cid != ZERO_SHA]