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

            Bug ID: 6937
           Summary: remotefilelog clone --shallow crashes
           Product: Mercurial
           Version: 6.8.1
          Hardware: PC
                OS: NetBSD
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: Mercurial
          Assignee: bugzi...@mercurial-scm.org
          Reporter: mercurial-bugzi...@campbell.mumble.net
                CC: mercurial-de...@mercurial-scm.org
    Python Version: ---

server$ hg --version
Mercurial Distributed SCM (version 6.8.1)
(see https://mercurial-scm.org for more information)

Copyright (C) 2005-2024 Olivia Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
server$ hg clone -U https://hg.mumble.net/campbell/picopb
destination directory: picopb
requesting all changes
adding changesets
adding manifests
adding file changes
added 280 changesets with 815 changes to 241 files
new changesets 87ed5dd3488e:1c7e6b5fbedd
        3.04 real         1.02 user         0.27 sys
server$ cat >>picopb/.hg/hgrc
[extensions]
remotefilelog =
[remotefilelog]
server = True
serverexpiration = 14

client$ hg --version
Mercurial Distributed SCM (version 6.8.1)
(see https://mercurial-scm.org for more information)

Copyright (C) 2005-2024 Olivia Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
client$ hg --config extensions.remotefilelog= --config
remotefilelog.cachepath=$HOME/.hgcache --config remotefilelog.cachelimit='2 GB'
clone --shallow ssh://server/picopb
destination directory: picopb
requesting all changes
adding changesets
adding manifests
adding file changes
added 280 changesets with 0 changes to 0 files
new changesets 87ed5dd3488e:1c7e6b5fbedd
updating to branch default
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 3.12.6 (main, Sep 10 2024, 05:31:19) [GCC 7.4.0]
** Mercurial Distributed SCM (version 6.8.1)
** Extensions loaded: remotefilelog
Traceback (most recent call last):
  File "/home/riastradh/usr/bin/hg", line 59, in <module>
    dispatch.run()
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/dispatch.py",
line 142, in run
    status = dispatch(req)
             ^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/dispatch.py",
line 231, in dispatch
    status = _rundispatch(req)
             ^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/dispatch.py",
line 275, in _rundispatch
    ret = _runcatch(req) or 0
          ^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/dispatch.py",
line 456, in _runcatch
    return _callcatch(ui, _runcatchfunc)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/dispatch.py",
line 466, in _callcatch
    return scmutil.callcatch(ui, func)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/scmutil.py",
line 152, in callcatch
    return func()
           ^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/dispatch.py",
line 446, in _runcatchfunc
    return _dispatch(req)
           ^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/dispatch.py",
line 1271, in _dispatch
    return runcommand(
           ^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/hgext/remotefilelog/__init__.py",
line 577, in runcommand
    return orig(lui, repo, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/dispatch.py",
line 904, in runcommand
    ret = _runcommand(ui, options, cmd, d)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/dispatch.py",
line 1283, in _runcommand
    return cmdfunc()
           ^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/dispatch.py",
line 1269, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/util.py",
line 1898, in check
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/util.py",
line 1898, in check
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/hgext/remotefilelog/__init__.py",
line 424, in cloneshallow
    orig(ui, repo, *args, **opts)
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/util.py",
line 1898, in check
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/commands.py",
line 2035, in clone
    r = hg.clone(
        ^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/hg.py",
line 1112, in clone
    _update(destrepo, uprev)
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/hg.py",
line 1175, in update
    stats = mergemod.update(repo[node], updatecheck=updatecheck)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/merge.py",
line 2276, in update
    return _update(
           ^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/merge.py",
line 2135, in _update
    stats, getfiledata, extraactions = applyupdates(
                                       ^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/hgext/remotefilelog/__init__.py",
line 494, in applyupdates
    return orig(repo, mresult, wctx, mctx, overwrite, wantfiledata, **opts)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/merge.py",
line 1612, in applyupdates
    for final, res in prog:
                      ^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/merge.py",
line 1414, in batchget
    fctx(f).data(),
    ^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/mercurial/context.py",
line 1327, in data
    return self._filelog.read(self._filenode)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/hgext/remotefilelog/remotefilelog.py",
line 59, in read
    t = self.revision(node)
        ^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/hgext/remotefilelog/remotefilelog.py",
line 377, in revision
    rawtext = store.get(self.filename, node)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/hgext/remotefilelog/contentstore.py",
line 55, in get
    chain = self.getdeltachain(name, node)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/hgext/remotefilelog/contentstore.py",
line 93, in getdeltachain
    chain = self._getpartialchain(name, node)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/hgext/remotefilelog/basestore.py",
line 439, in wrapped
    return fn(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/riastradh/pkgsrc/current/pkg/lib/python3.12/site-packages/hgext/remotefilelog/contentstore.py",
line 133, in _getpartialchain
    raise KeyError((name, hex(node)))
KeyError: (b'.hgtags', b'2fe0e4d3cde1306426093020d106e1fb4fe3306a')

Same error happens when I try to run `hg update' in the newly cloned
repository.

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

Reply via email to