D4980: wireprotov2: extract file object emission to own function
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Fri Oct 12 08:15:36 UTC 2018
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
An upcoming commit will introduce another caller.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D4980
AFFECTED FILES
mercurial/wireprotov2server.py
CHANGE DETAILS
diff --git a/mercurial/wireprotov2server.py b/mercurial/wireprotov2server.py
--- a/mercurial/wireprotov2server.py
+++ b/mercurial/wireprotov2server.py
@@ -975,6 +975,35 @@
return fl
+def emitfilerevisions(revisions, fields):
+ for revision in revisions:
+ d = {
+ b'node': revision.node,
+ }
+
+ if b'parents' in fields:
+ d[b'parents'] = [revision.p1node, revision.p2node]
+
+ followingmeta = []
+ followingdata = []
+
+ if b'revision' in fields:
+ if revision.revision is not None:
+ followingmeta.append((b'revision', len(revision.revision)))
+ followingdata.append(revision.revision)
+ else:
+ d[b'deltabasenode'] = revision.basenode
+ followingmeta.append((b'delta', len(revision.delta)))
+ followingdata.append(revision.delta)
+
+ if followingmeta:
+ d[b'fieldsfollowing'] = followingmeta
+
+ yield d
+
+ for extra in followingdata:
+ yield extra
+
@wireprotocommand(
'filedata',
args={
@@ -1026,33 +1055,8 @@
b'totalitems': len(nodes),
}
- for revision in revisions:
- d = {
- b'node': revision.node,
- }
-
- if b'parents' in fields:
- d[b'parents'] = [revision.p1node, revision.p2node]
-
- followingmeta = []
- followingdata = []
-
- if b'revision' in fields:
- if revision.revision is not None:
- followingmeta.append((b'revision', len(revision.revision)))
- followingdata.append(revision.revision)
- else:
- d[b'deltabasenode'] = revision.basenode
- followingmeta.append((b'delta', len(revision.delta)))
- followingdata.append(revision.delta)
-
- if followingmeta:
- d[b'fieldsfollowing'] = followingmeta
-
- yield d
-
- for extra in followingdata:
- yield extra
+ for o in emitfilerevisions(revisions, fields):
+ yield o
@wireprotocommand(
'heads',
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list