##// END OF EJS Templates
internals: extract frame-based protocol docs to own document...
internals: extract frame-based protocol docs to own document wireprotocol.txt is quite long and difficult to digest. The frame-based protocol is effectively a standalone concept (and could even be used outside of Mercurial). So this commit extracts its docs to a standalone file. The first few paragraphs were rewritten as part of the extraction. Sections headers were adjusted accordingly. Existing referalls in wireprotocol.txt were updated to refer to the new doc / concept, which I've started referring to as `hgrpc`. I'm on the fence as to whether to move the HTTP and SSH transport details to the new doc as well. For now, I'm leaving them in wireprotocol.txt. Differential Revision: https://phab.mercurial-scm.org/D4443

File last commit:

r37386:cdccfe20 default
r39594:b0e0db15 default
Show More
autodiff.py
52 lines | 1.5 KiB | text/x-python | PythonLexer
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 # Extension dedicated to test patch.diff() upgrade modes
Gregory Szorc
tests/autodiff.py: use absolute_import
r27281
from __future__ import absolute_import
from mercurial import (
error,
patch,
Pulkit Goyal
py3: use pycompat.byteskwargs() in tests/autodiff.py...
r37386 pycompat,
Yuya Nishihara
registrar: move cmdutil.command to registrar module (API)...
r32337 registrar,
Gregory Szorc
tests/autodiff.py: use absolute_import
r27281 scmutil,
)
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189
Gregory Szorc
tests: declare commands using decorator
r21254 cmdtable = {}
Yuya Nishihara
registrar: move cmdutil.command to registrar module (API)...
r32337 command = registrar.command(cmdtable)
Gregory Szorc
tests: declare commands using decorator
r21254
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 @command(b'autodiff',
[(b'', b'git', b'', b'git upgrade mode (yes/no/auto/warn/abort)')],
b'[OPTION]... [FILE]...')
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 def autodiff(ui, repo, *pats, **opts):
Pulkit Goyal
py3: use pycompat.byteskwargs() in tests/autodiff.py...
r37386 opts = pycompat.byteskwargs(opts)
Siddharth Agarwal
tests/autodiff.py: explicitly only honor feature diffopts...
r23692 diffopts = patch.difffeatureopts(ui, opts)
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 git = opts.get(b'git', b'no')
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 brokenfiles = set()
losedatafn = None
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 if git in (b'yes', b'no'):
diffopts.git = git == b'yes'
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 diffopts.upgrade = False
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 elif git == b'auto':
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 diffopts.git = False
diffopts.upgrade = True
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 elif git == b'warn':
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 diffopts.git = False
diffopts.upgrade = True
def losedatafn(fn=None, **kwargs):
brokenfiles.add(fn)
return True
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 elif git == b'abort':
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 diffopts.git = False
diffopts.upgrade = True
def losedatafn(fn=None, **kwargs):
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 raise error.Abort(b'losing data for %s' % fn)
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 else:
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 raise error.Abort(b'--git must be yes, no or auto')
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189
Martin von Zweigbergk
tests: use context-return revpair() in autodiff...
r37275 ctx1, ctx2 = scmutil.revpair(repo, [])
m = scmutil.match(ctx2, pats, opts)
it = patch.diff(repo, ctx1.node(), ctx2.node(), match=m, opts=diffopts,
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 losedatafn=losedatafn)
for chunk in it:
ui.write(chunk)
for fn in sorted(brokenfiles):
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 ui.write((b'data lost for: %s\n' % fn))