schacon / hg-git

mercurial to git bridge, pushed to directly from the hg-git plugin in Hg
GNU General Public License v2.0
620 stars 72 forks source link

Trying |hg incoming --patch| on a github repository throws an exception #310

Open grunweg opened 8 years ago

grunweg commented 8 years ago

Steps taken:

  1. Take your favourite repository on github and clone it using hg-git (e.g. https://github.com/Unlikus/FGA).
  2. Wait until a new change is pushed upstream. Type |hg incoming| to verify that there is indeed a new change.
  3. Type |hg incoming --patch| to view the changes.

Expected result: The command completes without error, I can see the detailed changes made. Actual result: I get the following output, indicating that an exception was thrown. comparing with git://github.com/Unlikus/FGA.git ccomparing with git://github.com/Unlikus/FGA.git changeset: 37:2fe91788827c user: Benjamin Lieser benjamin.lieser@gmx.de date: Thu Oct 15 11:55:59 2015 -0200 summary: Insert class Set and Subgroups

* Unknown exception encountered with possibly-broken third-party extension hggit * which supports versions 3.4 of Mercurial. * Please disable hggit and try your action again. * If that fixes the bug please report it to https://bitbucket.org/durin42/hg-git/issues * Python 2.7.9 (default, Mar 1 2015, 12:57:24) [GCC 4.9.2] * Mercurial Distributed SCM (version 3.5.2) * Extensions loaded: hggit, shelve Traceback (most recent call last): File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/bin/hg", line 43, in mercurial.dispatch.run() File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/dispatch.py", line 30, in run sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/dispatch.py", line 92, in dispatch ret = _runcatch(req) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/dispatch.py", line 163, in _runcatch return _dispatch(req) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/dispatch.py", line 895, in _dispatch cmdpats, cmdoptions) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/dispatch.py", line 656, in runcommand ret = _runcommand(ui, options, cmd, d) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/dispatch.py", line 1013, in _runcommand return checkargs() File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/dispatch.py", line 982, in checkargs return cmdfunc() File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/dispatch.py", line 892, in d = lambda: util.checksignature(func)(ui, _args, _cmdoptions) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/util.py", line 792, in check return func(_args, _kwargs) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/commands.py", line 4408, in incoming return hg.incoming(ui, repo, source, opts) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/hg.py", line 689, in incoming return _incoming(display, subreporecurse, ui, repo, source, opts) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/hg.py", line 659, in _incoming displaychlist(other, chlist, displayer) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/hg.py", line 688, in display displayer.show(other[n]) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/cmdutil.py", line 1149, in show self._show(ctx, copies, matchfn, props) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/cmdutil.py", line 1260, in _show self.showpatch(changenode, matchfn) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/cmdutil.py", line 1277, in showpatch match=matchfn, stat=False) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/cmdutil.py", line 1091, in diffordiffstat relroot=relroot): File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/patch.py", line 2262, in difflabel for chunk in func(_args, _kw): File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/patch.py", line 2215, in diff copy = copies.pathcopies(ctx1, ctx2, match=match) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/copies.py", line 204, in pathcopies a = y.ancestor(x) File "/home/michael/Unlikus-hg-git-experiment/VENV_HG/lib/python2.7/site-packages/mercurial/context.py", line 573, in ancestor cahs = self._repo.changelog.commonancestorsheads(self._node, n2) AttributeError: 'overlaychangelog' object has no attribute 'commonancestorsheads'

System information Reproduced on Debian jessie 64-bit; output of |hg --version -v|: Mercurial Distributed SCM (version 3.5.2) (see http://mercurial.selenic.com for more information)

Copyright (C) 2005-2015 Matt 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.

Enabled extensions:

hggit 0.8.2 (dulwich 0.11.2