$ hg unshelve unshelving change 'default' ** unknown exception encountered, please report by visiting ** http://mercurial.selenic.com/wiki/BugTracker ** Python 2.7.5 (default, Aug 25 2013, 00:04:04) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] ** Mercurial Distributed SCM (version 2.8) ** Extensions loaded: shelve, color, progress, largefiles, extdiff Traceback (most recent call last): File "/usr/local/bin/hg", line 38, in <module> mercurial.dispatch.run() File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/dispatch.py", line 28, in run sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/dispatch.py", line 69, in dispatch ret = _runcatch(req) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/dispatch.py", line 133, in _runcatch return _dispatch(req) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/dispatch.py", line 806, in _dispatch cmdpats, cmdoptions) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/dispatch.py", line 585, in runcommand ret = _runcommand(ui, options, cmd, d) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/extensions.py", line 196, in wrap return wrapper(origfn, *args, **kwargs) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/hgext/color.py", line 419, in colorcmd return orig(ui_, opts, cmd, cmdfunc) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/dispatch.py", line 897, in _runcommand return checkargs() File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/dispatch.py", line 868, in checkargs return cmdfunc() File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/dispatch.py", line 803, in <lambda> d = lambda: util.checksignature(func)(ui, *args, **cmdoptions) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/util.py", line 512, in check return func(*args, **kwargs) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/hgext/shelve.py", line 561, in unshelve node = cmdutil.commit(ui, repo, commitfunc, None, tempopts) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/cmdutil.py", line 1655, in commit scmutil.addremove(repo, pats, opts) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/mercurial/extensions.py", line 196, in wrap return wrapper(origfn, *args, **kwargs) File "/usr/local/Cellar/mercurial/2.8/lib/python2.7/site-packages/hgext/largefiles/overrides.py", line 1105, in scmutiladdremove addlargefiles(repo.ui, repo, *pats, **opts) TypeError: addlargefiles() argument after * must be a sequence, not NoneType OS: Mac OS 10.9 Mavericks Mercurial 2.8 installed with Homebrew. The changes I was unshelving did not involve any changes to large files, but there are large files in the repository. The repository also has several git submodules.
Technically, this problem does not result in data loss because I can just go into .hg/shelved and get my changes out. But I doubt most users know about this, and even if they do, applying the changes back manually is still painful.
Fix in progress.
Fixed by http://selenic.com/repo/hg/rev/b3483223f734 Matt Mackall <mpm@selenic.com> shelve: fix bad argument interaction with largefiles (issue4111) (please test the fix)
I don't have that shelve diff anymore so can't test it, sorry. I applied the diff manually and then did "hg shelve --cleanup".