Bug 6269 - Cannot widening a narrow + shallow clone
Summary: Cannot widening a narrow + shallow clone
Status: RESOLVED FIXED
Alias: None
Product: Mercurial
Classification: Unclassified
Component: Mercurial (show other bugs)
Version: 5.3
Hardware: Macintosh Mac OS
: wish bug
Assignee: Bugzilla
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-02-17 11:45 UTC by son.luong
Modified: 2020-03-12 00:01 UTC (History)
2 users (show)

See Also:
Python Version: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description son.luong 2020-02-17 11:45 UTC
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 README.md
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://mercurial-scm.org/wiki/BugTracker
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/dispatch.py", line 111, in run
remote:     status = dispatch(req)
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 250, in dispatch
remote:     ret = _runcatch(req) or 0
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 424, in _runcatch
remote:     return _callcatch(ui, _runcatchfunc)
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 433, in _callcatch
remote:     return scmutil.callcatch(ui, func)
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/scmutil.py", line 177, in callcatch
remote:     return func()
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 414, in _runcatchfunc
remote:     return _dispatch(req)
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 1174, in _dispatch
remote:     lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
remote:   File "/usr/lib64/python2.7/site-packages/hgext/remotefilelog/__init__.py", line 576, in runcommand
remote:     return orig(lui, repo, *args, **kwargs)
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 862, in runcommand
remote:     ret = _runcommand(ui, options, cmd, d)
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 1185, in _runcommand
remote:     return cmdfunc()
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 1171, in <lambda>
remote:     d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/util.py", line 1843, in check
remote:     return func(*args, **kwargs)
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/commands.py", line 6492, in serve
remote:     s.serve_forever()
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.py", line 852, in serve_forever
remote:     self.serveuntil(threading.Event())
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.py", line 858, in serveuntil
remote:     _runsshserver(self._ui, self._repo, self._fin, self._fout, ev)
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.py", line 700, in _runsshserver
remote:     rsp = wireprotov1server.dispatch(repo, proto, request)
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/wireprotov1server.py", line 82, in dispatch
remote:     return func(repo, proto, *args)
remote:   File "/usr/lib64/python2.7/site-packages/hgext/narrow/narrowwirepeer.py", line 120, in narrow_widen
remote:     ellipses,
remote:   File "/usr/lib64/python2.7/site-packages/mercurial/bundle2.py", 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
Comment 1 Pulkit Goyal 2020-02-18 09:00 UTC
Hi, what is the version of mercurial you are using on client and server?
Comment 2 son.luong 2020-02-18 09:03 UTC
(In reply to Pulkit Goyal from comment #1)
Hey, on server side it should be 5.2.2 and on client side its 5.3
Comment 3 son.luong 2020-02-18 09:04 UTC
correction: server side is 5.2.1
Comment 4 Pulkit Goyal 2020-02-18 09:45 UTC
Looks like bug with remotefilelog which is missing this extra argument. Can you try disabling remotefilelog and see if it works?
Comment 5 son.luong 2020-02-18 10:17 UTC
(In reply to Pulkit Goyal from comment #4)

can confirm that disabling remotefilelog server side helped narrow work

I wonder if this compatibility between 2 extensions is a thing or am I just using them wrongly. I couldnt find a lot of documentation for these and pretty much rely exclusively on the /tests setup and the comments header :(

Would appreciate if anybody could share best practice on configuring these in my current mailing thread https://www.mercurial-scm.org/pipermail/mercurial/2020-February/051834.html
Comment 6 Pulkit Goyal 2020-02-18 10:32 UTC
(In reply to son.luong from comment #5)

> can confirm that disabling remotefilelog server side helped narrow work

> I wonder if this compatibility between 2 extensions is a thing or am I just 
> using them wrongly. I couldnt find a lot of documentation for these and pretty 
> much rely exclusively on the /tests setup and the comments header :(

Nothing wrong with your setup, there is a bug in remotefilelog code, I am preparing a patch for that.

> Would appreciate if anybody could share best practice on configuring these in 
> my current mailing thread https://www.mercurial-scm.org/pipermail/mercurial/2020-February/051834.html

That's on my TODO list, I will try to write a reply soon.
Comment 7 HG Bot 2020-02-26 11:55 UTC
Fixed by https://mercurial-scm.org/repo/hg/rev/454bc51f114c
Pulkit Goyal <7895pulkit@gmail.com>
remotefilelog: add 'changelog' arg to shallowcg1packer.generate (issue6269)

This cause traceback on widening using narrow extension when remotefilelog
is enabled.

Differential Revision: https://phab.mercurial-scm.org/D8134

(please test the fix)
Comment 8 HG Bot 2020-03-04 11:00 UTC
Fixed by https://mercurial-scm.org/repo/hg/rev/6d121acbb82e
Pulkit Goyal <7895pulkit@gmail.com>
remotefilelog: add 'changelog' arg to shallowcg1packer.generate (issue6269)

This cause traceback on widening using narrow extension when remotefilelog
is enabled.

Differential Revision: https://phab.mercurial-scm.org/D8134

(please test the fix)
Comment 9 Bugzilla 2020-03-12 00:01 UTC
Bug was set to TESTING for 7 days, resolving