# HG changeset patch
# User Martin von Zweigbergk
# Date 1487007856 28800
# Node ID 455677a7667f6658be5c6e3f3d7b81a29cf5f9a2
# Parent 72f25e17af9d6a206ea374c30f229ae9513f3f23# Parent f3807a135e43b0499db12dc79697e0b9589dd095
merge with stable
diff -r 72f25e17af9d -r 455677a7667f Makefile
--- a/Makefile Mon Feb 13 02:31:56 2017 -0800
+++ b/Makefile Mon Feb 13 09:44:16 2017 -0800
@@ -141,7 +141,7 @@
# xgettext "parse" and ignore them.
echo $(PYFILES) | xargs \
xgettext --package-name "Mercurial" \
- --msgid-bugs-address "" \
+ --msgid-bugs-address "" \
--copyright-holder "Matt Mackall and others" \
--from-code ISO-8859-1 --join --sort-by-file --add-comments=i18n: \
-d hg -p i18n -o hg.pot.tmp
diff -r 72f25e17af9d -r 455677a7667f contrib/check-code.py
--- a/contrib/check-code.py Mon Feb 13 02:31:56 2017 -0800
+++ b/contrib/check-code.py Mon Feb 13 09:44:16 2017 -0800
@@ -452,6 +452,10 @@
[
(r'(http|https)://[a-zA-Z0-9./]*selenic.com/',
'use mercurial-scm.org domain URL'),
+ (r'mercurial@selenic\.com',
+ 'use mercurial-scm.org domain for mercurial ML address'),
+ (r'mercurial-devel@selenic\.com',
+ 'use mercurial-scm.org domain for mercurial-devel ML address'),
],
# warnings
[],
diff -r 72f25e17af9d -r 455677a7667f contrib/debian/changelog
--- a/contrib/debian/changelog Mon Feb 13 02:31:56 2017 -0800
+++ b/contrib/debian/changelog Mon Feb 13 09:44:16 2017 -0800
@@ -2,4 +2,4 @@
* Automated build performed by upstream.
- -- Mercurial Devel __DATE__
+ -- Mercurial Devel __DATE__
diff -r 72f25e17af9d -r 455677a7667f contrib/debian/control
--- a/contrib/debian/control Mon Feb 13 02:31:56 2017 -0800
+++ b/contrib/debian/control Mon Feb 13 09:44:16 2017 -0800
@@ -1,7 +1,7 @@
Source: mercurial
Section: vcs
Priority: optional
-Maintainer: Mercurial Developers
+Maintainer: Mercurial Developers
Build-Depends:
debhelper (>= 9),
dh-python,
diff -r 72f25e17af9d -r 455677a7667f contrib/debian/copyright
--- a/contrib/debian/copyright Mon Feb 13 02:31:56 2017 -0800
+++ b/contrib/debian/copyright Mon Feb 13 09:44:16 2017 -0800
@@ -3,7 +3,7 @@
Source: https://www.mercurial-scm.org/
Files: *
-Copyright: 2005-2015, Matt Mackall and others.
+Copyright: 2005-2017, Matt Mackall and others.
License: GPL-2+
This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public
diff -r 72f25e17af9d -r 455677a7667f contrib/win32/ReadMe.html
--- a/contrib/win32/ReadMe.html Mon Feb 13 02:31:56 2017 -0800
+++ b/contrib/win32/ReadMe.html Mon Feb 13 09:44:16 2017 -0800
@@ -140,7 +140,7 @@
- Mercurial is Copyright 2005-2016 Matt Mackall and others. See
+ Mercurial is Copyright 2005-2017 Matt Mackall and others. See
the Contributors.txt file for a list of contributors.
diff -r 72f25e17af9d -r 455677a7667f contrib/win32/mercurial.iss
--- a/contrib/win32/mercurial.iss Mon Feb 13 02:31:56 2017 -0800
+++ b/contrib/win32/mercurial.iss Mon Feb 13 09:44:16 2017 -0800
@@ -21,7 +21,7 @@
#endif
[Setup]
-AppCopyright=Copyright 2005-2016 Matt Mackall and others
+AppCopyright=Copyright 2005-2017 Matt Mackall and others
AppName=Mercurial
AppVersion={#VERSION}
#if ARCH == "x64"
@@ -41,11 +41,11 @@
AppSupportURL=https://mercurial-scm.org/
AppUpdatesURL=https://mercurial-scm.org/
AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3}
-AppContact=mercurial@selenic.com
+AppContact=mercurial@mercurial-scm.org
DefaultDirName={pf}\Mercurial
SourceDir=..\..
VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
-VersionInfoCopyright=Copyright 2005-2016 Matt Mackall and others
+VersionInfoCopyright=Copyright 2005-2017 Matt Mackall and others
VersionInfoCompany=Matt Mackall and others
InternalCompressLevel=max
SolidCompression=true
diff -r 72f25e17af9d -r 455677a7667f contrib/wix/mercurial.wxs
--- a/contrib/wix/mercurial.wxs Mon Feb 13 02:31:56 2017 -0800
+++ b/contrib/wix/mercurial.wxs Mon Feb 13 09:44:16 2017 -0800
@@ -43,7 +43,7 @@
- mercurial@selenic.com
+ mercurial@mercurial-scm.org
https://mercurial-scm.org/wiki/
https://mercurial-scm.org/about/
https://mercurial-scm.org/downloads/
diff -r 72f25e17af9d -r 455677a7667f i18n/da.po
--- a/i18n/da.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/da.po Mon Feb 13 09:44:16 2017 -0800
@@ -16,7 +16,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-11-09 18:27+0100\n"
"PO-Revision-Date: 2011-11-09 19:00+0100\n"
"Last-Translator: \n"
diff -r 72f25e17af9d -r 455677a7667f i18n/de.po
--- a/i18n/de.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/de.po Mon Feb 13 09:44:16 2017 -0800
@@ -19,7 +19,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-01-29 16:47+0100\n"
"PO-Revision-Date: 2014-05-07 09:14+0200\n"
"Last-Translator: Simon Heimberg \n"
diff -r 72f25e17af9d -r 455677a7667f i18n/el.po
--- a/i18n/el.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/el.po Mon Feb 13 09:44:16 2017 -0800
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-10-25 12:38+0100\n"
"PO-Revision-Date: 2009-12-02 03:23+0200\n"
"Last-Translator: \n"
diff -r 72f25e17af9d -r 455677a7667f i18n/fr.po
--- a/i18n/fr.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/fr.po Mon Feb 13 09:44:16 2017 -0800
@@ -85,7 +85,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-10-25 12:38+0100\n"
"PO-Revision-Date: 2009-10-25 12:43+0100\n"
"Last-Translator: Cedric Duval \n"
diff -r 72f25e17af9d -r 455677a7667f i18n/it.po
--- a/i18n/it.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/it.po Mon Feb 13 09:44:16 2017 -0800
@@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-22 22:04+0100\n"
"PO-Revision-Date: 2013-04-05 14:47+0100\n"
"Last-Translator: Stefano Tortarolo \n"
diff -r 72f25e17af9d -r 455677a7667f i18n/ja.po
--- a/i18n/ja.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/ja.po Mon Feb 13 09:44:16 2017 -0800
@@ -164,7 +164,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-12-31 13:29+0900\n"
"PO-Revision-Date: 2016-12-31 17:09+0900\n"
"Last-Translator: Japanese translation team \n"
diff -r 72f25e17af9d -r 455677a7667f i18n/pt_BR.po
--- a/i18n/pt_BR.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/pt_BR.po Mon Feb 13 09:44:16 2017 -0800
@@ -31,7 +31,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-31 16:48-0200\n"
"PO-Revision-Date: 2017-02-01 08:40-0200\n"
"Last-Translator: Wagner Bruna \n"
diff -r 72f25e17af9d -r 455677a7667f i18n/ro.po
--- a/i18n/ro.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/ro.po Mon Feb 13 09:44:16 2017 -0800
@@ -105,7 +105,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-08 15:03+0200\n"
"PO-Revision-Date: 2011-06-08 17:00+0200\n"
"Last-Translator: Daniel Dumitriu \n"
diff -r 72f25e17af9d -r 455677a7667f i18n/ru.po
--- a/i18n/ru.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/ru.po Mon Feb 13 09:44:16 2017 -0800
@@ -179,7 +179,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-10-13 14:18+0400\n"
"PO-Revision-Date: 2011-05-12 23:48+0400\n"
"Last-Translator: Alexander Sauta \n"
diff -r 72f25e17af9d -r 455677a7667f i18n/sv.po
--- a/i18n/sv.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/sv.po Mon Feb 13 09:44:16 2017 -0800
@@ -15,7 +15,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-07-28 14:35+0200\n"
"PO-Revision-Date: 2012-07-28 22:58+0200\n"
"Last-Translator: Jens Bäckman \n"
diff -r 72f25e17af9d -r 455677a7667f i18n/zh_CN.po
--- a/i18n/zh_CN.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/zh_CN.po Mon Feb 13 09:44:16 2017 -0800
@@ -46,7 +46,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial 1.3\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-10-19 11:47+0800\n"
"PO-Revision-Date: 2009-03-31 20:38+0200\n"
"Last-Translator: Dongsheng Song \n"
diff -r 72f25e17af9d -r 455677a7667f i18n/zh_TW.po
--- a/i18n/zh_TW.po Mon Feb 13 02:31:56 2017 -0800
+++ b/i18n/zh_TW.po Mon Feb 13 09:44:16 2017 -0800
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Mercurial\n"
-"Report-Msgid-Bugs-To: \n"
+"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-10-31 22:27+0100\n"
"PO-Revision-Date: 2014-05-07 09:20+0200\n"
"Last-Translator: Chia-Huan Wu ,leolarrel\n"
diff -r 72f25e17af9d -r 455677a7667f mercurial/commands.py
--- a/mercurial/commands.py Mon Feb 13 02:31:56 2017 -0800
+++ b/mercurial/commands.py Mon Feb 13 09:44:16 2017 -0800
@@ -6583,7 +6583,7 @@
util.version())
license = _(
"(see https://mercurial-scm.org for more information)\n"
- "\nCopyright (C) 2005-2016 Matt Mackall and others\n"
+ "\nCopyright (C) 2005-2017 Matt Mackall and others\n"
"This is free software; see the source for copying conditions. "
"There is NO\nwarranty; "
"not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
diff -r 72f25e17af9d -r 455677a7667f mercurial/exchange.py
--- a/mercurial/exchange.py Mon Feb 13 02:31:56 2017 -0800
+++ b/mercurial/exchange.py Mon Feb 13 09:44:16 2017 -0800
@@ -904,7 +904,9 @@
raise error.Abort(_('missing support for %s') % exc)
except bundle2.AbortFromPart as exc:
pushop.ui.status(_('remote: %s\n') % exc)
- raise error.Abort(_('push failed on remote'), hint=exc.hint)
+ if exc.hint is not None:
+ pushop.ui.status(_('remote: %s\n') % ('(%s)' % exc.hint))
+ raise error.Abort(_('push failed on remote'))
except error.PushkeyFailed as exc:
partid = int(exc.partid)
if partid not in pushop.pkfailcb:
@@ -1361,6 +1363,9 @@
bundle = pullop.remote.getbundle('pull', **kwargs)
try:
op = bundle2.processbundle(pullop.repo, bundle, pullop.gettransaction)
+ except bundle2.AbortFromPart as exc:
+ pullop.repo.ui.status(_('remote: abort: %s\n') % exc)
+ raise error.Abort(_('pull failed on remote'), hint=exc.hint)
except error.BundleValueError as exc:
raise error.Abort(_('missing support for %s') % exc)
diff -r 72f25e17af9d -r 455677a7667f mercurial/help/hg.1.txt
--- a/mercurial/help/hg.1.txt Mon Feb 13 02:31:56 2017 -0800
+++ b/mercurial/help/hg.1.txt Mon Feb 13 09:44:16 2017 -0800
@@ -112,7 +112,7 @@
Copying
"""""""
-Copyright (C) 2005-2016 Matt Mackall.
+Copyright (C) 2005-2017 Matt Mackall.
Free use of this software is granted under the terms of the GNU General
Public License version 2 or any later version.
diff -r 72f25e17af9d -r 455677a7667f mercurial/help/hgignore.5.txt
--- a/mercurial/help/hgignore.5.txt Mon Feb 13 02:31:56 2017 -0800
+++ b/mercurial/help/hgignore.5.txt Mon Feb 13 09:44:16 2017 -0800
@@ -26,7 +26,7 @@
Copying
=======
This manual page is copyright 2006 Vadim Gelfer.
-Mercurial is copyright 2005-2016 Matt Mackall.
+Mercurial is copyright 2005-2017 Matt Mackall.
Free use of this software is granted under the terms of the GNU General
Public License version 2 or any later version.
diff -r 72f25e17af9d -r 455677a7667f mercurial/help/hgrc.5.txt
--- a/mercurial/help/hgrc.5.txt Mon Feb 13 02:31:56 2017 -0800
+++ b/mercurial/help/hgrc.5.txt Mon Feb 13 09:44:16 2017 -0800
@@ -34,7 +34,7 @@
Copying
=======
This manual page is copyright 2005 Bryan O'Sullivan.
-Mercurial is copyright 2005-2016 Matt Mackall.
+Mercurial is copyright 2005-2017 Matt Mackall.
Free use of this software is granted under the terms of the GNU General
Public License version 2 or any later version.
diff -r 72f25e17af9d -r 455677a7667f mercurial/wireproto.py
--- a/mercurial/wireproto.py Mon Feb 13 02:31:56 2017 -0800
+++ b/mercurial/wireproto.py Mon Feb 13 09:44:16 2017 -0800
@@ -33,9 +33,10 @@
urlerr = util.urlerr
urlreq = util.urlreq
-bundle2required = _(
- 'incompatible Mercurial client; bundle2 required\n'
- '(see https://www.mercurial-scm.org/wiki/IncompatibleClient)\n')
+bundle2requiredmain = _('incompatible Mercurial client; bundle2 required')
+bundle2requiredhint = _('see https://www.mercurial-scm.org/wiki/'
+ 'IncompatibleClient')
+bundle2required = '%s\n(%s)\n' % (bundle2requiredmain, bundle2requiredhint)
class abstractserverproto(object):
"""abstract class that summarizes the protocol API
@@ -833,9 +834,29 @@
if not bundle1allowed(repo, 'pull'):
if not exchange.bundle2requested(opts.get('bundlecaps')):
- return ooberror(bundle2required)
+ if proto.name == 'http':
+ return ooberror(bundle2required)
+ raise error.Abort(bundle2requiredmain,
+ hint=bundle2requiredhint)
- chunks = exchange.getbundlechunks(repo, 'serve', **opts)
+ #chunks = exchange.getbundlechunks(repo, 'serve', **opts)
+ try:
+ chunks = exchange.getbundlechunks(repo, 'serve', **opts)
+ except error.Abort as exc:
+ # cleanly forward Abort error to the client
+ if not exchange.bundle2requested(opts.get('bundlecaps')):
+ if proto.name == 'http':
+ return ooberror(str(exc) + '\n')
+ raise # cannot do better for bundle1 + ssh
+ # bundle2 request expect a bundle2 reply
+ bundler = bundle2.bundle20(repo.ui)
+ manargs = [('message', str(exc))]
+ advargs = []
+ if exc.hint is not None:
+ advargs.append(('hint', exc.hint))
+ bundler.addpart(bundle2.bundlepart('error:abort',
+ manargs, advargs))
+ return streamres(gen=bundler.getchunks(), v1compressible=True)
return streamres(gen=chunks, v1compressible=True)
@wireprotocommand('heads')
@@ -948,7 +969,14 @@
gen = exchange.readbundle(repo.ui, fp, None)
if (isinstance(gen, changegroupmod.cg1unpacker)
and not bundle1allowed(repo, 'push')):
- return ooberror(bundle2required)
+ if proto.name == 'http':
+ # need to special case http because stderr do not get to
+ # the http client on failed push so we need to abuse some
+ # other error type to make sure the message get to the
+ # user.
+ return ooberror(bundle2required)
+ raise error.Abort(bundle2requiredmain,
+ hint=bundle2requiredhint)
r = exchange.unbundle(repo, gen, their_heads, 'serve',
proto._client())
@@ -973,6 +1001,8 @@
# This need to be moved to something proper.
# Feel free to do it.
util.stderr.write("abort: %s\n" % exc)
+ if exc.hint is not None:
+ util.stderr.write("(%s)\n" % exc.hint)
return pushres(0)
except error.PushRaced:
return pusherr(str(exc))
diff -r 72f25e17af9d -r 455677a7667f setup.py
--- a/setup.py Mon Feb 13 02:31:56 2017 -0800
+++ b/setup.py Mon Feb 13 09:44:16 2017 -0800
@@ -664,7 +664,7 @@
if py2exeloaded:
extra['console'] = [
{'script':'hg',
- 'copyright':'Copyright (C) 2005-2016 Matt Mackall and others',
+ 'copyright':'Copyright (C) 2005-2017 Matt Mackall and others',
'product_version':version}]
# sub command of 'build' because 'py2exe' does not handle sub_commands
build.sub_commands.insert(0, ('build_hgextindex', None))
@@ -712,7 +712,7 @@
setup(name='mercurial',
version=setupversion,
author='Matt Mackall and many others',
- author_email='mercurial@selenic.com',
+ author_email='mercurial@mercurial-scm.org',
url='https://mercurial-scm.org/',
download_url='https://mercurial-scm.org/release/',
description=('Fast scalable distributed SCM (revision control, version '
diff -r 72f25e17af9d -r 455677a7667f tests/crashgetbundler.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/crashgetbundler.py Mon Feb 13 09:44:16 2017 -0800
@@ -0,0 +1,14 @@
+from __future__ import absolute_import
+
+from mercurial.i18n import _
+from mercurial import (
+ changegroup,
+ error,
+ extensions
+ )
+
+def abort(orig, *args, **kwargs):
+ raise error.Abort(_('this is an exercise'))
+
+def uisetup(ui):
+ extensions.wrapfunction(changegroup, 'getbundler', abort)
diff -r 72f25e17af9d -r 455677a7667f tests/test-bundle2-exchange.t
--- a/tests/test-bundle2-exchange.t Mon Feb 13 02:31:56 2017 -0800
+++ b/tests/test-bundle2-exchange.t Mon Feb 13 09:44:16 2017 -0800
@@ -518,16 +518,16 @@
pushing to ssh://user@dummy/other
searching for changes
remote: Abandon ship!
+ remote: (don't panic)
abort: push failed on remote
- (don't panic)
[255]
$ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
pushing to http://localhost:$HGPORT2/
searching for changes
remote: Abandon ship!
+ remote: (don't panic)
abort: push failed on remote
- (don't panic)
[255]
@@ -1024,11 +1024,12 @@
Verify the global server.bundle1 option works
- $ cat > .hg/hgrc << EOF
+ $ cd ..
+ $ cat > bundle2onlyserver/.hg/hgrc << EOF
> [server]
> bundle1 = false
> EOF
- $ hg serve -p $HGPORT -d --pid-file=hg.pid
+ $ hg -R bundle2onlyserver serve -p $HGPORT -d --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ hg --config devel.legacy.exchange=bundle1 clone http://localhost:$HGPORT not-bundle2
requesting all changes
@@ -1038,11 +1039,21 @@
[255]
$ killdaemons.py
- $ cat > .hg/hgrc << EOF
+ $ hg --config devel.legacy.exchange=bundle1 clone ssh://user@dummy/bundle2onlyserver not-bundle2-ssh
+ requesting all changes
+ adding changesets
+ remote: abort: incompatible Mercurial client; bundle2 required
+ remote: (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
+ transaction abort!
+ rollback completed
+ abort: stream ended unexpectedly (got 0 bytes, expected 4)
+ [255]
+
+ $ cat > bundle2onlyserver/.hg/hgrc << EOF
> [server]
> bundle1gd = false
> EOF
- $ hg serve -p $HGPORT -d --pid-file=hg.pid
+ $ hg -R bundle2onlyserver serve -p $HGPORT -d --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ hg --config devel.legacy.exchange=bundle1 clone http://localhost:$HGPORT/ not-bundle2
@@ -1054,7 +1065,7 @@
$ killdaemons.py
- $ cd ../notgdserver
+ $ cd notgdserver
$ cat > .hg/hgrc << EOF
> [server]
> bundle1gd = false
@@ -1107,6 +1118,15 @@
(see https://www.mercurial-scm.org/wiki/IncompatibleClient)
[255]
+(also check with ssh)
+
+ $ hg --config devel.legacy.exchange=bundle1 push ssh://user@dummy/bundle2onlyserver
+ pushing to ssh://user@dummy/bundle2onlyserver
+ searching for changes
+ remote: abort: incompatible Mercurial client; bundle2 required
+ remote: (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
+ [1]
+
$ hg push
pushing to http://localhost:$HGPORT/
searching for changes
diff -r 72f25e17af9d -r 455677a7667f tests/test-convert-baz.t
--- a/tests/test-convert-baz.t Mon Feb 13 02:31:56 2017 -0800
+++ b/tests/test-convert-baz.t Mon Feb 13 09:44:16 2017 -0800
@@ -1,6 +1,6 @@
#require baz symlink
- $ baz my-id "mercurial "
+ $ baz my-id "mercurial "
$ echo "[extensions]" >> $HGRCPATH
$ echo "convert=" >> $HGRCPATH
diff -r 72f25e17af9d -r 455677a7667f tests/test-convert-tla.t
--- a/tests/test-convert-tla.t Mon Feb 13 02:31:56 2017 -0800
+++ b/tests/test-convert-tla.t Mon Feb 13 09:44:16 2017 -0800
@@ -1,6 +1,6 @@
#require tla symlink
- $ tla my-id "mercurial "
+ $ tla my-id "mercurial "
$ echo "[extensions]" >> $HGRCPATH
$ echo "convert=" >> $HGRCPATH
diff -r 72f25e17af9d -r 455677a7667f tests/test-help.t
--- a/tests/test-help.t Mon Feb 13 02:31:56 2017 -0800
+++ b/tests/test-help.t Mon Feb 13 09:44:16 2017 -0800
@@ -445,7 +445,7 @@
Mercurial Distributed SCM (version *) (glob)
(see https://mercurial-scm.org for more information)
- Copyright (C) 2005-2016 Matt Mackall and others
+ Copyright (C) 2005-* Matt Mackall and others (glob)
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
diff -r 72f25e17af9d -r 455677a7667f tests/test-hgrc.t
--- a/tests/test-hgrc.t Mon Feb 13 02:31:56 2017 -0800
+++ b/tests/test-hgrc.t Mon Feb 13 09:44:16 2017 -0800
@@ -71,7 +71,7 @@
Mercurial Distributed SCM (version *) (glob)
(see https://mercurial-scm.org for more information)
- Copyright (C) 2005-2016 Matt Mackall and others
+ Copyright (C) 2005-* Matt Mackall and others (glob)
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ unset FAKEPATH
diff -r 72f25e17af9d -r 455677a7667f tests/test-http-bundle1.t
--- a/tests/test-http-bundle1.t Mon Feb 13 02:31:56 2017 -0800
+++ b/tests/test-http-bundle1.t Mon Feb 13 09:44:16 2017 -0800
@@ -333,3 +333,15 @@
check error log
$ cat error.log
+
+Check error reporting while pulling/cloning
+
+ $ $RUNTESTDIR/killdaemons.py
+ $ hg -R test serve -p $HGPORT -d --pid-file=hg3.pid -E error.log --config extensions.crash=${TESTDIR}/crashgetbundler.py
+ $ cat hg3.pid >> $DAEMON_PIDS
+ $ hg clone http://localhost:$HGPORT/ abort-clone
+ requesting all changes
+ abort: remote error:
+ this is an exercise
+ [255]
+ $ cat error.log
diff -r 72f25e17af9d -r 455677a7667f tests/test-http.t
--- a/tests/test-http.t Mon Feb 13 02:31:56 2017 -0800
+++ b/tests/test-http.t Mon Feb 13 09:44:16 2017 -0800
@@ -321,3 +321,15 @@
check error log
$ cat error.log
+
+check abort error reporting while pulling/cloning
+
+ $ $RUNTESTDIR/killdaemons.py
+ $ hg -R test serve -p $HGPORT -d --pid-file=hg3.pid -E error.log --config extensions.crash=${TESTDIR}/crashgetbundler.py
+ $ cat hg3.pid >> $DAEMON_PIDS
+ $ hg clone http://localhost:$HGPORT/ abort-clone
+ requesting all changes
+ remote: abort: this is an exercise
+ abort: pull failed on remote
+ [255]
+ $ cat error.log
diff -r 72f25e17af9d -r 455677a7667f tests/test-ssh-bundle1.t
--- a/tests/test-ssh-bundle1.t Mon Feb 13 02:31:56 2017 -0800
+++ b/tests/test-ssh-bundle1.t Mon Feb 13 09:44:16 2017 -0800
@@ -543,3 +543,20 @@
remote: abort: pretxnchangegroup.fail hook failed
[1]
+abort during pull is properly reported as such
+
+ $ echo morefoo >> ../remote/foo
+ $ hg -R ../remote commit --message "more foo to be pulled"
+ $ cat >> ../remote/.hg/hgrc << EOF
+ > [extensions]
+ > crash = ${TESTDIR}/crashgetbundler.py
+ > EOF
+ $ hg --config ui.ssh="python $TESTDIR/dummyssh" pull
+ pulling from ssh://user@dummy/remote
+ searching for changes
+ adding changesets
+ remote: abort: this is an exercise
+ transaction abort!
+ rollback completed
+ abort: stream ended unexpectedly (got 0 bytes, expected 4)
+ [255]
diff -r 72f25e17af9d -r 455677a7667f tests/test-ssh.t
--- a/tests/test-ssh.t Mon Feb 13 02:31:56 2017 -0800
+++ b/tests/test-ssh.t Mon Feb 13 09:44:16 2017 -0800
@@ -548,3 +548,17 @@
abort: push failed on remote
[255]
+abort during pull is properly reported as such
+
+ $ echo morefoo >> ../remote/foo
+ $ hg -R ../remote commit --message "more foo to be pulled"
+ $ cat >> ../remote/.hg/hgrc << EOF
+ > [extensions]
+ > crash = ${TESTDIR}/crashgetbundler.py
+ > EOF
+ $ hg --config ui.ssh="python $TESTDIR/dummyssh" pull
+ pulling from ssh://user@dummy/remote
+ searching for changes
+ remote: abort: this is an exercise
+ abort: pull failed on remote
+ [255]