https://bz.mercurial-scm.org/show_bug.cgi?id=6605

            Bug ID: 6605
           Summary: Unable to clone PyPy using a clonebundle
           Product: Mercurial
           Version: 5.9
          Hardware: PC
                OS: All
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: Mercurial
          Assignee: bugzi...@mercurial-scm.org
          Reporter: rgo...@octobus.net
                CC: mercurial-devel@mercurial-scm.org
    Python Version: ---

Try doing the following:

$ hg clone https://foss.heptapod.net/pypy/pypy
destination directory: pypy
applying clone bundle from
https://cellar-c2.services.clever-cloud.com/heptapod-foss-clonebundles/pypy/pypy-2020-02-12-13-12-optimized-zstd-v2.hg
adding changesets
adding manifests
adding file changes
transaction abort!
rollback completed
** Unknown exception encountered with possibly-broken third-party extension
"perf" (version N/A)
** which supports versions unknown of Mercurial.
** Please disable "perf" and try your action again.
** If that fixes the bug please report it to the extension author.
** Python 3.9.2 (default, Sep 10 2021, 12:13:36) [GCC 10.2.1 20210110]
** Mercurial Distributed SCM (version 5.9.1+hg2.7538453ec322)
** Extensions loaded: absorb, evolve 10.4.0, histedit, patchbomb, perf,
phabricator, rebase, share, topic 0.23.0
Traceback (most recent call last):
  File "/home/alphare/hg/hg", line 61, in <module>
    dispatch.run()
  File "/home/alphare/hg/mercurial/dispatch.py", line 144, in run
    status = dispatch(req)
  File "/home/alphare/hg/mercurial/dispatch.py", line 250, in dispatch
    status = _rundispatch(req)
  File "/home/alphare/hg/mercurial/dispatch.py", line 294, in _rundispatch
    ret = _runcatch(req) or 0
  File "/home/alphare/hg/mercurial/dispatch.py", line 470, in _runcatch
    return _callcatch(ui, _runcatchfunc)
  File "/home/alphare/hg/mercurial/dispatch.py", line 480, in _callcatch
    return scmutil.callcatch(ui, func)
  File "/home/alphare/hg/mercurial/scmutil.py", line 153, in callcatch
    return func()
  File "/home/alphare/hg/mercurial/dispatch.py", line 460, in _runcatchfunc
    return _dispatch(req)
  File "/home/alphare/hg/mercurial/dispatch.py", line 1273, in _dispatch
    return runcommand(
  File "/home/alphare/hg/mercurial/dispatch.py", line 918, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/home/alphare/hg/mercurial/dispatch.py", line 1285, in _runcommand
    return cmdfunc()
  File "/home/alphare/hg/mercurial/dispatch.py", line 1271, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
  File "/home/alphare/hg/mercurial/util.py", line 1886, in check
    return func(*args, **kwargs)
  File "/home/alphare/hg/mercurial/util.py", line 1886, in check
    return func(*args, **kwargs)
  File "/home/alphare/hg/hgext/share.py", line 163, in clone
    return orig(ui, source, *args, **opts)
  File "/home/alphare/hg/mercurial/util.py", line 1886, in check
    return func(*args, **kwargs)
  File "/home/alphare/hg/mercurial/commands.py", line 1955, in clone
    r = hg.clone(
  File "/home/alphare/hg/mercurial/hg.py", line 942, in clone
    exchange.pull(
  File "/home/alphare/hg/mercurial/exchange.py", line 1668, in pull
    _maybeapplyclonebundle(pullop)
  File "/home/alphare/hg/mercurial/exchange.py", line 2779, in
_maybeapplyclonebundle
    if trypullbundlefromurl(repo.ui, repo, url):
  File "/home/alphare/hg/mercurial/exchange.py", line 2810, in
trypullbundlefromurl
    bundle2.applybundle(repo, cg, tr, b'clonebundles', url)
  File "/home/alphare/hg/mercurial/bundle2.py", line 375, in applybundle
    return processbundle(repo, unbundler, lambda: tr, source=source)
  File "/home/alphare/hg/mercurial/bundle2.py", line 486, in processbundle
    processparts(repo, op, unbundler)
  File "/home/alphare/hg/mercurial/bundle2.py", line 494, in processparts
    _processpart(op, part)
  File "/home/alphare/hg/mercurial/bundle2.py", line 568, in _processpart
    handler(op, part)
  File "/home/alphare/hg/mercurial/bundle2.py", line 2025, in handlechangegroup
    ret = _processchangegroup(
  File "/home/alphare/hg/mercurial/bundle2.py", line 498, in
_processchangegroup
    ret = cg.apply(op.repo, tr, source, url, **kwargs)
  File "/home/alphare/hg/mercurial/extensions.py", line 512, in closure
    return func(*(args + a), **kw)
  File
"/home/alphare/.local/lib/python3.9/site-packages/hgext3rd/topic/topicmap.py",
line 96, in cgapply
    return orig(self, other, *args, **kwargs)
  File "/home/alphare/hg/mercurial/changegroup.py", line 444, in apply
    newrevs, newfiles = _addchangegroupfiles(
  File "/home/alphare/hg/mercurial/changegroup.py", line 1946, in
_addchangegroupfiles
    added = fl.addgroup(
  File "/home/alphare/hg/mercurial/filelog.py", line 168, in addgroup
    return self._revlog.addgroup(
  File "/home/alphare/hg/mercurial/revlog.py", line 2620, in addgroup
    for data in deltas:
  File "/home/alphare/hg/mercurial/revlogutils/rewrite.py", line 783, in
filter_delta_issue6528
    is_affected = _is_revision_affected_fast_inner(
  File "/home/alphare/hg/mercurial/revlogutils/rewrite.py", line 649, in
_is_revision_affected_fast_inner
    return _is_revision_affected_inner(
  File "/home/alphare/hg/mercurial/revlogutils/rewrite.py", line 592, in
_is_revision_affected_inner
    has_meta = raw_text.startswith(b'\x01\n')
AttributeError: 'memoryview' object has no attribute 'startswith'


This is most likely a bug in the fix for issue6528 in conjunction with clone
blundles that provide a `memoryview` instead of bytes.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to