sl pull throws error: post-pull.prmarker hook raised an exception: revlog index out of range
bklebe opened this issue · comments
When running sl pull
on a repo stored on GitHub, I get:
error: post-pull.prmarker hook raised an exception: revlog index out of range
Traceback (most recent call last):
File "static:sapling.hook", line 89, in _pythonhook
r = obj(ui=ui, repo=repo, hooktype=htype, **args)
# htype = 'post-pull'
File "static:sapling.ext.github.pr_marker", line 31, in cleanup_landed_pr_hook
cleanup_landed_pr(ui, repo)
File "static:sapling.ext.github.pr_marker", line 48, in cleanup_landed_pr
pr_to_draft = _get_draft_commits(repo)
File "static:sapling.ext.github.pr_marker", line 77, in _get_draft_commits
for ctx in repo.set("sort(draft() - obsolete(), -rev)"):
File "static:sapling.localrepo", line 1521, in set
return self.revs(expr, *args).iterctx()
# args = ()
# expr = 'sort(draft() - obsolete(), -rev)'
File "static:sapling.localrepo", line 1510, in revs
return m(self, subset=subset)
File "static:sapling.revset", line 2764, in mfunc
return getset(repo, subset, tree, order)
# order = 'define'
# subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
# tree = ('func', ('symbol', 'sort'), ('list', (...., ...., ....), (...., ....)))
File "static:sapling.revset", line 105, in getset
return methods[x[0]](repo, subset, *x[1:], order=order)
# order = 'define'
# subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
# x = ('func', ('symbol', 'sort'), ('list', (...., ...., ....), (...., ....)))
File "static:sapling.revset", line 372, in func
return func(repo, subset, b, order)
# order = 'define'
# subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
File "static:sapling.revset", line 2208, in sort
revs = getset(repo, subset, s, order)
# order = 'define'
# subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
File "static:sapling.revset", line 105, in getset
return methods[x[0]](repo, subset, *x[1:], order=order)
# order = 'define'
# subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
File "static:sapling.revset", line 289, in differenceset
return getset(repo, subset, x, order) - getset(repo, subset, y, anyorder)
# order = 'define'
# subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
File "static:sapling.revset", line 105, in getset
return methods[x[0]](repo, subset, *x[1:], order=order)
# order = 'define'
# subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
File "static:sapling.revset", line 373, in func
return func(repo, subset, b)
# subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
File "static:sapling.revset", line 1817, in getdraft
return _phase(repo, subset, target)
# subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
# target = 1
File "static:sapling.revset", line 1805, in _phase
return repo._phasecache.getrevset(repo, targets, subset)
# subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
# targets = (1)
File "static:sapling.phases", line 232, in getrevset
revs = self.draftrevs(repo)
File "static:sapling.phases", line 330, in draftrevs
self.publicrevs(repo)
File "static:sapling.phases", line 342, in publicrevs
publicheadnodes = repo.heads(includepublic=True, includedraft=False)
File "static:sapling.localrepo", line 3138, in heads
return list(map(self.changelog.node, headrevs))
# headrevs = [72057594037927939]
File "static:sapling.changelog2", line 290, in node
raise IndexError("revlog index out of range")
Traceback (most recent call last):
File "static:sapling.changelog2", line 288, in node
return self.idmap.id2node(rev)
^^^^^^^^^^^^^^^^^^^^^^^
error.CommitLookupError: 'N3 cannot be found'
During handling of the above exception, another exception occurred:
IndexError: revlog index out of range
Running sl pull
again does not return the same error.
@bklebe thanks for reporting the issue. What's the version of your sl
? are you able to reproduce it?
I can repo this (it's not every time but a good % of the time I pull it fails with the error)
I'm using Sapling 0.2.20231113-145254+995db0d6
@bklebe thanks for reporting the issue. What's the version of your
sl
? are you able to reproduce it?
@zzl0 I can't consistently reproduce it. I'm using the same sl
as @ianb-pomelo, Sapling 0.2.20231113-145254+995db0d6
.
i can repro this issue consistently. im also using Sapling 0.2.20231113-145254+995db0d6
.
any way i can help debugging here? would like to get this resolved.
I’ve seen this error as well and it is mildly annoying.
I’ve seen this error as well and it is mildly annoying.
Which version are you using? could you share the error stack? the new Sapling version (0.2.20240219-172743+3e819974) should catch exception the exception and only show a warning.