[Bug 5955] New: cloning with ellipsis and narrow extension can lead to LookupError
mercurial-bugs at mercurial-scm.org
mercurial-bugs at mercurial-scm.org
Thu Aug 9 16:11:06 UTC 2018
https://bz.mercurial-scm.org/show_bug.cgi?id=5955
Bug ID: 5955
Summary: cloning with ellipsis and narrow extension can lead to
LookupError
Product: Mercurial
Version: default branch
Hardware: PC
OS: Linux
Status: UNCONFIRMED
Severity: feature
Priority: wish
Component: Mercurial
Assignee: bugzilla at mercurial-scm.org
Reporter: 7895pulkit at gmail.com
CC: mercurial-devel at mercurial-scm.org
I tested clone of our repo with ellipsis and this resulted in LookupError.
$ hg clone server-repo repo --debug --narrow --include 'contrib/<dir>/<dir1>'
sending hello command
sending between command
remote: 468
remote: capabilities: batch branchmap
bundle2=HG20%0Abookmarks%0Achangegroup%3D01%2C02%2C03%0Acheckheads%3Drelated%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushk
ey%0Ahgtagsfnodes%0Alistkeys%0Anarrow%3Dv0%0Aphases%3Dheads%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps%0Arev-branch-cache
changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generald
elta,revlogv1,treemanifest unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
remote: 1
sending protocaps command
query 1; heads
sending batch command
requesting all changes
sending getbundle command
bundle2-input-bundle: with-transaction
bundle2-input-part: "changegroup" (params: 2 mandatory) supported
adding changesets
<some changeset hashes>
adding manifests
adding contrib/ revisions
bundle2-input-part: total payload size 67935614
bundle2-input-part: total payload size 72
bundle2-input-bundle: 2 parts total
transaction abort!
rollback completed
Traceback (most recent call last):
File "/storage/pulkit/hg-committed/mercurial/scmutil.py", line 161, in
callcatch
return func()
File "/storage/pulkit/hg-committed/mercurial/dispatch.py", line 344, in
_runcatchfunc
return _dispatch(req)
File "/storage/pulkit/hg-committed/mercurial/dispatch.py", line 982, in
_dispatch
cmdpats, cmdoptions)
File "/storage/pulkit/hg-committed/hgext/journal.py", line 90, in runcommand
return orig(lui, repo, cmd, fullargs, *args)
File "/storage/pulkit/hg-committed/mercurial/dispatch.py", line 728, in
runcommand
ret = _runcommand(ui, options, cmd, d)
File "/storage/pulkit/hg-committed/mercurial/dispatch.py", line 990, in
_runcommand
return cmdfunc()
File "/storage/pulkit/hg-committed/mercurial/dispatch.py", line 979, in
<lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/storage/pulkit/hg-committed/mercurial/util.py", line 1531, in check
return func(*args, **kwargs)
File "/storage/pulkit/hg-committed/mercurial/util.py", line 1531, in check
return func(*args, **kwargs)
File "/storage/pulkit/hg-committed/hgext/wrapclone.py", line 38, in wrapclone
File "/storage/pulkit/hg-committed/mercurial/util.py", line 1531, in check
return func(*args, **kwargs)
File "/storage/pulkit/hg-committed/mercurial/util.py", line 1531, in check
return func(*args, **kwargs)
File "/storage/pulkit/hg-committed/hgext/sparse.py", line 163, in
_clonesparsecmd
return orig(ui, repo, *args, **opts)
File "/storage/pulkit/hg-committed/mercurial/util.py", line 1531, in check
return func(*args, **kwargs)
File "/storage/pulkit/hg-committed/mercurial/util.py", line 1531, in check
return func(*args, **kwargs)
File "/storage/pulkit/hg-committed/hgext/narrow/narrowcommands.py", line 112,
in clonenarrowcmd
return orig(ui, repo, *args, **pycompat.strkwargs(opts))
File "/storage/pulkit/hg-committed/mercurial/util.py", line 1531, in check
return func(*args, **kwargs)
File "/storage/pulkit/hg-committed/mercurial/commands.py", line 1454, in
clone
shareopts=opts.get('shareopts'))
File "/storage/pulkit/hg-committed/mercurial/hg.py", line 710, in clone
streamclonerequested=stream)
File "/storage/pulkit/hg-committed/hgext/narrow/narrowcommands.py", line 107,
in pullnarrow
return orig(repo, *args, **kwargs)
File "/storage/pulkit/hg-committed/mercurial/exchange.py", line 1495, in pull
_fullpullbundle2(repo, pullop)
File "/storage/pulkit/hg-committed/mercurial/exchange.py", line 1435, in
_fullpullbundle2
_pullbundle2(pullop)
File "/storage/pulkit/hg-committed/mercurial/exchange.py", line 1678, in
_pullbundle2
bundle2.processbundle(pullop.repo, bundle, op=op)
File "/storage/pulkit/hg-committed/mercurial/bundle2.py", line 460, in
processbundle
processparts(repo, op, unbundler)
File "/storage/pulkit/hg-committed/mercurial/bundle2.py", line 467, in
processparts
_processpart(op, part)
File "/storage/pulkit/hg-committed/mercurial/bundle2.py", line 534, in
_processpart
handler(op, part)
File "/storage/pulkit/hg-committed/hgext/narrow/narrowbundle2.py", line 281,
in wrappedcghandler
origcghandler(op, inpart)
File "/storage/pulkit/hg-committed/mercurial/bundle2.py", line 1805, in
handlechangegroup
expectedtotal=nbchangesets, **extrakwargs)
File "/storage/pulkit/hg-committed/mercurial/bundle2.py", line 470, in
_processchangegroup
ret = cg.apply(op.repo, tr, source, url, **kwargs)
File "/storage/pulkit/hg-committed/mercurial/changegroup.py", line 326, in
apply
self._unpackmanifests(repo, revmap, trp, progress)
File "/storage/pulkit/hg-committed/mercurial/changegroup.py", line 486, in
_unpackmanifests
if not dirlog.addgroup(deltas, revmap, trp):
File "/storage/pulkit/hg-committed/mercurial/revlog.py", line 2643, in
addgroup
_('unknown parent'))
LookupError: meta/contrib/00manifest.i at 1ff283c19e0c: unknown parent
abort: meta/contrib/00manifest.i at 1ff283c19e0c: unknown parent!
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list