Mercurial > hg
changeset 50404:64cdd80d6909
branching: merge stable into default
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Fri, 24 Mar 2023 10:43:47 +0100 |
parents | 4341c2271d67 (diff) 1b3aa9762d3a (current diff) |
children | c0fbd63d66a7 |
files | tests/test-hook.t |
diffstat | 47 files changed, 1114 insertions(+), 621 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/fastexport.py Fri Mar 24 00:11:38 2023 +0100 +++ b/hgext/fastexport.py Fri Mar 24 10:43:47 2023 +0100 @@ -69,10 +69,10 @@ return b"refs/heads/" + branch -def write_data(buf, data, skip_newline): +def write_data(buf, data, add_newline=False): buf.append(b"data %d\n" % len(data)) buf.append(data) - if not skip_newline or data[-1:] != b"\n": + if add_newline or data[-1:] != b"\n": buf.append(b"\n") @@ -103,7 +103,7 @@ marks[filerev] = mark data = filectx.data() buf = [b"blob\n", b"mark :%d\n" % mark] - write_data(buf, data, False) + write_data(buf, data, True) ui.write(*buf, keepprogressbar=True) del buf @@ -122,7 +122,7 @@ convert_to_git_date(ctx.date()), ), ] - write_data(buf, ctx.description(), True) + write_data(buf, ctx.description()) if parents: buf.append(b"from :%d\n" % marks[parents[0].hex()]) if len(parents) == 2:
--- a/hgext/infinitepush/__init__.py Fri Mar 24 00:11:38 2023 +0100 +++ b/hgext/infinitepush/__init__.py Fri Mar 24 10:43:47 2023 +0100 @@ -330,6 +330,11 @@ clientextsetup(ui) +def uipopulate(ui): + if not ui.hasconfig(b"experimental", b"changegroup3"): + ui.setconfig(b"experimental", b"changegroup3", False, b"infinitepush") + + def commonsetup(ui): wireprotov1server.commands[b'listkeyspatterns'] = ( wireprotolistkeyspatterns,
--- a/mercurial/bundle2.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/bundle2.py Fri Mar 24 10:43:47 2023 +0100 @@ -1703,6 +1703,7 @@ vfs=None, compression=None, compopts=None, + allow_internal=False, ): if bundletype.startswith(b'HG10'): cg = changegroup.makechangegroup(repo, outgoing, b'01', source) @@ -1718,6 +1719,14 @@ elif not bundletype.startswith(b'HG20'): raise error.ProgrammingError(b'unknown bundle type: %s' % bundletype) + # enforce that no internal phase are to be bundled + bundled_internal = repo.revs(b"%ln and _internal()", outgoing.ancestorsof) + if bundled_internal and not allow_internal: + count = len(repo.revs(b'%ln and _internal()', outgoing.missing)) + msg = "backup bundle would contains %d internal changesets" + msg %= count + raise error.ProgrammingError(msg) + caps = {} if opts.get(b'obsolescence', False): caps[b'obsmarkers'] = (b'V1',) @@ -1750,12 +1759,16 @@ part.addparam( b'nbchanges', b'%d' % cg.extras[b'clcount'], mandatory=False ) - if opts.get(b'phases') and repo.revs( - b'%ln and secret()', outgoing.ancestorsof - ): - part.addparam( - b'targetphase', b'%d' % phases.secret, mandatory=False - ) + if opts.get(b'phases'): + target_phase = phases.draft + for head in outgoing.ancestorsof: + target_phase = max(target_phase, repo[head].phase()) + if target_phase > phases.draft: + part.addparam( + b'targetphase', + b'%d' % target_phase, + mandatory=False, + ) if repository.REPO_FEATURE_SIDE_DATA in repo.features: part.addparam(b'exp-sidedata', b'1')
--- a/mercurial/bundlecaches.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/bundlecaches.py Fri Mar 24 10:43:47 2023 +0100 @@ -60,6 +60,7 @@ _bundlespeccgversions = { b'v1': b'01', b'v2': b'02', + b'v3': b'03', b'packed1': b's1', b'bundle2': b'02', # legacy } @@ -82,6 +83,14 @@ b'tagsfnodescache': True, b'revbranchcache': True, }, + b'v3': { + b'changegroup': True, + b'cg.version': b'03', + b'obsolescence': False, + b'phases': True, + b'tagsfnodescache': True, + b'revbranchcache': True, + }, b'streamv2': { b'changegroup': False, b'cg.version': b'02',
--- a/mercurial/cmdutil.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/cmdutil.py Fri Mar 24 10:43:47 2023 +0100 @@ -2754,7 +2754,6 @@ def cat(ui, repo, ctx, matcher, basefm, fntemplate, prefix, **opts): err = 1 - opts = pycompat.byteskwargs(opts) def write(path): filename = None @@ -2768,7 +2767,7 @@ except OSError: pass with formatter.maybereopen(basefm, filename) as fm: - _updatecatformatter(fm, ctx, matcher, path, opts.get(b'decode')) + _updatecatformatter(fm, ctx, matcher, path, opts.get('decode')) # Automation often uses hg cat on single files, so special case it # for performance to avoid the cost of parsing the manifest. @@ -2803,7 +2802,7 @@ basefm, fntemplate, subprefix, - **pycompat.strkwargs(opts), + **opts, ): err = 0 except error.RepoLookupError:
--- a/mercurial/commands.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/commands.py Fri Mar 24 10:43:47 2023 +0100 @@ -1665,6 +1665,14 @@ scmutil.nochangesfound(ui, repo, not base and excluded) return 1 + # internal changeset are internal implementation details that should not + # leave the repository. Bundling with `hg bundle` create such risk. + bundled_internal = repo.revs(b"%ln and _internal()", missing) + if bundled_internal: + msg = _(b"cannot bundle internal changesets") + hint = _(b"%d internal changesets selected") % len(bundled_internal) + raise error.Abort(msg, hint=hint) + if heads: outgoing = discovery.outgoing( repo, missingroots=missing, ancestorsof=heads @@ -1714,8 +1722,9 @@ bundlespec.set_param( b'obsolescence-mandatory', obs_mand_cfg, overwrite=False ) - phases_cfg = cfg(b'experimental', b'bundle-phases') - bundlespec.set_param(b'phases', phases_cfg, overwrite=False) + if not bundlespec.params.get(b'phases', False): + phases_cfg = cfg(b'experimental', b'bundle-phases') + bundlespec.set_param(b'phases', phases_cfg, overwrite=False) bundle2.writenewbundle( ui, @@ -3529,22 +3538,20 @@ """ cmdutil.check_incompatible_arguments(opts, 'all_files', ['all', 'diff']) - opts = pycompat.byteskwargs(opts) - diff = opts.get(b'all') or opts.get(b'diff') - follow = opts.get(b'follow') - if opts.get(b'all_files') is None and not diff: - opts[b'all_files'] = True + + diff = opts.get('all') or opts.get('diff') + follow = opts.get('follow') + if opts.get('all_files') is None and not diff: + opts['all_files'] = True plaingrep = ( - opts.get(b'all_files') - and not opts.get(b'rev') - and not opts.get(b'follow') + opts.get('all_files') and not opts.get('rev') and not opts.get('follow') ) - all_files = opts.get(b'all_files') + all_files = opts.get('all_files') if plaingrep: - opts[b'rev'] = [b'wdir()'] + opts['rev'] = [b'wdir()'] reflags = re.M - if opts.get(b'ignore_case'): + if opts.get('ignore_case'): reflags |= re.I try: regexp = util.re.compile(pattern, reflags) @@ -3555,7 +3562,7 @@ ) return 1 sep, eol = b':', b'\n' - if opts.get(b'print0'): + if opts.get('print0'): sep = eol = b'\0' searcher = grepmod.grepsearcher( @@ -3603,7 +3610,7 @@ b'linenumber', b'%d', l.linenum, - opts.get(b'line_number'), + opts.get('line_number'), b'', ), ] @@ -3625,14 +3632,14 @@ b'user', b'%s', formatuser(ctx.user()), - opts.get(b'user'), + opts.get('user'), b'', ), ( b'date', b'%s', fm.formatdate(ctx.date(), datefmt), - opts.get(b'date'), + opts.get('date'), b'', ), ] @@ -3643,15 +3650,15 @@ field = fieldnamemap.get(name, name) label = extra_label + (b'grep.%s' % name) fm.condwrite(cond, field, fmt, data, label=label) - if not opts.get(b'files_with_matches'): + if not opts.get('files_with_matches'): fm.plain(sep, label=b'grep.sep') - if not opts.get(b'text') and binary(): + if not opts.get('text') and binary(): fm.plain(_(b" Binary file matches")) else: displaymatches(fm.nested(b'texts', tmpl=b'{text}'), l) fm.plain(eol) found = True - if opts.get(b'files_with_matches'): + if opts.get('files_with_matches'): break return found @@ -3677,9 +3684,9 @@ wopts = logcmdutil.walkopts( pats=pats, opts=opts, - revspec=opts[b'rev'], - include_pats=opts[b'include'], - exclude_pats=opts[b'exclude'], + revspec=opts['rev'], + include_pats=opts['include'], + exclude_pats=opts['exclude'], follow=follow, force_changelog_traversal=all_files, filter_revisions_by_pats=not all_files, @@ -3687,7 +3694,7 @@ revs, makefilematcher = logcmdutil.makewalker(repo, wopts) ui.pager(b'grep') - fm = ui.formatter(b'grep', opts) + fm = ui.formatter(b'grep', pycompat.byteskwargs(opts)) for fn, ctx, pstates, states in searcher.searchfiles(revs, makefilematcher): r = display(fm, fn, ctx, pstates, states) found = found or r
--- a/mercurial/configitems.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/configitems.py Fri Mar 24 10:43:47 2023 +0100 @@ -969,7 +969,7 @@ coreconfigitem( b'experimental', b'changegroup3', - default=False, + default=True, ) coreconfigitem( b'experimental',
--- a/mercurial/crecord.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/crecord.py Fri Mar 24 10:43:47 2023 +0100 @@ -1990,7 +1990,7 @@ ) # newwin([height, width,] begin_y, begin_x) self.statuswin = curses.newwin(self.numstatuslines, 0, 0, 0) - self.statuswin.keypad(1) # interpret arrow-key, etc. esc sequences + self.statuswin.keypad(True) # interpret arrow-key, etc. esc sequences # figure out how much space to allocate for the chunk-pad which is # used for displaying the patch
--- a/mercurial/dirstate.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/dirstate.py Fri Mar 24 10:43:47 2023 +0100 @@ -1760,12 +1760,6 @@ return list(files) return [f for f in dmap if match(f)] - def _actualfilename(self, tr): - if tr: - return self._pendingfilename - else: - return self._filename - def all_file_names(self): """list all filename currently used by this dirstate
--- a/mercurial/discovery.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/discovery.py Fri Mar 24 10:43:47 2023 +0100 @@ -104,14 +104,14 @@ if ancestorsof is None: ancestorsof = cl.heads() if missingroots: - discbases = [] - for n in missingroots: - discbases.extend([p for p in cl.parents(n) if p != repo.nullid]) # TODO remove call to nodesbetween. # TODO populate attributes on outgoing instance instead of setting # discbases. csets, roots, heads = cl.nodesbetween(missingroots, ancestorsof) included = set(csets) + discbases = [] + for n in csets: + discbases.extend([p for p in cl.parents(n) if p != repo.nullid]) ancestorsof = heads commonheads = [n for n in discbases if n not in included] elif not commonheads:
--- a/mercurial/encoding.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/encoding.py Fri Mar 24 10:43:47 2023 +0100 @@ -657,7 +657,7 @@ pass s = pycompat.bytestr(s) - r = b"" + r = bytearray() pos = 0 l = len(s) while pos < l: @@ -673,7 +673,7 @@ c = unichr(0xDC00 + ord(s[pos])).encode('utf-8', _utf8strict) pos += 1 r += c - return r + return bytes(r) def fromutf8b(s): @@ -712,7 +712,7 @@ # helper again to walk the string without "decoding" it. s = pycompat.bytestr(s) - r = b"" + r = bytearray() pos = 0 l = len(s) while pos < l: @@ -722,4 +722,4 @@ if b"\xed\xb0\x80" <= c <= b"\xed\xb3\xbf": c = pycompat.bytechr(ord(c.decode("utf-8", _utf8strict)) & 0xFF) r += c - return r + return bytes(r)
--- a/mercurial/helptext/config.txt Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/helptext/config.txt Fri Mar 24 10:43:47 2023 +0100 @@ -1622,7 +1622,7 @@ in ``http_proxy.no``. (default: False) ``http`` ----------- +-------- Used to configure access to Mercurial repositories via HTTP.
--- a/mercurial/mail.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/mail.py Fri Mar 24 10:43:47 2023 +0100 @@ -54,9 +54,9 @@ self._ui = ui self._host = host - def starttls(self, keyfile=None, certfile=None): + def starttls(self, keyfile=None, certfile=None, context=None): if not self.has_extn("starttls"): - msg = b"STARTTLS extension not supported by server" + msg = "STARTTLS extension not supported by server" raise smtplib.SMTPException(msg) (resp, reply) = self.docmd("STARTTLS") if resp == 220:
--- a/mercurial/phases.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/phases.py Fri Mar 24 10:43:47 2023 +0100 @@ -154,6 +154,7 @@ internal = 96 # non-continuous for compatibility allphases = (public, draft, secret, archived, internal) trackedphases = (draft, secret, archived, internal) +not_public_phases = trackedphases # record phase names cmdphasenames = [b'public', b'draft', b'secret'] # known to `hg phase` command phasenames = dict(enumerate(cmdphasenames)) @@ -171,6 +172,10 @@ remotehiddenphases = (secret, archived, internal) localhiddenphases = (internal, archived) +all_internal_phases = tuple(p for p in allphases if p & internal) +# We do not want any internal content to exit the repository, ever. +no_bundle_phases = all_internal_phases + def supportinternal(repo): # type: (localrepo.localrepository) -> bool @@ -826,10 +831,8 @@ cl = repo.changelog headsbyphase = {i: [] for i in allphases} - # No need to keep track of secret phase; any heads in the subset that - # are not mentioned are implicitly secret. - for phase in allphases[:secret]: - revset = b"heads(%%ln & %s())" % phasenames[phase] + for phase in allphases: + revset = b"heads(%%ln & _phase(%d))" % phase headsbyphase[phase] = [cl.node(r) for r in repo.revs(revset, subset)] return headsbyphase
--- a/mercurial/repair.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/repair.py Fri Mar 24 10:43:47 2023 +0100 @@ -34,7 +34,14 @@ def backupbundle( - repo, bases, heads, node, suffix, compress=True, obsolescence=True + repo, + bases, + heads, + node, + suffix, + compress=True, + obsolescence=True, + tmp_backup=False, ): """create a bundle with the specified revisions as a backup""" @@ -81,6 +88,7 @@ contentopts, vfs, compression=comp, + allow_internal=tmp_backup, ) @@ -197,6 +205,7 @@ b'temp', compress=False, obsolescence=False, + tmp_backup=True, ) with ui.uninterruptible(): @@ -335,8 +344,26 @@ def _createstripbackup(repo, stripbases, node, topic): # backup the changeset we are about to strip vfs = repo.vfs - cl = repo.changelog - backupfile = backupbundle(repo, stripbases, cl.heads(), node, topic) + unfi = repo.unfiltered() + to_node = unfi.changelog.node + # internal changeset are internal implementation details that should not + # leave the repository and not be exposed to the users. In addition feature + # using them requires to be resistant to strip. See test case for more + # details. + all_backup = unfi.revs( + b"(%ln)::(%ld) and not _internal()", + stripbases, + unfi.changelog.headrevs(), + ) + if not all_backup: + return None + + def to_nodes(revs): + return [to_node(r) for r in revs] + + bases = to_nodes(unfi.revs("roots(%ld)", all_backup)) + heads = to_nodes(unfi.revs("heads(%ld)", all_backup)) + backupfile = backupbundle(repo, bases, heads, node, topic) repo.ui.status(_(b"saved backup bundle to %s\n") % vfs.join(backupfile)) repo.ui.log( b"backupbundle", b"saved backup bundle to %s\n", vfs.join(backupfile)
--- a/mercurial/revlogutils/flagutil.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/revlogutils/flagutil.py Fri Mar 24 10:43:47 2023 +0100 @@ -176,8 +176,12 @@ vhash = True if flag not in revlog._flagprocessors: + hint = None + if flag == REVIDX_EXTSTORED: + hint = _(b"the lfs extension must be enabled") + message = _(b"missing processor for flag '%#x'") % flag - raise revlog._flagserrorclass(message) + raise revlog._flagserrorclass(message, hint=hint) processor = revlog._flagprocessors[flag] if processor is not None:
--- a/mercurial/revset.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/revset.py Fri Mar 24 10:43:47 2023 +0100 @@ -1967,6 +1967,12 @@ return repo._phasecache.getrevset(repo, targets, subset) +@predicate(b'_internal()', safe=True) +def _internal(repo, subset, x): + getargs(x, 0, 0, _(b"_internal takes no arguments")) + return _phase(repo, subset, *phases.all_internal_phases) + + @predicate(b'_phase(idx)', safe=True) def phase(repo, subset, x): l = getargs(x, 1, 1, b"_phase requires one argument") @@ -2061,7 +2067,7 @@ @predicate(b'_notpublic', safe=True) def _notpublic(repo, subset, x): getargs(x, 0, 0, b"_notpublic takes no arguments") - return _phase(repo, subset, phases.draft, phases.secret) + return _phase(repo, subset, *phases.not_public_phases) # for internal use
--- a/mercurial/statichttprepo.py Fri Mar 24 00:11:38 2023 +0100 +++ b/mercurial/statichttprepo.py Fri Mar 24 10:43:47 2023 +0100 @@ -119,7 +119,7 @@ def http_error_416(self, req, fp, code, msg, hdrs): # HTTP's Range Not Satisfiable error - raise _RangeError(b'Requested Range Not Satisfiable') + raise _RangeError('Requested Range Not Satisfiable') def build_opener(ui, authinfo): @@ -134,13 +134,13 @@ def __call__(self, path, mode=b'r', *args, **kw): if mode not in (b'r', b'rb'): - raise IOError(b'Permission denied') + raise IOError('Permission denied') f = b"/".join((self.base, urlreq.quote(path))) return httprangereader(f, urlopener) - def join(self, path): + def join(self, path, *insidef): if path: - return pathutil.join(self.base, path) + return pathutil.join(self.base, path, *insidef) else: return self.base
--- a/tests/common-pattern.py Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/common-pattern.py Fri Mar 24 10:43:47 2023 +0100 @@ -10,7 +10,7 @@ ( br'bundlecaps=HG20%2Cbundle2%3DHG20%250A' br'bookmarks%250A' - br'changegroup%253D01%252C02%250A' + br'changegroup%253D01%252C02%252C03%250A' br'checkheads%253Drelated%250A' br'digests%253Dmd5%252Csha1%252Csha512%250A' br'error%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250A' @@ -26,7 +26,7 @@ ( br'bundlecaps=HG20%2Cbundle2%3DHG20%250A' br'bookmarks%250A' - br'changegroup%253D01%252C02%250A' + br'changegroup%253D01%252C02%252C03%250A' br'checkheads%3Drelated%0A' br'digests%253Dmd5%252Csha1%252Csha512%250A' br'error%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250A' @@ -42,7 +42,7 @@ ( br'bundle2=HG20%0A' br'bookmarks%0A' - br'changegroup%3D01%2C02%0A' + br'changegroup%3D01%2C02%2C03%0A' br'checkheads%3Drelated%0A' br'digests%3Dmd5%2Csha1%2Csha512%0A' br'error%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0A' @@ -59,7 +59,7 @@ ( br'bundle2=HG20%0A' br'bookmarks%0A' - br'changegroup%3D01%2C02%0A' + br'changegroup%3D01%2C02%2C03%0A' br'checkheads%3Drelated%0A' br'digests%3Dmd5%2Csha1%2Csha512%0A' br'error%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0A' @@ -74,7 +74,7 @@ ( br'bundle2=HG20%0A' br'bookmarks%0A' - br'changegroup%3D01%2C02%0A' + br'changegroup%3D01%2C02%2C03%0A' br'digests%3Dmd5%2Csha1%2Csha512%0A' br'error%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0A' br'hgtagsfnodes%0A'
--- a/tests/test-acl.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-acl.t Fri Mar 24 10:43:47 2023 +0100 @@ -109,7 +109,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -175,7 +175,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -245,7 +245,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -325,7 +325,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -396,7 +396,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -471,7 +471,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -543,7 +543,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -620,7 +620,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -694,7 +694,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -767,7 +767,7 @@ list of changesets: ef1ea85a6374b77d6da9dcda9541f498f2d17df7 bundle2-output-bundle: "HG20", 7 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:bookmarks" 37 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload @@ -856,7 +856,7 @@ list of changesets: ef1ea85a6374b77d6da9dcda9541f498f2d17df7 bundle2-output-bundle: "HG20", 7 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:bookmarks" 37 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload @@ -947,7 +947,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1033,7 +1033,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1117,7 +1117,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1195,7 +1195,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1284,7 +1284,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1374,7 +1374,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1461,7 +1461,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1544,7 +1544,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1631,7 +1631,7 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1754,7 +1754,7 @@ 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1841,7 +1841,7 @@ 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1919,7 +1919,7 @@ 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -1993,7 +1993,7 @@ 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -2061,7 +2061,7 @@ 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -2153,7 +2153,7 @@ 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -2244,7 +2244,7 @@ 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -2317,7 +2317,7 @@ 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload @@ -2402,7 +2402,7 @@ 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
--- a/tests/test-bad-extension.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-bad-extension.t Fri Mar 24 10:43:47 2023 +0100 @@ -63,14 +63,11 @@ Exception: bit bucket overflow *** failed to import extension "badext2": No module named 'badext2' Traceback (most recent call last): - ImportError: No module named 'hgext.badext2' (no-py36 !) - ModuleNotFoundError: No module named 'hgext.badext2' (py36 !) + ModuleNotFoundError: No module named 'hgext.badext2' Traceback (most recent call last): - ImportError: No module named 'hgext3rd.badext2' (no-py36 !) - ModuleNotFoundError: No module named 'hgext3rd.badext2' (py36 !) + ModuleNotFoundError: No module named 'hgext3rd.badext2' Traceback (most recent call last): - ImportError: No module named 'badext2' (no-py36 !) - ModuleNotFoundError: No module named 'badext2' (py36 !) + ModuleNotFoundError: No module named 'badext2' names of extensions failed to load can be accessed via extensions.notloaded() @@ -111,25 +108,19 @@ YYYY/MM/DD HH:MM:SS (PID)> - loading extension: badext2 YYYY/MM/DD HH:MM:SS (PID)> - could not import hgext.badext2 (No module named *badext2*): trying hgext3rd.badext2 (glob) Traceback (most recent call last): - ImportError: No module named 'hgext.badext2' (no-py36 !) - ModuleNotFoundError: No module named 'hgext.badext2' (py36 !) + ModuleNotFoundError: No module named 'hgext.badext2' YYYY/MM/DD HH:MM:SS (PID)> - could not import hgext3rd.badext2 (No module named *badext2*): trying badext2 (glob) Traceback (most recent call last): - ImportError: No module named 'hgext.badext2' (no-py36 !) - ModuleNotFoundError: No module named 'hgext.badext2' (py36 !) + ModuleNotFoundError: No module named 'hgext.badext2' Traceback (most recent call last): - ImportError: No module named 'hgext3rd.badext2' (no-py36 !) - ModuleNotFoundError: No module named 'hgext3rd.badext2' (py36 !) + ModuleNotFoundError: No module named 'hgext3rd.badext2' *** failed to import extension "badext2": No module named 'badext2' Traceback (most recent call last): - ImportError: No module named 'hgext.badext2' (no-py36 !) - ModuleNotFoundError: No module named 'hgext.badext2' (py36 !) + ModuleNotFoundError: No module named 'hgext.badext2' Traceback (most recent call last): - ImportError: No module named 'hgext3rd.badext2' (no-py36 !) - ModuleNotFoundError: No module named 'hgext3rd.badext2' (py36 !) + ModuleNotFoundError: No module named 'hgext3rd.badext2' Traceback (most recent call last): - ModuleNotFoundError: No module named 'badext2' (py36 !) - ImportError: No module named 'badext2' (no-py36 !) + ModuleNotFoundError: No module named 'badext2' YYYY/MM/DD HH:MM:SS (PID)> > loaded 2 extensions, total time * (glob) YYYY/MM/DD HH:MM:SS (PID)> - loading configtable attributes YYYY/MM/DD HH:MM:SS (PID)> - executing uisetup hooks
--- a/tests/test-bookmarks-pushpull.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-bookmarks-pushpull.t Fri Mar 24 10:43:47 2023 +0100 @@ -129,10 +129,10 @@ bundle2-output: bundle parameter: bundle2-output: start of parts bundle2-output: bundle part: "replycaps" - bundle2-output-part: "replycaps" 224 bytes payload + bundle2-output-part: "replycaps" 227 bytes payload bundle2-output: part 0: "REPLYCAPS" bundle2-output: header chunk size: 16 - bundle2-output: payload chunk size: 224 + bundle2-output: payload chunk size: 227 bundle2-output: closing payload chunk bundle2-output: bundle part: "check:bookmarks" bundle2-output-part: "check:bookmarks" 23 bytes payload @@ -162,9 +162,9 @@ bundle2-input: part parameters: 0 bundle2-input: found a handler for part replycaps bundle2-input-part: "replycaps" supported - bundle2-input: payload chunk size: 224 + bundle2-input: payload chunk size: 227 bundle2-input: payload chunk size: 0 - bundle2-input-part: total payload size 224 + bundle2-input-part: total payload size 227 bundle2-input: part header size: 22 bundle2-input: part type: "CHECK:BOOKMARKS" bundle2-input: part id: "1" @@ -241,10 +241,10 @@ bundle2-output: bundle parameter: bundle2-output: start of parts bundle2-output: bundle part: "replycaps" - bundle2-output-part: "replycaps" 224 bytes payload + bundle2-output-part: "replycaps" 227 bytes payload bundle2-output: part 0: "REPLYCAPS" bundle2-output: header chunk size: 16 - bundle2-output: payload chunk size: 224 + bundle2-output: payload chunk size: 227 bundle2-output: closing payload chunk bundle2-output: bundle part: "check:bookmarks" bundle2-output-part: "check:bookmarks" 23 bytes payload @@ -275,9 +275,9 @@ bundle2-input: part parameters: 0 bundle2-input: found a handler for part replycaps bundle2-input-part: "replycaps" supported - bundle2-input: payload chunk size: 224 + bundle2-input: payload chunk size: 227 bundle2-input: payload chunk size: 0 - bundle2-input-part: total payload size 224 + bundle2-input-part: total payload size 227 bundle2-input: part header size: 22 bundle2-input: part type: "CHECK:BOOKMARKS" bundle2-input: part id: "1"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-bundle-phase-internal.t Fri Mar 24 10:43:47 2023 +0100 @@ -0,0 +1,286 @@ +===================================================== +test behavior of the `internal` phase around bundling +===================================================== + +Long story short, internal changeset are internal implementation details and +they should never leave the repository. Hence, they should never be in a +bundle. + +Setup +===== + + $ cat << EOF >> $HGRCPATH + > [ui] + > logtemplate="{node|short} [{phase}] {desc|firstline}" + > EOF + + + $ hg init reference-repo --config format.use-internal-phase=yes + $ cd reference-repo + $ echo a > a + $ hg add a + $ hg commit -m "a" + $ echo b > b + $ hg add b + $ hg commit -m "b" + $ echo b > c + $ hg add c + $ hg commit -m "c" + $ hg log -G + @ 07f0cc02c068 [draft] c + | + o d2ae7f538514 [draft] b + | + o cb9a9f314b8b [draft] a + + $ hg up ".^" + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + +do a shelve + + $ touch a_file.txt + $ hg shelve -A + adding a_file.txt + shelved as default + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg log -G --hidden + o 2ec3cf310d86 [internal] changes to: b + | + | o 07f0cc02c068 [draft] c + |/ + @ d2ae7f538514 [draft] b + | + o cb9a9f314b8b [draft] a + + $ shelved_node=`hg log --rev tip --hidden -T '{node|short}'` + +add more changeset above it + + $ hg up 'desc(a)' + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ echo d > d + $ hg add d + $ hg commit -m "d" + created new head + $ echo d > e + $ hg add e + $ hg commit -m "e" + $ hg up null + 0 files updated, 0 files merged, 3 files removed, 0 files unresolved + $ hg log -G + o 636bc07920e3 [draft] e + | + o 980f7dc84c29 [draft] d + | + | o 07f0cc02c068 [draft] c + | | + | o d2ae7f538514 [draft] b + |/ + o cb9a9f314b8b [draft] a + + $ hg log -G --hidden + o 636bc07920e3 [draft] e + | + o 980f7dc84c29 [draft] d + | + | o 2ec3cf310d86 [internal] changes to: b + | | + | | o 07f0cc02c068 [draft] c + | |/ + | o d2ae7f538514 [draft] b + |/ + o cb9a9f314b8b [draft] a + + $ cd .. + +backup bundle from strip +======================== + +strip an ancestors of the internal changeset +-------------------------------------------- + + $ cp -ar reference-repo strip-ancestor + $ cd strip-ancestor + +The internal change is stripped, yet it should be skipped from the backup bundle. + + $ hg log -G + o 636bc07920e3 [draft] e + | + o 980f7dc84c29 [draft] d + | + | o 07f0cc02c068 [draft] c + | | + | o d2ae7f538514 [draft] b + |/ + o cb9a9f314b8b [draft] a + + $ hg debugstrip 'desc(b)' + saved backup bundle to $TESTTMP/strip-ancestor/.hg/strip-backup/d2ae7f538514-59bd8bc3-backup.hg + +The change should be either gone or hidden + + $ hg log -G + o 636bc07920e3 [draft] e + | + o 980f7dc84c29 [draft] d + | + o cb9a9f314b8b [draft] a + + +The backup should not include it (as people tend to manipulate these directly) + + $ ls -1 .hg/strip-backup/ + d2ae7f538514-59bd8bc3-backup.hg + $ hg debugbundle .hg/strip-backup/*.hg + Stream params: {Compression: BZ} + changegroup -- {nbchanges: 2, version: 03} (mandatory: True) + d2ae7f538514cd87c17547b0de4cea71fe1af9fb + 07f0cc02c06869c81ebf33867edef30554020c0d + cache:rev-branch-cache -- {} (mandatory: False) + phase-heads -- {} (mandatory: True) + 07f0cc02c06869c81ebf33867edef30554020c0d draft + +Shelve should still work + + $ hg unshelve + unshelving change 'default' + rebasing shelved changes + $ hg status + A a_file.txt + + $ cd .. + +strip an unrelated changeset with a lower revnum +------------------------------------------------ + + $ cp -ar reference-repo strip-unrelated + $ cd strip-unrelated + +The internal change is not directly stripped, but it is affected by the strip +and it is in the "temporary backup" zone. The zone that needs to be put in a +temporary bundle while we affect data under it. + + $ hg debugstrip 'desc(c)' + saved backup bundle to $TESTTMP/strip-unrelated/.hg/strip-backup/07f0cc02c068-8fd0515f-backup.hg + +The change should be either gone or hidden + + $ hg log -G + o 636bc07920e3 [draft] e + | + o 980f7dc84c29 [draft] d + | + | o d2ae7f538514 [draft] b + |/ + o cb9a9f314b8b [draft] a + +The backup should not include it (as people tend to manipulate these directly) + + $ ls -1 .hg/strip-backup/ + 07f0cc02c068-8fd0515f-backup.hg + $ hg debugbundle .hg/strip-backup/*.hg + Stream params: {Compression: BZ} + changegroup -- {nbchanges: 1, version: 03} (mandatory: True) + 07f0cc02c06869c81ebf33867edef30554020c0d + cache:rev-branch-cache -- {} (mandatory: False) + phase-heads -- {} (mandatory: True) + 07f0cc02c06869c81ebf33867edef30554020c0d draft + +Shelve should still work + + $ hg unshelve + unshelving change 'default' + rebasing shelved changes + $ hg status + A a_file.txt + + $ cd .. + +explicitly strip the internal changeset +--------------------------------------- + + $ cp -ar reference-repo strip-explicit + $ cd strip-explicit + +The internal change is directly selected for stripping. + + $ hg debugstrip --hidden $shelved_node + +The change should be gone + + $ hg log -G --hidden + o 636bc07920e3 [draft] e + | + o 980f7dc84c29 [draft] d + | + | o 07f0cc02c068 [draft] c + | | + | o d2ae7f538514 [draft] b + |/ + o cb9a9f314b8b [draft] a + + +We don't need to backup anything + + $ ls -1 .hg/strip-backup/ + +Shelve should still work + + $ hg unshelve + unshelving change 'default' + rebasing shelved changes + $ hg status + A a_file.txt + + $ cd .. + +Explicitly bundling the internal change +======================================= + + $ cd reference-repo + +try to bundle it alone explicitly +--------------------------------- + +We should not allow it + + $ hg bundle --type v3 --exact --rev $shelved_node --hidden ../internal-01.hg + abort: cannot bundle internal changesets + (1 internal changesets selected) + [255] + $ hg debugbundle ../internal-01.hg + abort: $ENOENT$: '../internal-01.hg' + [255] + +try to bundle it with other, somewhat explicitly +------------------------------------------------ + +We should not allow it + + $ hg bundle --type v3 --exact --rev 'desc(b)':: --hidden ../internal-02.hg + abort: cannot bundle internal changesets + (1 internal changesets selected) + [255] + $ hg debugbundle ../internal-02.hg + abort: $ENOENT$: '../internal-02.hg' + [255] + +bundle visible ancestors +------------------------ + +This should succeed as the standard filtering is skipping the internal change naturally + + $ hg bundle --type v3 --exact --rev 'desc(b)':: ../internal-03.hg + 2 changesets found + $ hg debugbundle ../internal-03.hg + Stream params: {Compression: BZ} + changegroup -- {nbchanges: 2, version: 03} (mandatory: True) + d2ae7f538514cd87c17547b0de4cea71fe1af9fb + 07f0cc02c06869c81ebf33867edef30554020c0d + cache:rev-branch-cache -- {} (mandatory: False) + phase-heads -- {} (mandatory: True) + 07f0cc02c06869c81ebf33867edef30554020c0d draft + + $ cd .. +
--- a/tests/test-bundle-phases.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-bundle-phases.t Fri Mar 24 10:43:47 2023 +0100 @@ -44,6 +44,7 @@ cache:rev-branch-cache -- {} (mandatory: False) phase-heads -- {} (mandatory: True) 26805aba1e600a82e93661149f2313866a221a7b draft + 9bc730a19041f9ec7cb33c626e811aa233efb18c secret $ hg strip --no-backup C Phases show on incoming, and are also restored when pulling. Secret commits @@ -374,6 +375,7 @@ phase-heads -- {} (mandatory: True) dc0947a82db884575bb76ea10ac97b08536bfa03 public 03ca77807e919db8807c3749086dc36fb478cac0 draft + 4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4 secret $ hg strip --no-backup A $ hg unbundle -q bundle $ rm bundle @@ -398,6 +400,7 @@ 4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4 cache:rev-branch-cache -- {} (mandatory: False) phase-heads -- {} (mandatory: True) + 4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4 secret $ rm bundle $ hg bundle --base A -r D bundle @@ -411,6 +414,7 @@ cache:rev-branch-cache -- {} (mandatory: False) phase-heads -- {} (mandatory: True) dc0947a82db884575bb76ea10ac97b08536bfa03 public + 4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4 secret $ rm bundle $ hg bundle --base 'B + C' -r 'D + E' bundle @@ -423,4 +427,5 @@ cache:rev-branch-cache -- {} (mandatory: False) phase-heads -- {} (mandatory: True) 03ca77807e919db8807c3749086dc36fb478cac0 draft + 4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4 secret $ rm bundle
--- a/tests/test-bundle-type.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-bundle-type.t Fri Mar 24 10:43:47 2023 +0100 @@ -4,127 +4,409 @@ $ hg init t2 $ cd t1 $ echo blablablablabla > file.txt - $ hg ci -Ama + $ hg ci -A -m commit_root adding file.txt - $ hg log | grep summary - summary: a - $ hg bundle ../b1 ../t2 + $ echo kapoue > file.txt + $ hg ci -m commit_1 + $ echo scrabageul > file.txt + $ hg ci -m commit_2 + $ hg up 'desc("commit_root")' + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo flagabalagla > file.txt + $ hg ci -m commit_3 + created new head + $ echo aliofia > file.txt + $ hg ci -m commit_4 + $ echo alklqo > file.txt + $ hg ci -m commit_5 + $ echo peakfeo > file.txt + $ hg ci -m commit_6 --secret + $ hg phase --public --rev 'desc(commit_3)' + $ hg log -GT '[{phase}] {desc|firstline}\n' + @ [secret] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [public] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [public] commit_root + + +XXX the bundle generation is defined by a discovery round here. So the secret +changeset should be excluded. + + $ hg bundle ../b1.hg ../t2 searching for changes - 1 changesets found + 7 changesets found (known-bad-output !) + 6 changesets found (missing-correct-output !) + $ cd .. - $ cd ../t2 - $ hg unbundle ../b1 + $ hg -R t2 unbundle ./b1.hg adding changesets adding manifests adding file changes - added 1 changesets with 1 changes to 1 files - new changesets c35a0f9217e6 (1 drafts) - (run 'hg update' to get a working copy) - $ hg up + added 7 changesets with 7 changes to 1 files (+1 heads) (known-bad-output !) + added 6 changesets with 6 changes to 1 files (+1 heads) (missing-correct-output !) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + $ hg -R t2 up 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg log | grep summary - summary: a - $ cd .. + updated to "b9f5f740a8cd: commit_6" + 1 other heads for branch "default" + $ hg -R t2 log -GT '[{phase}] {desc|firstline}\n' + @ [draft] commit_6 (known-bad-output !) + | (known-bad-output !) + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + Unknown compression type is rejected $ hg init t3 - $ cd t3 - $ hg -q unbundle ../b1 - $ hg bundle -a -t unknown out.hg + $ hg -R t3 -q unbundle ./b1.hg + $ hg -R t3 bundle -a -t unknown out.hg abort: unknown is not a recognized bundle specification (see 'hg help bundlespec' for supported values for --type) [10] - $ hg bundle -a -t unknown-v2 out.hg + $ hg -R t3 bundle -a -t unknown-v2 out.hg abort: unknown compression is not supported (see 'hg help bundlespec' for supported values for --type) [10] - $ cd .. +test bundle types +================= -test bundle types +since we use --all, it is okay to include the secret changeset here. It is +unfortunate that the phase information for the secret one is lost. $ testbundle() { > echo % test bundle type $1 - > hg init t$1 - > cd t1 - > hg bundle -t $1 ../b$1 ../t$1 - > f -q -B6 -D ../b$1; echo - > cd ../t$1 - > hg debugbundle ../b$1 - > hg debugbundle --spec ../b$1 + > echo '===================================' + > hg -R t1 bundle --all --type $1 ./b-$1.hg + > f -q -B6 -D ./b-$1.hg; echo + > hg debugbundle ./b-$1.hg + > hg debugbundle --spec ./b-$1.hg > echo - > cd .. + > hg init repo-from-type-$1 + > hg unbundle -R repo-from-type-$1 ./b-$1.hg + > hg -R repo-from-type-$1 log -GT '[{phase}] {desc|firstline}\n' + > echo > } - $ for t in "None" "bzip2" "gzip" "none-v2" "v2" "v1" "gzip-v1"; do + $ for t in "None" "bzip2" "gzip" "none-v2" "v2" "v1" "gzip-v1" "v3"; do > testbundle $t > done % test bundle type None - searching for changes - 1 changesets found + =================================== + 7 changesets found HG20\x00\x00 (esc) Stream params: {} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + changegroup -- {nbchanges: 7, version: 02} (mandatory: True) + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 cache:rev-branch-cache -- {} (mandatory: False) none-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type bzip2 - searching for changes - 1 changesets found + =================================== + 7 changesets found HG20\x00\x00 (esc) Stream params: {Compression: BZ} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + changegroup -- {nbchanges: 7, version: 02} (mandatory: True) + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 cache:rev-branch-cache -- {} (mandatory: False) bzip2-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type gzip - searching for changes - 1 changesets found + =================================== + 7 changesets found HG20\x00\x00 (esc) Stream params: {Compression: GZ} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + changegroup -- {nbchanges: 7, version: 02} (mandatory: True) + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 cache:rev-branch-cache -- {} (mandatory: False) gzip-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type none-v2 - searching for changes - 1 changesets found + =================================== + 7 changesets found HG20\x00\x00 (esc) Stream params: {} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + changegroup -- {nbchanges: 7, version: 02} (mandatory: True) + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 cache:rev-branch-cache -- {} (mandatory: False) none-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type v2 - searching for changes - 1 changesets found + =================================== + 7 changesets found HG20\x00\x00 (esc) Stream params: {Compression: BZ} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + changegroup -- {nbchanges: 7, version: 02} (mandatory: True) + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 cache:rev-branch-cache -- {} (mandatory: False) bzip2-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type v1 - searching for changes - 1 changesets found + =================================== + 7 changesets found HG10BZ - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 bzip2-v1 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type gzip-v1 - searching for changes - 1 changesets found + =================================== + 7 changesets found HG10GZ - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 gzip-v1 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + + % test bundle type v3 + =================================== + 7 changesets found + HG20\x00\x00 (esc) + Stream params: {Compression: BZ} + changegroup -- {nbchanges: 7, targetphase: 2, version: 03} (mandatory: True) + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 + cache:rev-branch-cache -- {} (mandatory: False) + phase-heads -- {} (mandatory: True) + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d public + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 draft + 2ea90778052ba7558fab36e3fd5d149512ff986b draft + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 secret + bzip2-v2;cg.version=03 + + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (4 drafts, 1 secrets) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [secret] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [public] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [public] commit_root + + Compression level can be adjusted for bundle2 bundles @@ -167,36 +449,90 @@ > testbundle $t > done % test bundle type zstd - searching for changes - 1 changesets found + =================================== + 7 changesets found HG20\x00\x00 (esc) Stream params: {Compression: ZS} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + changegroup -- {nbchanges: 7, version: 02} (mandatory: True) + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 cache:rev-branch-cache -- {} (mandatory: False) zstd-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type zstd-v2 - searching for changes - 1 changesets found + =================================== + 7 changesets found HG20\x00\x00 (esc) Stream params: {Compression: ZS} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + changegroup -- {nbchanges: 7, version: 02} (mandatory: True) + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 cache:rev-branch-cache -- {} (mandatory: False) zstd-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + Explicit request for zstd on non-generaldelta repos $ hg --config format.usegeneraldelta=false init nogd $ hg -q -R nogd pull t1 $ hg -R nogd bundle -a -t zstd nogd-zstd - 1 changesets found + 6 changesets found zstd-v1 always fails - $ hg -R tzstd bundle -a -t zstd-v1 zstd-v1 + $ hg -R t1 bundle -a -t zstd-v1 zstd-v1 abort: compression engine zstd is not supported on v1 bundles (see 'hg help bundlespec' for supported values for --type) [10] @@ -243,26 +579,44 @@ Test controlling the changegroup version $ hg -R t1 bundle --config experimental.changegroup3=yes -a -t v2 ./v2-cg-default.hg - 1 changesets found + 7 changesets found $ hg debugbundle ./v2-cg-default.hg --part-type changegroup Stream params: {Compression: BZ} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + changegroup -- {nbchanges: 7, version: 02} (mandatory: True) + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 $ hg debugbundle ./v2-cg-default.hg --spec bzip2-v2 $ hg -R t1 bundle --config experimental.changegroup3=yes -a -t 'v2;cg.version=02' ./v2-cg-02.hg - 1 changesets found + 7 changesets found $ hg debugbundle ./v2-cg-02.hg --part-type changegroup Stream params: {Compression: BZ} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + changegroup -- {nbchanges: 7, version: 02} (mandatory: True) + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 $ hg debugbundle ./v2-cg-02.hg --spec bzip2-v2 $ hg -R t1 bundle --config experimental.changegroup3=yes -a -t 'v2;cg.version=03' ./v2-cg-03.hg - 1 changesets found + 7 changesets found $ hg debugbundle ./v2-cg-03.hg --part-type changegroup Stream params: {Compression: BZ} - changegroup -- {nbchanges: 1, version: 03} (mandatory: True) - c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf + changegroup -- {nbchanges: 7, version: 03} (mandatory: True) + ac39af4a9f7d2aaa7d244720e57838be9bf63b03 + 901e97fadc587978ec52f2fa76af4aefc2d191e8 + a8c3a1ed30eb71f03f476c5fa7ead831ef991a55 + 66e2c4b43e0cf8f0bdff0733a0b97ce57874e35d + 624e609639853fe22c88d42a8fd1f53a0e9b7ebe + 2ea90778052ba7558fab36e3fd5d149512ff986b + b9f5f740a8cd76700020e3903ee55ecff78bd3e5 $ hg debugbundle ./v2-cg-03.hg --spec bzip2-v2;cg.version=03
--- a/tests/test-clone-stream.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-clone-stream.t Fri Mar 24 10:43:47 2023 +0100 @@ -128,6 +128,7 @@ changegroup 01 02 + 03 checkheads related digests @@ -157,7 +158,7 @@ added 3 changesets with 1088 changes to 1088 files new changesets 96ee1d7354c4:5223b5e3265f - $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" + $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" 200 Script output follows content-type: application/mercurial-0.2 @@ -195,6 +196,7 @@ changegroup 01 02 + 03 checkheads related digests @@ -224,7 +226,7 @@ added 3 changesets with 1088 changes to 1088 files new changesets 96ee1d7354c4:5223b5e3265f - $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" + $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" 200 Script output follows content-type: application/mercurial-0.2 @@ -284,7 +286,7 @@ getbundle requests with stream=1 are uncompressed - $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto '0.1 0.2 comp=zlib,none' --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" + $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto '0.1 0.2 comp=zlib,none' --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" 200 Script output follows content-type: application/mercurial-0.2
--- a/tests/test-clonebundles.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-clonebundles.t Fri Mar 24 10:43:47 2023 +0100 @@ -587,7 +587,7 @@ adding file changes adding bar revisions adding foo revisions - bundle2-input-part: total payload size 920 + bundle2-input-part: total payload size 936 bundle2-input-part: "listkeys" (params: 1 mandatory) supported bundle2-input-part: "phase-heads" supported bundle2-input-part: total payload size 24
--- a/tests/test-commit-amend.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-commit-amend.t Fri Mar 24 10:43:47 2023 +0100 @@ -121,15 +121,15 @@ committing changelog 1 changesets found uncompressed size of bundle content: - 254 (changelog) - 163 (manifests) - 133 a + 256 (changelog) + 165 (manifests) + 135 a saved backup bundle to $TESTTMP/repo/.hg/strip-backup/47343646fa3d-c2758885-amend.hg 1 changesets found uncompressed size of bundle content: - 250 (changelog) - 163 (manifests) - 133 a + 252 (changelog) + 165 (manifests) + 135 a adding branch adding changesets adding manifests @@ -265,15 +265,15 @@ committing changelog 1 changesets found uncompressed size of bundle content: - 249 (changelog) - 163 (manifests) - 135 a + 251 (changelog) + 165 (manifests) + 137 a saved backup bundle to $TESTTMP/repo/.hg/strip-backup/a9a13940fc03-7c2e8674-amend.hg 1 changesets found uncompressed size of bundle content: - 257 (changelog) - 163 (manifests) - 135 a + 259 (changelog) + 165 (manifests) + 137 a adding branch adding changesets adding manifests @@ -301,15 +301,15 @@ committing changelog 1 changesets found uncompressed size of bundle content: - 257 (changelog) - 163 (manifests) - 135 a + 259 (changelog) + 165 (manifests) + 137 a saved backup bundle to $TESTTMP/repo/.hg/strip-backup/64a124ba1b44-10374b8f-amend.hg 1 changesets found uncompressed size of bundle content: - 257 (changelog) - 163 (manifests) - 137 a + 259 (changelog) + 165 (manifests) + 139 a adding branch adding changesets adding manifests
--- a/tests/test-debugcommands.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-debugcommands.t Fri Mar 24 10:43:47 2023 +0100 @@ -636,6 +636,7 @@ changegroup 01 02 + 03 checkheads related digests @@ -673,7 +674,7 @@ devel-peer-request: pairs: 81 bytes sending hello command sending between command - remote: 468 + remote: 473 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlog-compression-zstd,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash remote: 1 devel-peer-request: protocaps @@ -693,7 +694,7 @@ devel-peer-request: pairs: 81 bytes sending hello command sending between command - remote: 468 + remote: 473 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlog-compression-zstd,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash remote: 1 devel-peer-request: protocaps @@ -713,7 +714,7 @@ devel-peer-request: pairs: 81 bytes sending hello command sending between command - remote: 444 + remote: 449 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash remote: 1 devel-peer-request: protocaps
--- a/tests/test-generaldelta.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-generaldelta.t Fri Mar 24 10:43:47 2023 +0100 @@ -163,7 +163,7 @@ saved backup bundle to $TESTTMP/aggressive/.hg/strip-backup/1c5d4dc9a8b8-6c68e60c-backup.hg $ hg debugbundle .hg/strip-backup/* Stream params: {Compression: BZ} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) + changegroup -- {nbchanges: 1, version: 03} (mandatory: True) 1c5d4dc9a8b8d6e1750966d343e94db665e7a1e9 cache:rev-branch-cache -- {} (mandatory: False) phase-heads -- {} (mandatory: True)
--- a/tests/test-hook.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-hook.t Fri Mar 24 10:43:47 2023 +0100 @@ -985,13 +985,11 @@ Traceback (most recent call last): SyntaxError: * (glob) Traceback (most recent call last): - ImportError: No module named 'hgext_syntaxerror' (no-py36 !) - ModuleNotFoundError: No module named 'hgext_syntaxerror' (py36 !) + ModuleNotFoundError: No module named 'hgext_syntaxerror' Traceback (most recent call last): SyntaxError: * (glob) Traceback (most recent call last): - ImportError: No module named 'hgext_syntaxerror' (no-py36 !) - ModuleNotFoundError: No module named 'hgext_syntaxerror' (py36 !) + ModuleNotFoundError: No module named 'hgext_syntaxerror' Traceback (most recent call last): raise error.HookLoadError( (py38 !) mercurial.error.HookLoadError: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed @@ -1147,21 +1145,16 @@ $ hg --traceback commit -ma 2>&1 | egrep '^exception|ImportError|ModuleNotFoundError|Traceback|HookLoadError|abort' exception from first failed import attempt: Traceback (most recent call last): - ImportError: No module named 'somebogusmodule' (no-py36 !) - ModuleNotFoundError: No module named 'somebogusmodule' (py36 !) + ModuleNotFoundError: No module named 'somebogusmodule' exception from second failed import attempt: Traceback (most recent call last): - ImportError: No module named 'somebogusmodule' (no-py36 !) - ModuleNotFoundError: No module named 'somebogusmodule' (py36 !) + ModuleNotFoundError: No module named 'somebogusmodule' Traceback (most recent call last): - ImportError: No module named 'hgext_importfail' (no-py36 !) - ModuleNotFoundError: No module named 'hgext_importfail' (py36 !) + ModuleNotFoundError: No module named 'hgext_importfail' Traceback (most recent call last): - ImportError: No module named 'somebogusmodule' (no-py36 !) - ModuleNotFoundError: No module named 'somebogusmodule' (py36 !) + ModuleNotFoundError: No module named 'somebogusmodule' Traceback (most recent call last): - ImportError: No module named 'hgext_importfail' (no-py36 !) - ModuleNotFoundError: No module named 'hgext_importfail' (py36 !) + ModuleNotFoundError: No module named 'hgext_importfail' Traceback (most recent call last): raise error.HookLoadError( (py38 !) mercurial.error.HookLoadError: precommit.importfail hook is invalid: import of "importfail" failed
--- a/tests/test-http-bad-server.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-http-bad-server.t Fri Mar 24 10:43:47 2023 +0100 @@ -130,10 +130,8 @@ readline(*) -> (*) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (py36 !) - sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (py36 !) - write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (no-py36 !) - write(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (no-py36 !) + sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) + sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) readline(~) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob) readline(*) -> (1?) Accept-Encoding* (glob) read limit reached; closing socket @@ -153,7 +151,7 @@ $ hg serve \ > --config badserver.close-after-recv-patterns="GET /\?cmd=batch,user-agent: mercurial/proto-1.0,GET /\?cmd=getbundle" \ - > --config badserver.close-after-recv-bytes=110,26,274 \ + > --config badserver.close-after-recv-bytes=110,26,281 \ > -p $HGPORT -d --pid-file=hg.pid -E error.log $ cat hg.pid > $DAEMON_PIDS $ hg clone http://localhost:$HGPORT/ clone @@ -172,10 +170,8 @@ readline(*) -> (*) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (py36 !) - sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (py36 !) - write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (no-py36 !) - write(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (no-py36 !) + sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) + sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) readline(~) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob) readline(*) -> (27) Accept-Encoding: identity\r\n (glob) readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) @@ -191,16 +187,14 @@ readline(*) -> (*) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !) - sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !) - write(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (no-py36 !) - write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py36 !) + sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n + sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; readline(24 from ~) -> (*) GET /?cmd=getbundle HTTP* (glob) read limit reached; closing socket readline(~) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n - readline(274 from *) -> (27) Accept-Encoding: identity\r\n (glob) - readline(247 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) - readline(218 from *) -> (218) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtag (glob) + readline(281 from *) -> (27) Accept-Encoding: identity\r\n (glob) + readline(254 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) + readline(225 from *) -> (225) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtag (glob) read limit reached; closing socket $ rm -f error.log @@ -228,10 +222,8 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (py36 !) - sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (py36 !) - write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (no-py36 !) - write(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (no-py36 !) + sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) + sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) readline(~) -> (27) POST /?cmd=batch HTTP/1.1\r\n (glob) readline(*) -> (27) Accept-Encoding: identity\r\n (glob) readline(*) -> (41) content-type: application/mercurial-0.1\r\n (glob) @@ -256,7 +248,6 @@ Traceback (most recent call last): Exception: connection closed after receiving N bytes - write(126) -> HTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (no-py36 !) $ rm -f error.log @@ -282,14 +273,12 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(1 from 160) -> (0) H (py36 !) - write(1 from 160) -> (0) H (no-py36 !) + sendall(1 from 160) -> (0) H write limit reached; closing socket $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=capabilities': (glob) Traceback (most recent call last): Exception: connection closed after sending N bytes - write(286) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (glob) (no-py36 !) $ rm -f error.log @@ -315,10 +304,8 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (py36 !) - sendall(20 from *) -> (0) batch branchmap bund (glob) (py36 !) - write(160) -> (20) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (no-py36 !) - write(20 from *) -> (0) batch branchmap bund (glob) (no-py36 !) + sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) + sendall(20 from *) -> (0) batch branchmap bund (glob) write limit reached; closing socket $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=capabilities': (glob) Traceback (most recent call last): @@ -354,10 +341,8 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (py36 !) - sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (py36 !) - write(160) -> (568) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (no-py36 !) - write(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (no-py36 !) + sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) + sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) readline(~) -> (26) GET /?cmd=batch HTTP/1.1\r\n readline(*) -> (27) Accept-Encoding: identity\r\n (glob) readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) @@ -367,14 +352,12 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(118 from 159) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: applicat (py36 !) - write(118 from 159) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: applicat (no-py36 !) + sendall(118 from 159) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: applicat write limit reached; closing socket $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob) Traceback (most recent call last): Exception: connection closed after sending N bytes - write(285) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (no-py36 !) $ rm -f error.log @@ -400,10 +383,8 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (py36 !) - sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (py36 !) - write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (no-py36 !) - write(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (no-py36 !) + sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) + sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) readline(~) -> (26) GET /?cmd=batch HTTP/1.1\r\n readline(*) -> (27) Accept-Encoding: identity\r\n (glob) readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) @@ -413,10 +394,8 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !) - sendall(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (py36 !) - write(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (no-py36 !) - write(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (no-py36 !) + sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n + sendall(24 from 42) -> (0) 96ee1d7354c4ad7372047672 write limit reached; closing socket $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob) Traceback (most recent call last): @@ -453,10 +432,8 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (py36 !) - sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (py36 !) - write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (no-py36 !) - write(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (no-py36 !) + sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) + sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) readline(~) -> (26) GET /?cmd=batch HTTP/1.1\r\n readline(*) -> (27) Accept-Encoding: identity\r\n (glob) readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) @@ -466,27 +443,23 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !) - sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !) - write(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (no-py36 !) - write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py36 !) + sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n + sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; readline(~) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n readline(*) -> (27) Accept-Encoding: identity\r\n (glob) readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) - readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob) + readline(*) -> (447) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob) readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob) readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob) readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(129 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercuri (py36 !) - write(129 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercuri (no-py36 !) + sendall(129 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercuri write limit reached; closing socket $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) Traceback (most recent call last): Exception: connection closed after sending N bytes - write(293) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (no-py36 !) $ rm -f error.log @@ -505,7 +478,6 @@ $ killdaemons.py $DAEMON_PIDS -#if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -6 sendall(162 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunke write limit reached; closing socket @@ -513,19 +485,6 @@ Traceback (most recent call last): Exception: connection closed after sending N bytes - -#else - $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -7 - write(41) -> Content-Type: application/mercurial-0.2\r\n - write(25 from 28) -> (0) Transfer-Encoding: chunke - write limit reached; closing socket - $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) - Traceback (most recent call last): - Exception: connection closed after sending N bytes - write(293) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n - -#endif - $ rm -f error.log Server sends empty HTTP body for getbundle @@ -551,10 +510,8 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (py36 !) - sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (py36 !) - write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (no-py36 !) - write(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (no-py36 !) + sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) + sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) readline(~) -> (26) GET /?cmd=batch HTTP/1.1\r\n readline(*) -> (27) Accept-Encoding: identity\r\n (glob) readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) @@ -564,27 +521,23 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !) - sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !) - write(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (no-py36 !) - write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py36 !) + sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n + sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; readline(~) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n readline(*) -> (27) Accept-Encoding: identity\r\n (glob) readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) - readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob) + readline(*) -> (447) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob) readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob) readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob) readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(167 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py36 !) - write(167 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (no-py36 !) + sendall(167 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n write limit reached; closing socket $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) Traceback (most recent call last): Exception: connection closed after sending N bytes - write(293) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (no-py36 !) $ rm -f error.log @@ -611,10 +564,8 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (py36 !) - sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (py36 !) - write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) (no-py36 !) - write(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) (no-py36 !) + sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: *\r\n\r\n (glob) + sendall(*) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob) readline(~) -> (26) GET /?cmd=batch HTTP/1.1\r\n readline(*) -> (27) Accept-Encoding: identity\r\n (glob) readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) @@ -624,23 +575,21 @@ readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !) - sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !) - write(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (no-py36 !) + sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n + sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; readline(~) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n readline(*) -> (27) Accept-Encoding: identity\r\n (glob) readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) - readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob) + readline(*) -> (447) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob) readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob) readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob) readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob) readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) readline(*) -> (2) \r\n (glob) - sendall(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py36 !) - sendall(6) -> 1\\r\\n\x04\\r\\n (esc) (py36 !) - sendall(9) -> 4\r\nnone\r\n (py36 !) - sendall(9 from 9) -> (0) 4\r\nHG20\r\n (py36 !) - write(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (no-py36 !) + sendall(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n + sendall(6) -> 1\\r\\n\x04\\r\\n (esc) + sendall(9) -> 4\r\nnone\r\n + sendall(9 from 9) -> (0) 4\r\nHG20\r\n write limit reached; closing socket $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) Traceback (most recent call last): @@ -665,7 +614,6 @@ $ killdaemons.py $DAEMON_PIDS -#if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -9 sendall(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n sendall(6) -> 1\\r\\n\x04\\r\\n (esc) @@ -676,21 +624,6 @@ Traceback (most recent call last): Exception: connection closed after sending N bytes - -#else - $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -11 - readline(~) -> (2) \r\n - write(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n - write(6) -> 1\\r\\n\x04\\r\\n (esc) - write(9) -> 4\r\nnone\r\n - write(6 from 9) -> (0) 4\r\nHG2 - write limit reached; closing socket - $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) - Traceback (most recent call last): - Exception: connection closed after sending N bytes - -#endif - $ rm -f error.log Server sends incomplete bundle2 stream params length @@ -709,7 +642,6 @@ $ killdaemons.py $DAEMON_PIDS -#if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -10 sendall(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n sendall(6) -> 1\\r\\n\x04\\r\\n (esc) @@ -721,23 +653,6 @@ Traceback (most recent call last): Exception: connection closed after sending N bytes - -#else - $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12 - readline(~) -> (2) \r\n - write(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n - write(41) -> Content-Type: application/mercurial-0.2\r\n - write(6) -> 1\\r\\n\x04\\r\\n (esc) - write(9) -> 4\r\nnone\r\n - write(9) -> 4\r\nHG20\r\n - write(6 from 9) -> (0) 4\\r\\n\x00\x00\x00 (esc) - write limit reached; closing socket - $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) - Traceback (most recent call last): - Exception: connection closed after sending N bytes - -#endif - $ rm -f error.log Servers stops after bundle2 stream params header @@ -756,7 +671,6 @@ $ killdaemons.py $DAEMON_PIDS -#if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -10 sendall(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n sendall(6) -> 1\\r\\n\x04\\r\\n (esc) @@ -768,23 +682,6 @@ Traceback (most recent call last): Exception: connection closed after sending N bytes - -#else - $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12 - readline(~) -> (2) \r\n - write(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n - write(41) -> Content-Type: application/mercurial-0.2\r\n - write(6) -> 1\\r\\n\x04\\r\\n (esc) - write(9) -> 4\r\nnone\r\n - write(9) -> 4\r\nHG20\r\n - write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write limit reached; closing socket - $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) - Traceback (most recent call last): - Exception: connection closed after sending N bytes - -#endif - $ rm -f error.log Server stops sending after bundle2 part header length @@ -803,7 +700,6 @@ $ killdaemons.py $DAEMON_PIDS -#if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -11 sendall(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n sendall(6) -> 1\\r\\n\x04\\r\\n (esc) @@ -816,32 +712,13 @@ Traceback (most recent call last): Exception: connection closed after sending N bytes - -#else - - $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -13 - readline(~) -> (2) \r\n - write(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n - write(41) -> Content-Type: application/mercurial-0.2\r\n - write(6) -> 1\\r\\n\x04\\r\\n (esc) - write(9) -> 4\r\nnone\r\n - write(9) -> 4\r\nHG20\r\n - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00)\\r\\n (esc) - write limit reached; closing socket - $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) - Traceback (most recent call last): - Exception: connection closed after sending N bytes - -#endif - $ rm -f error.log Server stops sending after bundle2 part header ---------------------------------------------- $ hg serve \ - > --config badserver.close-after-send-patterns="version02nbchanges1\\r\\n" \ + > --config badserver.close-after-send-patterns="version03nbchanges1\\r\\n" \ > -p $HGPORT -d --pid-file=hg.pid -E error.log $ cat hg.pid > $DAEMON_PIDS @@ -856,7 +733,6 @@ $ killdaemons.py $DAEMON_PIDS -#if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12 sendall(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n sendall(6) -> 1\\r\\n\x04\\r\\n (esc) @@ -864,38 +740,19 @@ sendall(9) -> 4\r\nHG20\r\n sendall(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - sendall(47 from 47) -> (0) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) + sendall(47 from 47) -> (0) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version03nbchanges1\\r\\n (esc) write limit reached; closing socket $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) Traceback (most recent call last): Exception: connection closed after sending N bytes - -#else - $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14 - readline(~) -> (2) \r\n - write(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n - write(41) -> Content-Type: application/mercurial-0.2\r\n - write(6) -> 1\\r\\n\x04\\r\\n (esc) - write(9) -> 4\r\nnone\r\n - write(9) -> 4\r\nHG20\r\n - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - write(47 from 47) -> (0) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - write limit reached; closing socket - $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) - Traceback (most recent call last): - Exception: connection closed after sending N bytes - -#endif - $ rm -f error.log Server stops after bundle2 part payload chunk size -------------------------------------------------- $ hg serve \ - > --config badserver.close-after-send-patterns='1d2\r\n.......' \ + > --config badserver.close-after-send-patterns='1dc\r\n.......' \ > -p $HGPORT -d --pid-file=hg.pid -E error.log $ cat hg.pid > $DAEMON_PIDS @@ -910,7 +767,6 @@ $ killdaemons.py $DAEMON_PIDS -#if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14 sendall(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n sendall(6) -> 1\\r\\n\x04\\r\\n (esc) @@ -918,41 +774,21 @@ sendall(9) -> 4\r\nHG20\r\n sendall(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - sendall(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - sendall(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) - sendall(12 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1d (esc) + sendall(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version03nbchanges1\\r\\n (esc) + sendall(9) -> 4\\r\\n\x00\x00\x01\xdc\\r\\n (esc) + sendall(12 from 483) -> (0) 1dc\\r\\n\x00\x00\x00\xb4\x96\xee\x1d (esc) write limit reached; closing socket $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) Traceback (most recent call last): Exception: connection closed after sending N bytes - -#else - $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -15 - write(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n - write(28) -> Transfer-Encoding: chunked\r\n - write(6) -> 1\\r\\n\x04\\r\\n (esc) - write(9) -> 4\r\nnone\r\n - write(9) -> 4\r\nHG20\r\n - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - write(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) - write(12 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1d (esc) - write limit reached; closing socket - $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) - Traceback (most recent call last): - Exception: connection closed after sending N bytes - -#endif - $ rm -f error.log Server stops sending in middle of bundle2 payload chunk ------------------------------------------------------- $ hg serve \ - > --config badserver.close-after-send-patterns=':jL\0\0\x00\0\0\0\0\0\r\n' \ + > --config badserver.close-after-send-patterns=':jL\0\0\x00\0\0\0\0\0\0\0\r\n' \ > -p $HGPORT -d --pid-file=hg.pid -E error.log $ cat hg.pid > $DAEMON_PIDS @@ -967,7 +803,6 @@ $ killdaemons.py $DAEMON_PIDS -#if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14 sendall(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n sendall(6) -> 1\\r\\n\x04\\r\\n (esc) @@ -975,35 +810,14 @@ sendall(9) -> 4\r\nHG20\r\n sendall(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - sendall(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - sendall(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) - sendall(473 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) + sendall(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version03nbchanges1\\r\\n (esc) + sendall(9) -> 4\\r\\n\x00\x00\x01\xdc\\r\\n (esc) + sendall(483 from 483) -> (0) 1dc\\r\\n\x00\x00\x00\xb4\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa3j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00j\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) write limit reached; closing socket $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) Traceback (most recent call last): Exception: connection closed after sending N bytes - -#else - $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -16 - readline(~) -> (2) \r\n - write(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n - write(41) -> Content-Type: application/mercurial-0.2\r\n - write(6) -> 1\\r\\n\x04\\r\\n (esc) - write(9) -> 4\r\nnone\r\n - write(9) -> 4\r\nHG20\r\n - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - write(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) - write(473 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) - write limit reached; closing socket - $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) - Traceback (most recent call last): - Exception: connection closed after sending N bytes - -#endif - $ rm -f error.log Server stops sending after 0 length payload chunk size @@ -1027,16 +841,15 @@ $ killdaemons.py $DAEMON_PIDS -#if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -16 sendall(6) -> 1\\r\\n\x04\\r\\n (esc) sendall(9) -> 4\r\nnone\r\n sendall(9) -> 4\r\nHG20\r\n sendall(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - sendall(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - sendall(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) - sendall(473) -> 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) + sendall(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version03nbchanges1\\r\\n (esc) + sendall(9) -> 4\\r\\n\x00\x00\x01\xdc\\r\\n (esc) + sendall(483) -> 1dc\\r\\n\x00\x00\x00\xb4\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa3j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00j\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00 \\r\\n (esc) sendall(13 from 38) -> (0) 20\\r\\n\x08LISTKEYS (esc) @@ -1045,28 +858,6 @@ Traceback (most recent call last): Exception: connection closed after sending N bytes - -#else - $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -17 - write(2) -> \r\n - write(6) -> 1\\r\\n\x04\\r\\n (esc) - write(9) -> 4\r\nnone\r\n - write(9) -> 4\r\nHG20\r\n - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - write(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) - write(473) -> 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00 \\r\\n (esc) - write(13 from 38) -> (0) 20\\r\\n\x08LISTKEYS (esc) - write limit reached; closing socket - $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) - Traceback (most recent call last): - Exception: connection closed after sending N bytes - -#endif - $ rm -f error.log Server stops sending after 0 part bundle part header (indicating end of bundle2 payload) @@ -1091,13 +882,12 @@ $ killdaemons.py $DAEMON_PIDS -#if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -20 sendall(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - sendall(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - sendall(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) - sendall(473) -> 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) + sendall(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version03nbchanges1\\r\\n (esc) + sendall(9) -> 4\\r\\n\x00\x00\x01\xdc\\r\\n (esc) + sendall(483) -> 1dc\\r\\n\x00\x00\x00\xb4\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa3j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00j\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00 \\r\\n (esc) sendall(38) -> 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc) @@ -1113,32 +903,6 @@ Traceback (most recent call last): Exception: connection closed after sending N bytes - -#else - $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -21 - write(9) -> 4\r\nHG20\r\n - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - write(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) - write(473) -> 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00 \\r\\n (esc) - write(38) -> 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00:\\r\\n (esc) - write(64) -> 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00#\\r\\n (esc) - write(41) -> 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write limit reached; closing socket - $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) - Traceback (most recent call last): - Exception: connection closed after sending N bytes - -#endif - $ rm -f error.log $ rm -rf clone @@ -1162,13 +926,12 @@ $ killdaemons.py $DAEMON_PIDS -#if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -21 sendall(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - sendall(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - sendall(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) - sendall(473) -> 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) + sendall(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version03nbchanges1\\r\\n (esc) + sendall(9) -> 4\\r\\n\x00\x00\x01\xdc\\r\\n (esc) + sendall(483) -> 1dc\\r\\n\x00\x00\x00\xb4\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa3j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00j\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) sendall(9) -> 4\\r\\n\x00\x00\x00 \\r\\n (esc) sendall(38) -> 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc) @@ -1185,32 +948,5 @@ Traceback (most recent call last): Exception: connection closed after sending N bytes - -#else - $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -22 - write(9) -> 4\r\nHG20\r\n - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) - write(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) - write(473) -> 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00 \\r\\n (esc) - write(38) -> 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00:\\r\\n (esc) - write(64) -> 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00#\\r\\n (esc) - write(41) -> 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(3 from 5) -> (0) 0\r\n - write limit reached; closing socket - $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob) - Traceback (most recent call last): - Exception: connection closed after sending N bytes - -#endif - $ rm -f error.log $ rm -rf clone
--- a/tests/test-http.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-http.t Fri Mar 24 10:43:47 2023 +0100 @@ -341,20 +341,20 @@ list of changesets: 7f4e523d01f2cc3765ac8934da3d14db775ff872 bundle2-output-bundle: "HG20", 5 parts total - bundle2-output-part: "replycaps" 207 bytes payload + bundle2-output-part: "replycaps" 210 bytes payload bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:updated-heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "phase-heads" 24 bytes payload sending unbundle command - sending 1023 bytes + sending 1036 bytes devel-peer-request: POST http://localhost:$HGPORT2/?cmd=unbundle - devel-peer-request: Content-length 1023 + devel-peer-request: Content-length 1036 devel-peer-request: Content-type application/mercurial-0.1 devel-peer-request: Vary X-HgArg-1,X-HgProto-1 devel-peer-request: X-hgproto-1 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull devel-peer-request: 16 bytes of commands arguments in headers - devel-peer-request: 1023 bytes of data + devel-peer-request: 1036 bytes of data devel-peer-request: finished in *.???? seconds (200) (glob) bundle2-input-bundle: no-transaction bundle2-input-part: "reply:changegroup" (advisory) (params: 0 advisory) supported
--- a/tests/test-largefiles.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-largefiles.t Fri Mar 24 10:43:47 2023 +0100 @@ -1114,16 +1114,16 @@ all local changesets known remotely 6 changesets found uncompressed size of bundle content: - 1389 (changelog) - 1698 (manifests) - 254 .hglf/large1 - 564 .hglf/large3 - 572 .hglf/sub/large4 - 182 .hglf/sub2/large6 - 182 .hglf/sub2/large7 - 212 normal1 - 457 normal3 - 465 sub/normal4 + 1401 (changelog) + 1710 (manifests) + 256 .hglf/large1 + 570 .hglf/large3 + 578 .hglf/sub/large4 + 184 .hglf/sub2/large6 + 184 .hglf/sub2/large7 + 214 normal1 + 463 normal3 + 471 sub/normal4 adding changesets adding manifests adding file changes
--- a/tests/test-lfs-serve-access.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-lfs-serve-access.t Fri Mar 24 10:43:47 2023 +0100 @@ -66,7 +66,7 @@ $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 400 - (glob) $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob) $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) - $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Acheckheads%253Drelated%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) + $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 400 - (glob) $ rm -f $TESTTMP/access.log $TESTTMP/errors.log @@ -165,7 +165,7 @@ $LOCALIP - - [$LOGDATE$] "POST /missing/objects/batch HTTP/1.1" 404 - (glob) $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=capabilities HTTP/1.1" 200 - (glob) $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) - $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Acheckheads%253Drelated%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) + $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) $LOCALIP - - [$LOGDATE$] "POST /subdir/mount/point/.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob) $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point/.hg/lfs/objects/f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e HTTP/1.1" 200 - (glob) @@ -311,7 +311,7 @@ $ cat $TESTTMP/access.log $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob) $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) - $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Acheckheads%253Drelated%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) + $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob) $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob) $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D392c05922088bacf8e68a6939b480017afbf245d x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) @@ -330,7 +330,7 @@ $LOCALIP - - [$LOGDATE$] "PUT /.hg/lfs/objects/b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c HTTP/1.1" 422 - (glob) $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob) $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D392c05922088bacf8e68a6939b480017afbf245d x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) - $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Acheckheads%253Drelated%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=525251863cad618e55d483555f3d00a2ca99597e&heads=506bf3d83f78c54b89e81c6411adee19fdf02156+525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) + $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=525251863cad618e55d483555f3d00a2ca99597e&heads=506bf3d83f78c54b89e81c6411adee19fdf02156+525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob) $LOCALIP - - [$LOGDATE$] "GET /.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d HTTP/1.1" 500 - (glob) $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob) @@ -487,7 +487,7 @@ $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 401 - (glob) $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob) $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) - $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Acheckheads%253Drelated%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=506bf3d83f78c54b89e81c6411adee19fdf02156+525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) + $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=506bf3d83f78c54b89e81c6411adee19fdf02156+525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob) $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 401 - (glob) $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob) $LOCALIP - - [$LOGDATE$] "GET /.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d HTTP/1.1" 200 - (glob)
--- a/tests/test-lfs-serve.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-lfs-serve.t Fri Mar 24 10:43:47 2023 +0100 @@ -308,9 +308,14 @@ $ hg -R $TESTTMP/client4_pull pull http://localhost:$HGPORT pulling from http://localhost:$HGPORT/ requesting all changes - remote: abort: no common changegroup version - abort: pull failed on remote - [100] + adding changesets + adding manifests + adding file changes + transaction abort! + rollback completed + abort: missing processor for flag '0x2000' + (the lfs extension must be enabled) + [50] $ hg debugrequires -R $TESTTMP/client4_pull/ | grep 'lfs' [1] $ hg debugrequires -R $SERVER_PATH --config extensions.lfs= | grep 'lfs'
--- a/tests/test-obsolete-changeset-exchange.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-obsolete-changeset-exchange.t Fri Mar 24 10:43:47 2023 +0100 @@ -164,7 +164,7 @@ adding manifests adding file changes adding foo revisions - bundle2-input-part: total payload size 476 + bundle2-input-part: total payload size 486 bundle2-input-part: "listkeys" (params: 1 mandatory) supported bundle2-input-part: "phase-heads" supported bundle2-input-part: total payload size 24
--- a/tests/test-obsolete-distributed.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-obsolete-distributed.t Fri Mar 24 10:43:47 2023 +0100 @@ -163,7 +163,7 @@ adding manifests adding file changes adding c_B1 revisions - bundle2-input-part: total payload size 485 + bundle2-input-part: total payload size 495 bundle2-input-part: "listkeys" (params: 1 mandatory) supported bundle2-input-part: "obsmarkers" supported bundle2-input-part: total payload size 143
--- a/tests/test-obsolete.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-obsolete.t Fri Mar 24 10:43:47 2023 +0100 @@ -1600,7 +1600,7 @@ $ hg debugbundle .hg/strip-backup/e008cf283490-*-backup.hg Stream params: {Compression: BZ} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) + changegroup -- {nbchanges: 1, version: 03} (mandatory: True) e008cf2834908e5d6b0f792a9d4b0e2272260fb8 cache:rev-branch-cache -- {} (mandatory: False) phase-heads -- {} (mandatory: True) @@ -1643,7 +1643,7 @@ $ hg debugbundle .hg/strip-backup/e016b03fd86f-*-backup.hg Stream params: {Compression: BZ} - changegroup -- {nbchanges: 2, version: 02} (mandatory: True) + changegroup -- {nbchanges: 2, version: 03} (mandatory: True) e016b03fd86fcccc54817d120b90b751aaf367d6 b0551702f918510f01ae838ab03a463054c67b46 cache:rev-branch-cache -- {} (mandatory: False)
--- a/tests/test-phase-archived.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-phase-archived.t Fri Mar 24 10:43:47 2023 +0100 @@ -141,3 +141,58 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: root + +Test that a strip will preserve unrelated changeset archived +------------------------------------------------------------ + +prepare a suitable tree + + $ echo foo > bar + $ hg add bar + $ hg commit -m 'some more commit' + $ hg log -G --hidden -T '{rev} {node|short} [{phase}] {desc|firstline}\n' + @ 3 f90bf4e57854 [draft] some more commit + | + o 2 d1e73e428f29 [draft] unbundletesting + | + | o 1 883aadbbf309 [draft] unbundletesting + |/ + o 0 c1863a3840c6 [draft] root + + $ hg strip --soft --rev '.' + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + saved backup bundle to $TESTTMP/repo/.hg/strip-backup/f90bf4e57854-56b37ff2-backup.hg + $ hg log -G --hidden -T '{rev} {node|short} [{phase}] {desc|firstline}\n' + o 3 f90bf4e57854 [archived] some more commit + | + @ 2 d1e73e428f29 [draft] unbundletesting + | + | o 1 883aadbbf309 [draft] unbundletesting + |/ + o 0 c1863a3840c6 [draft] root + + + +Strips the other (lower rev-num) head + + $ hg strip --rev 'min(head() and not .)' + saved backup bundle to $TESTTMP/repo/.hg/strip-backup/883aadbbf309-efc55adc-backup.hg + +The archived changeset should still be hidden + + $ hg log -G -T '{rev} {node|short} [{phase}] {desc|firstline}\n' + @ 1 d1e73e428f29 [draft] unbundletesting + | + o 0 c1863a3840c6 [draft] root + + +It may still be around: + + $ hg log --hidden -G -T '{rev} {node|short} [{phase}] {desc|firstline}\n' + o 2 f90bf4e57854 [archived] some more commit + | + @ 1 d1e73e428f29 [draft] unbundletesting + | + o 0 c1863a3840c6 [draft] root + +
--- a/tests/test-phases-exchange.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-phases-exchange.t Fri Mar 24 10:43:47 2023 +0100 @@ -852,9 +852,9 @@ searching for changes 1 changesets found uncompressed size of bundle content: - 178 (changelog) - 165 (manifests) - 131 a-H + 180 (changelog) + 167 (manifests) + 133 a-H adding changesets adding manifests adding file changes
--- a/tests/test-push-warn.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-push-warn.t Fri Mar 24 10:43:47 2023 +0100 @@ -151,9 +151,9 @@ searching for changes 2 changesets found uncompressed size of bundle content: - 352 (changelog) - 326 (manifests) - 25\d foo (re) + 356 (changelog) + 330 (manifests) + 261 foo adding changesets adding manifests adding file changes
--- a/tests/test-rebase-conflicts.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-rebase-conflicts.t Fri Mar 24 10:43:47 2023 +0100 @@ -296,9 +296,8 @@ bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload bundle2-output-part: "phase-heads" 24 bytes payload saved backup bundle to $TESTTMP/issue4041/.hg/strip-backup/e31216eec445-15f7a814-rebase.hg - 3 changesets found + 2 changesets found list of changesets: - 4c9fbe56a16f30c0d5dcc40ec1a97bbe3325209c 19c888675e133ab5dff84516926a65672eaf04d9 c1ffa3b5274e92a9388fe782854e295d2e8d0443 bundle2-output-bundle: "HG20", 3 parts total @@ -309,15 +308,14 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "changegroup" (params: 1 mandatory 1 advisory) supported adding changesets - add changeset 4c9fbe56a16f add changeset 19c888675e13 add changeset c1ffa3b5274e adding manifests adding file changes adding f1.txt revisions - bundle2-input-part: total payload size 1739 + bundle2-input-part: total payload size 1255 bundle2-input-part: "cache:rev-branch-cache" (advisory) supported - bundle2-input-part: total payload size 74 + bundle2-input-part: total payload size 54 bundle2-input-part: "phase-heads" supported bundle2-input-part: total payload size 24 bundle2-input-bundle: 3 parts total
--- a/tests/test-rebase-mq-skip.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-rebase-mq-skip.t Fri Mar 24 10:43:47 2023 +0100 @@ -75,17 +75,17 @@ $TESTTMP/a/.hg/patches/p0.patch 2 changesets found uncompressed size of bundle content: - 348 (changelog) - 324 (manifests) - 129 p0 - 129 p1 + 352 (changelog) + 328 (manifests) + 131 p0 + 131 p1 saved backup bundle to $TESTTMP/a/.hg/strip-backup/13a46ce44f60-5da6ecfb-rebase.hg 2 changesets found uncompressed size of bundle content: - 403 (changelog) - 324 (manifests) - 129 p0 - 129 p1 + 407 (changelog) + 328 (manifests) + 131 p0 + 131 p1 adding branch adding changesets adding manifests
--- a/tests/test-rebase-newancestor.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-rebase-newancestor.t Fri Mar 24 10:43:47 2023 +0100 @@ -263,15 +263,15 @@ rebase merging completed 1 changesets found uncompressed size of bundle content: - 199 (changelog) - 216 (manifests) - 182 other + 201 (changelog) + 218 (manifests) + 184 other saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/4c5f12f25ebe-f46990e5-rebase.hg 1 changesets found uncompressed size of bundle content: - 254 (changelog) - 167 (manifests) - 182 other + 256 (changelog) + 169 (manifests) + 184 other adding branch adding changesets adding manifests
--- a/tests/test-ssh.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-ssh.t Fri Mar 24 10:43:47 2023 +0100 @@ -529,7 +529,7 @@ no changes found devel-peer-request: getbundle devel-peer-request: bookmarks: 1 bytes - devel-peer-request: bundlecaps: 270 bytes + devel-peer-request: bundlecaps: 275 bytes devel-peer-request: cg: 1 bytes devel-peer-request: common: 122 bytes devel-peer-request: heads: 122 bytes
--- a/tests/test-strip.t Fri Mar 24 00:11:38 2023 +0100 +++ b/tests/test-strip.t Fri Mar 24 10:43:47 2023 +0100 @@ -251,7 +251,7 @@ $ hg debugbundle .hg/strip-backup/* Stream params: {Compression: BZ} - changegroup -- {nbchanges: 1, version: 02} (mandatory: True) + changegroup -- {nbchanges: 1, version: 03} (mandatory: True) 264128213d290d868c54642d13aeaa3675551a78 cache:rev-branch-cache -- {} (mandatory: False) phase-heads -- {} (mandatory: True)