Patchwork D5782: changegroup: don't try to prune manifest nodes if not ellipses

login
register
mail settings
Submitter phabricator
Date Feb. 16, 2019, 4:07 a.m.
Message ID <e27b87d25d9f888384122ec168b8e99d@localhost.localdomain>
Download mbox | patch
Permalink /patch/38792/
State Not Applicable
Headers show

Comments

phabricator - Feb. 16, 2019, 4:07 a.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG5f9d057ba28c: changegroup: don&#039;t try to prune manifest nodes if not ellipses (authored by pulkit, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D5782?vs=13646&id=14129

REVISION DETAIL
  https://phab.mercurial-scm.org/D5782

AFFECTED FILES
  mercurial/changegroup.py

CHANGE DETAILS




To: pulkit, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py
--- a/mercurial/changegroup.py
+++ b/mercurial/changegroup.py
@@ -1073,6 +1073,11 @@ 
                 # because of narrow clones). Do this even for the root
                 # directory (tree=='')
                 prunednodes = []
+            elif not self._ellipses:
+                # In non-ellipses case and large repositories, it is better to
+                # prevent calling of store.rev and store.linkrev on a lot of
+                # nodes as compared to sending some extra data
+                prunednodes = nodes.copy()
             else:
                 # Avoid sending any manifest nodes we can prove the
                 # client already has by checking linkrevs. See the