mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 17:27:53 +03:00
fa4e12df09
Summary: ignore-conflict-markers This updates Mercurial to add a loggetpack option for wire proto logging that allows capturing getpack responses. This will be useful to verify correctness for ovrsource on Mononoke (right now, Mononoke isn't serving traffic for hosts that use getpack). Reviewed By: StanislavGlebik Differential Revision: D17091537 fbshipit-source-id: 755a429949d7645010dddab95202c613025f2984
37 lines
1.0 KiB
Bash
37 lines
1.0 KiB
Bash
capturewireprotologs() {
|
|
cat >> "$TESTTMP/uilog.py" <<EOF
|
|
from edenscm.mercurial import extensions
|
|
from edenscm.mercurial import ui as uimod
|
|
|
|
def uisetup(ui):
|
|
extensions.wrapfunction(uimod.ui, 'log', mylog)
|
|
|
|
def mylog(orig, self, service, *msg, **opts):
|
|
if service in ['wireproto_requests']:
|
|
kw = []
|
|
for k, v in sorted(opts.iteritems()):
|
|
if k == 'args':
|
|
v = eval(v)
|
|
for arg in v:
|
|
if isinstance(arg, dict):
|
|
v = sorted(list(arg.iteritems()))
|
|
v = str(v)
|
|
kw.append("%s=%s" % (k, v))
|
|
kwstr = ", ".join(kw)
|
|
msgstr = msg[0] % msg[1:]
|
|
self.warn('%s: %s (%s)\n' % (service, msgstr, kwstr))
|
|
with open('$TESTTMP/loggedrequests', 'a') as f:
|
|
f.write('%s: %s (%s)\n' % (service, msgstr, kwstr))
|
|
return orig(self, service, *msg, **opts)
|
|
EOF
|
|
|
|
cat >> "$HGRCPATH" <<EOF
|
|
[extensions]
|
|
uilog=$TESTTMP/uilog.py
|
|
|
|
[wireproto]
|
|
logrequests=batch,branchmap,getbundle,hello,listkeys,lookup,between,unbundle
|
|
loggetpack=True
|
|
EOF
|
|
}
|