$ hg clone --debug --traceback . ssh://hg@hg.logilab.org/users/rcardona/grshell-reliures4 running ssh hg@hg.logilab.org 'hg init users/rcardona/grshell-reliures4' running ssh hg@hg.logilab.org 'hg -R users/rcardona/grshell-reliures4 serve --stdio' sending hello command sending between command remote: 325 remote: capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch stream bundle2-exp=HG2X%0Ab2x%253Alistkeys%0Ab2x%253Apushkey unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024 _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_b2x_obsmarkers_0 _push_experiment_notifypushend_0 remote: 1 cannot lock source repository: [Errno 13] Permission denied: '/home/katia/src/grshell-reliures/.hg/store/lock' query 1; heads sending batch command searching for changes taking quick initial sample searching: 2 queries query 2; still undecided: 211, sample size is: 88 sending known command sampling from both directions searching: 3 queries query 3; still undecided: 27, sample size is: 27 sending known command 3 total queries error writing hidden changesets cachepreparing listkeys for "phases" sending listkeys command preparing listkeys for "namespaces" sending listkeys command 0 total queries checking for updated bookmarks preparing listkeys for "bookmarks" sending listkeys command 201 changesets found list of changesets: b8c8659f1854fff9fa2332338fa7d193225877ff [...] 1ef38368b04e11184fe952c1a7da79c8e83631ca sending unbundle command bundling: 1/201 changesets (0.50%) [...] bundling: 201/201 changesets (100.00%) bundling: 1/170 manifests (0.59%) [...] bundling: 170/170 manifests (100.00%) bundling: .hggrmapping 1/5 files (20.00%) bundling: .hgguestrepo 2/5 files (40.00%) bundling: .hgtags 3/5 files (60.00%) bundling: cubes/__init__.py 4/5 files (80.00%) bundling: logilab/__init__.py 5/5 files (100.00%) remote: adding changesets remote: adding manifests remote: adding file changes remote: added 201 changesets with 170 changes to 5 files (+8 heads) preparing listkeys for "phases" sending listkeys command preparing pushkey for "phases:cf9d6f61539d4af6e1e76d811aa695d323e44536" sending pushkey command preparing pushkey for "phases:4fb5ff16581e46b3c97c904f5099da3a6c8a5244" sending pushkey command try to push obsolete markers to remote preparing listkeys for "namespaces" sending listkeys command pushing 68 obsolescence markers (7905 bytes) sending evoext_pushobsmarkers_0 command obsmarkers exchange: 0/7905 bytes (0.00%) obsmarkers exchange: 4096/7905 bytes (51.82%) obsmarkers exchange: 7905/7905 bytes (100.00%) preparing pushkey for "bookmarks:cubicweb-3.16" sending pushkey command remote: bookmark cubicweb-3.16 is on draft changeset 0bf75ffdfa86fe5f691fec415bf985b51d59340b, rejecting remote: abort: prepushkey.nodraftbook hook exited with status 1 Traceback (most recent call last): File "/home/rcardona/Projects/hg/mercurial/dispatch.py", line 140, in _runcatch return _dispatch(req) File "/home/rcardona/Projects/hg/mercurial/dispatch.py", line 850, in _dispatch cmdpats, cmdoptions) File "/home/rcardona/Projects/hg/mercurial/dispatch.py", line 611, in runcommand ret = _runcommand(ui, options, cmd, d) File "/home/rcardona/Projects/hg/mercurial/extensions.py", line 196, in wrap return wrapper(origfn, *args, **kwargs) File "/home/rcardona/Projects/hg/hgext/pager.py", line 158, in pagecmd return orig(ui, options, cmd, cmdfunc) File "/home/rcardona/Projects/hg/mercurial/extensions.py", line 196, in wrap return wrapper(origfn, *args, **kwargs) File "/home/rcardona/Projects/hg/hgext/color.py", line 485, in colorcmd return orig(ui_, opts, cmd, cmdfunc) File "/home/rcardona/Projects/hg/mercurial/dispatch.py", line 941, in _runcommand return checkargs() File "/home/rcardona/Projects/hg/mercurial/dispatch.py", line 912, in checkargs return cmdfunc() File "/home/rcardona/Projects/hg/mercurial/dispatch.py", line 847, in <lambda> d = lambda: util.checksignature(func)(ui, *args, **cmdoptions) File "/home/rcardona/Projects/hg/mercurial/util.py", line 677, in check return func(*args, **kwargs) File "/home/rcardona/Projects/hg/mercurial/commands.py", line 1371, in clone branch=opts.get('branch')) File "/home/rcardona/Projects/hg/mercurial/hg.py", line 426, in clone bookmarks=srcrepo._bookmarks.keys()) File "/home/rcardona/Projects/hg/mercurial/extensions.py", line 196, in wrap return wrapper(origfn, *args, **kwargs) File "/home/rcardona/Projects/hgext/mutable-history/hgext/evolve.py", line 620, in push return orig(repo, *args, **opts) File "/home/rcardona/Projects/hg/mercurial/exchange.py", line 221, in push _pushbookmark(pushop) File "/home/rcardona/Projects/hg/mercurial/exchange.py", line 767, in _pushbookmark if remote.pushkey('bookmarks', b, old, new): File "/home/rcardona/Projects/hg/mercurial/wireproto.py", line 162, in plain encresref.set(self._submitone(f.func_name, encargsorres)) File "/home/rcardona/Projects/hg/mercurial/wireproto.py", line 224, in _submitone return self._call(op, **args) File "/home/rcardona/Projects/hg/mercurial/sshpeer.py", line 160, in _call return self._recv() File "/home/rcardona/Projects/hg/mercurial/sshpeer.py", line 207, in _recv self._abort(error.ResponseError(_("unexpected response:"), l)) File "/home/rcardona/Projects/hg/mercurial/sshpeer.py", line 113, in _abort raise exception ResponseError: ('unexpected response:', '') abort : unexpected response: empty string
FTR I had a somewhat similar traceback with 3.1 (though I didn't keep it before upgrading).
The important line is apparently: remote: abort: prepushkey.nodraftbook hook exited with status 1 I'll try to repro the traceback in testing.
I can reproduce. Currently crafting a fixes.
Fixed by http://selenic.com/repo/hg/rev/53a65929ef1f Pierre-Yves David <pierre-yves.david@fb.com> pushkey: gracefully handle prepushkey hook failure (issue4455) This allow to gracefully report the failure of the bookmark push and carry on. Before this change set. Local push would plain quit and wireprotocol would failed in various ungraceful way. (please test the fix)
Bulk testing -> fixed