From patchwork Thu Dec 3 15:58:36 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2, of, 3, RFC, cg3] changegroup: document manifest linkrev callback some more From: Augie Fackler X-Patchwork-Id: 11788 Message-Id: <79ad570337631038a08b.1449158316@arthedain.pit.corp.google.com> To: mercurial-devel@selenic.com Cc: adgar@google.com Date: Thu, 03 Dec 2015 10:58:36 -0500 # HG changeset patch # User Augie Fackler # Date 1449158165 18000 # Thu Dec 03 10:56:05 2015 -0500 # Node ID 79ad570337631038a08b75957b2890975221e089 # Parent b65caadb6a3928729cf8dc81110be59279a7d65a # EXP-Topic cg3 changegroup: document manifest linkrev callback some more Martin and I just got super-confused reading some code here, so I think it's time for some more documentation. diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py --- a/mercurial/changegroup.py +++ b/mercurial/changegroup.py @@ -653,6 +653,18 @@ class cg1packer(object): # revisions. # Returns the linkrev node (collected in lookupcl). def lookupmflinknode(x): + """Callback for looking up the linknode for manifests. + + Returns the linkrev node for the specified manifest. + + SIDE EFFECT: + + fclnodes gets populated with the list of relevant + file nodes if we're not using fastpathlinkrev. + + Note that this means you can't trust fclnodes until + after manifests have been sent to the client. + """ clnode = mfs[x] if not fastpathlinkrev: mdata = ml.readfast(x)