Pointers on using partial clones (was: Error using Narrow extension)

Pulkit Goyal 7895pulkit at gmail.com
Sun Mar 1 11:20:30 UTC 2020


Hi,

(adding mercurial-devel@ as people there definitely know more and can help)

On Mon, Feb 17, 2020 at 10:48 PM Son Luong Ngoc via Mercurial
<mercurial at mercurial-scm.org> wrote:
>
> Hey thanks Augie,
>
> I have filed the bug to bz dot mercurial-scm dot org/show_bug.cgi?id=6269

This bug is fixed on default branch. I will try and see if we can
graft it to stable and release the fix with upcoming minor release.
>
> Really curious on what the correct setup is for Narrow + Shallow would be in the current state of Mercurial.
> I have been tinkering with RemoteFileLog + Sparse and TreeManifest + Narrow but could not find a good setup that, in my mind, does a quick Narrow + Shallow clone (given a subset of files).
> My source of truth right now has been the tests that was setup for each extensions and I am not too sure if they are reliable (or compatible, in case of RemoteFileLog and Narrow extensions).
>
IIUC, there are couple of ways you can achieve the shallow part.

1) Ellipses nodes with narrow extension
2) Remotefilelog extension

If you don't have merge commits, 1) looks quite promising. You can
also use both narrow and remotefilelog extension together which is
used at some places.

What are problems/scalability issues you found while try the two
combination you mentioned above?

About compatibility, they should be. If they are not, then that's a bug.


> Would appreciate if you guys have some pointers to share.
>
> Cheers,
> Son Luong.
>
> > On Feb 15, 2020, at 17:24, Augie Fackler <raf at durin42.com> wrote:
> >
> > That’s moderately surprising, but everyone that knows narrow well is on vacation. Could you file a bug and one of the narrow experts can look in about a week?
> >
> >> On Feb 14, 2020, at 12:11 PM, Son Luong Ngoc via Mercurial <mercurial at mercurial-scm.org> wrote:
> >>
> >> Hey folks,
> >>
> >> I was testing out widening a narrow + shallow clone with a treemanifest-ed repo and got the following.
> >> Any clue what am i doing wrong here?
> >>
> >> Perhaps there is a bug in narrowwirepeer vs bundle2 spec?
> >>
> >> ~/test/treemanifest-repo> hg tracked --addinclude https://urldefense.com/v3/__http://README.md__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zPc-fQQA$
> >> comparing with ssh://my-server-box.mydomain.blah//path-to-repo/treemanifest-repo
> >> searching for changes
> >> remote: ** unknown exception encountered, please report by visiting
> >> remote: ** https://urldefense.com/v3/__https://mercurial-scm.org/wiki/BugTracker__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zO76Jh3I$
> >> remote: ** Python 2.7.5 (default, Aug  7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
> >> remote: ** Mercurial Distributed SCM (version 5.2.1)
> >> remote: ** Extensions loaded: fastannotate, hggit, narrow, fsmonitor, remotefilelog
> >> remote: Traceback (most recent call last):
> >> remote:   File "/bin/hg", line 36, in <module>
> >> remote:     dispatch.run()
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://dispatch.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zOtDFjOs$ ", line 111, in run
> >> remote:     status = dispatch(req)
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://dispatch.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zOtDFjOs$ ", line 250, in dispatch
> >> remote:     ret = _runcatch(req) or 0
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://dispatch.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zOtDFjOs$ ", line 424, in _runcatch
> >> remote:     return _callcatch(ui, _runcatchfunc)
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://dispatch.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zOtDFjOs$ ", line 433, in _callcatch
> >> remote:     return scmutil.callcatch(ui, func)
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://scmutil.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zLJtxVxj$ ", line 177, in callcatch
> >> remote:     return func()
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://dispatch.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zOtDFjOs$ ", line 414, in _runcatchfunc
> >> remote:     return _dispatch(req)
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://dispatch.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zOtDFjOs$ ", line 1174, in _dispatch
> >> remote:     lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
> >> remote:   File "/usr/lib64/python2.7/site-packages/hgext/remotefilelog/https://urldefense.com/v3/__http://__init__.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zHS1GKbj$ ", line 576, in runcommand
> >> remote:     return orig(lui, repo, *args, **kwargs)
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://dispatch.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zOtDFjOs$ ", line 862, in runcommand
> >> remote:     ret = _runcommand(ui, options, cmd, d)
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://dispatch.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zOtDFjOs$ ", line 1185, in _runcommand
> >> remote:     return cmdfunc()
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://dispatch.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zOtDFjOs$ ", line 1171, in <lambda>
> >> remote:     d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://util.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zJODNqSe$ ", line 1843, in check
> >> remote:     return func(*args, **kwargs)
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://commands.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zGLM2_6p$ ", line 6492, in serve
> >> remote:     s.serve_forever()
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://wireprotoserver.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zCzOjPqB$ ", line 852, in serve_forever
> >> remote:     self.serveuntil(threading.Event())
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://wireprotoserver.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zCzOjPqB$ ", line 858, in serveuntil
> >> remote:     _runsshserver(self._ui, self._repo, self._fin, self._fout, ev)
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://wireprotoserver.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zCzOjPqB$ ", line 700, in _runsshserver
> >> remote:     rsp = wireprotov1server.dispatch(repo, proto, request)
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://wireprotov1server.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zCWC1q2q$ ", line 82, in dispatch
> >> remote:     return func(repo, proto, *args)
> >> remote:   File "/usr/lib64/python2.7/site-packages/hgext/narrow/https://urldefense.com/v3/__http://narrowwirepeer.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zEkLdWi7$ ", line 120, in narrow_widen
> >> remote:     ellipses,
> >> remote:   File "/usr/lib64/python2.7/site-packages/mercurial/https://urldefense.com/v3/__http://bundle2.py__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zKHtKTdS$ ", line 2564, in widen_bundle
> >> remote:     changelog=False,
> >> remote: TypeError: generate() got an unexpected keyword argument 'changelog'
> >> abort: stream ended unexpectedly (got 0 bytes, expected 4)
> >> exit 255
> >>
> >> Cheers,
> >> Son Luong
> >> _______________________________________________
> >> Mercurial mailing list
> >> Mercurial at mercurial-scm.org
> >> https://urldefense.com/v3/__https://www.mercurial-scm.org/mailman/listinfo/mercurial__;!!FzMMvhmfRQ!_oIsz1kOZcv8xbMC-UDoCliSCzWtvFaJIWfiyqmr5Ln1TI9uL3Nf_3q8zOZydbjQ$
> >
>
> _______________________________________________
> Mercurial mailing list
> Mercurial at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial


More information about the Mercurial mailing list