[Bug 6257] New: Setting ui.clonebundleprefers causes a crash in the client

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Tue Jan 21 17:05:35 UTC 2020


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

            Bug ID: 6257
           Summary: Setting ui.clonebundleprefers causes a crash in the
                    client
           Product: Mercurial
           Version: 5.3rc0
          Hardware: PC
                OS: All
            Status: UNCONFIRMED
          Severity: bug
          Priority: normal
         Component: clonebundles
          Assignee: bugzilla at mercurial-scm.org
          Reporter: matt_harbison at yahoo.com
                CC: mercurial-devel at mercurial-scm.org
    Python Version: ---

We lack any tests for this option.  Mostly I was interested in this because
given a choice between bzip2 and zstd, it seems to prefer bzip2 by default. 
(But I later figure out that it uses the order of the manifest.)

/data/hg/thirdparty/mercurial/hg clone -U https://... deleteme --config
extensions.lfs= --config ui.clonebundleprefers=zstd-v2

(remote is using large file support (lfs); lfs will be enabled for this
repository)
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.5 (default, Aug  7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat
4.8.5-39)]
** Mercurial Distributed SCM (version 5.2.2+649-34fa58147d5d)
** Extensions loaded: blackbox, eol, extdiff, purge, rebase, schemes, share,
strip, lfs
Traceback (most recent call last):
  File "/data/hg/thirdparty/mercurial/hg", line 43, in <module>
    dispatch.run()
  File "/data/hg/thirdparty/mercurial/mercurial/dispatch.py", line 110, in run
    status = dispatch(req)
  File "/data/hg/thirdparty/mercurial/mercurial/dispatch.py", line 253, in
dispatch
    ret = _runcatch(req) or 0
  File "/data/hg/thirdparty/mercurial/mercurial/dispatch.py", line 427, in
_runcatch
    return _callcatch(ui, _runcatchfunc)
  File "/data/hg/thirdparty/mercurial/mercurial/dispatch.py", line 436, in
_callcatch
    return scmutil.callcatch(ui, func)
  File "/data/hg/thirdparty/mercurial/mercurial/scmutil.py", line 152, in
callcatch
    return func()
  File "/data/hg/thirdparty/mercurial/mercurial/dispatch.py", line 417, in
_runcatchfunc
    return _dispatch(req)
  File "/data/hg/thirdparty/mercurial/mercurial/dispatch.py", line 1178, in
_dispatch
    lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
  File "/data/hg/thirdparty/mercurial/mercurial/dispatch.py", line 865, in
runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/data/hg/thirdparty/mercurial/mercurial/dispatch.py", line 1189, in
_runcommand
    return cmdfunc()
  File "/data/hg/thirdparty/mercurial/mercurial/dispatch.py", line 1175, in
<lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
  File "/data/hg/thirdparty/mercurial/mercurial/util.py", line 1854, in check
    return func(*args, **kwargs)
  File "/data/hg/thirdparty/mercurial/mercurial/util.py", line 1854, in check
    return func(*args, **kwargs)
  File "/data/hg/thirdparty/mercurial/hgext/share.py", line 130, in clone
    return orig(ui, source, *args, **opts)
  File "/data/hg/thirdparty/mercurial/mercurial/util.py", line 1854, in check
    return func(*args, **kwargs)
  File "/data/hg/thirdparty/mercurial/mercurial/commands.py", line 1914, in
clone
    depth=opts.get(b'depth') or None,
  File "/data/hg/thirdparty/mercurial/mercurial/hg.py", line 900, in clone
    depth=depth,
  File "/data/hg/thirdparty/mercurial/mercurial/exchange.py", line 1791, in
pull
    _maybeapplyclonebundle(pullop)
  File "/data/hg/thirdparty/mercurial/mercurial/exchange.py", line 2869, in
_maybeapplyclonebundle
    entries = sortclonebundleentries(repo.ui, entries)
  File "/data/hg/thirdparty/mercurial/mercurial/exchange.py", line 3073, in
sortclonebundleentries
    items = sorted(clonebundleentry(v, prefers) for v in entries)
  File "/data/hg/thirdparty/mercurial/mercurial/exchange.py", line 3048, in
__lt__
    return self._cmp(other) < 0
  File "/data/hg/thirdparty/mercurial/mercurial/exchange.py", line 3014, in
_cmp
    for prefkey, prefvalue in self.prefers:
ValueError: need more than 1 value to unpack

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list