# HG changeset patch
# User Pulkit Goyal <7895pulkit@gmail.com>
# Date 1611921729 -19800
# Node ID 16c18d5e5dc88810d3410d9370cb851f508ffbf5
# Parent 892eb7c5edaaeb768e3ae7099e8271e68b937280# Parent ed43b6fa847e57e61987dd3cea92b50fdbce6064
merge with stable
diff -r 892eb7c5edaa -r 16c18d5e5dc8 contrib/automation/hgautomation/linux.py
--- a/contrib/automation/hgautomation/linux.py Thu Jan 28 00:14:15 2021 -0800
+++ b/contrib/automation/hgautomation/linux.py Fri Jan 29 17:32:09 2021 +0530
@@ -75,7 +75,7 @@
sudo -H -u hg -g hg /home/hg/.cargo/bin/rustup install 1.31.1 1.46.0
sudo -H -u hg -g hg /home/hg/.cargo/bin/rustup component add clippy
-sudo -H -u hg -g hg /home/hg/.cargo/bin/cargo install --version 0.9.0 pyoxidizer
+sudo -H -u hg -g hg /home/hg/.cargo/bin/cargo install --version 0.10.3 pyoxidizer
'''
diff -r 892eb7c5edaa -r 16c18d5e5dc8 contrib/heptapod-ci.yml
--- a/contrib/heptapod-ci.yml Thu Jan 28 00:14:15 2021 -0800
+++ b/contrib/heptapod-ci.yml Fri Jan 29 17:32:09 2021 +0530
@@ -16,8 +16,6 @@
before_script:
- hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
- hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
- - cd /tmp/mercurial-ci/rust/rhg
- - cargo build
- cd /tmp/mercurial-ci/
- ls -1 tests/test-check-*.* > /tmp/check-tests.txt
- black --version
@@ -27,6 +25,17 @@
- echo "$RUNTEST_ARGS"
- HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS
+
+.rust_template: &rust
+ before_script:
+ - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
+ - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
+ - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
+ - cd /tmp/mercurial-ci/rust/rhg
+ - cargo build
+ - cd /tmp/mercurial-ci/
+
+
checks-py2:
<<: *runtests
variables:
@@ -83,6 +92,7 @@
test-py2-rust:
<<: *runtests
+ <<: *rust
variables:
HGWITHRUSTEXT: cpython
RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
@@ -90,6 +100,7 @@
test-py3-rust:
<<: *runtests
+ <<: *rust
variables:
HGWITHRUSTEXT: cpython
RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
diff -r 892eb7c5edaa -r 16c18d5e5dc8 contrib/install-windows-dependencies.ps1
--- a/contrib/install-windows-dependencies.ps1 Thu Jan 28 00:14:15 2021 -0800
+++ b/contrib/install-windows-dependencies.ps1 Fri Jan 29 17:32:09 2021 +0530
@@ -125,7 +125,7 @@
Invoke-Process "${prefix}\cargo\bin\rustup.exe" "component add clippy"
# Install PyOxidizer for packaging.
- Invoke-Process "${prefix}\cargo\bin\cargo.exe" "install --version 0.9.0 pyoxidizer"
+ Invoke-Process "${prefix}\cargo\bin\cargo.exe" "install --version 0.10.3 pyoxidizer"
}
function Install-Dependencies($prefix) {
diff -r 892eb7c5edaa -r 16c18d5e5dc8 contrib/packaging/debian/copyright
--- a/contrib/packaging/debian/copyright Thu Jan 28 00:14:15 2021 -0800
+++ b/contrib/packaging/debian/copyright Fri Jan 29 17:32:09 2021 +0530
@@ -3,7 +3,7 @@
Source: https://www.mercurial-scm.org/
Files: *
-Copyright: 2005-2020, Matt Mackall and others.
+Copyright: 2005-2021, 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 892eb7c5edaa -r 16c18d5e5dc8 contrib/packaging/hgpackaging/inno.py
--- a/contrib/packaging/hgpackaging/inno.py Thu Jan 28 00:14:15 2021 -0800
+++ b/contrib/packaging/hgpackaging/inno.py Fri Jan 29 17:32:09 2021 +0530
@@ -33,6 +33,11 @@
'win32ctypes',
}
+EXTRA_INCLUDES = {
+ '_curses',
+ '_curses_panel',
+}
+
EXTRA_INSTALL_RULES = [
('contrib/win32/mercurial.ini', 'defaultrc/mercurial.rc'),
]
@@ -78,6 +83,7 @@
'inno',
requirements_txt,
extra_packages=EXTRA_PACKAGES,
+ extra_includes=EXTRA_INCLUDES,
)
# Purge the staging directory for every build so packaging is
diff -r 892eb7c5edaa -r 16c18d5e5dc8 contrib/packaging/hgpackaging/py2exe.py
--- a/contrib/packaging/hgpackaging/py2exe.py Thu Jan 28 00:14:15 2021 -0800
+++ b/contrib/packaging/hgpackaging/py2exe.py Fri Jan 29 17:32:09 2021 +0530
@@ -67,6 +67,7 @@
extra_excludes=None,
extra_dll_excludes=None,
extra_packages_script=None,
+ extra_includes=None,
):
"""Build Mercurial with py2exe.
@@ -176,6 +177,8 @@
)
if hgext3rd_extras:
env['HG_PY2EXE_EXTRA_INSTALL_PACKAGES'] = ' '.join(hgext3rd_extras)
+ if extra_includes:
+ env['HG_PY2EXE_EXTRA_INCLUDES'] = ' '.join(sorted(extra_includes))
if extra_excludes:
env['HG_PY2EXE_EXTRA_EXCLUDES'] = ' '.join(sorted(extra_excludes))
if extra_dll_excludes:
diff -r 892eb7c5edaa -r 16c18d5e5dc8 contrib/packaging/hgpackaging/wix.py
--- a/contrib/packaging/hgpackaging/wix.py Thu Jan 28 00:14:15 2021 -0800
+++ b/contrib/packaging/hgpackaging/wix.py Fri Jan 29 17:32:09 2021 +0530
@@ -39,6 +39,10 @@
'win32ctypes',
}
+EXTRA_INCLUDES = {
+ '_curses',
+ '_curses_panel',
+}
EXTRA_INSTALL_RULES = [
('contrib/packaging/wix/COPYING.rtf', 'COPYING.rtf'),
@@ -330,6 +334,7 @@
requirements_txt,
extra_packages=EXTRA_PACKAGES,
extra_packages_script=extra_packages_script,
+ extra_includes=EXTRA_INCLUDES,
)
build_dir = hg_build_dir / ('wix-%s' % arch)
diff -r 892eb7c5edaa -r 16c18d5e5dc8 contrib/packaging/inno/mercurial.iss
--- a/contrib/packaging/inno/mercurial.iss Thu Jan 28 00:14:15 2021 -0800
+++ b/contrib/packaging/inno/mercurial.iss Fri Jan 29 17:32:09 2021 +0530
@@ -6,7 +6,7 @@
#endif
[Setup]
-AppCopyright=Copyright 2005-2020 Matt Mackall and others
+AppCopyright=Copyright 2005-2021 Matt Mackall and others
AppName=Mercurial
AppVersion={#VERSION}
OutputBaseFilename=Mercurial-{#VERSION}{#SUFFIX}
@@ -29,7 +29,7 @@
DefaultDirName={pf}\Mercurial
SourceDir=stage
VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
-VersionInfoCopyright=Copyright 2005-2020 Matt Mackall and others
+VersionInfoCopyright=Copyright 2005-2021 Matt Mackall and others
VersionInfoCompany=Matt Mackall and others
VersionInfoVersion={#QUAD_VERSION}
InternalCompressLevel=max
diff -r 892eb7c5edaa -r 16c18d5e5dc8 contrib/packaging/wix/COPYING.rtf
Binary file contrib/packaging/wix/COPYING.rtf has changed
diff -r 892eb7c5edaa -r 16c18d5e5dc8 contrib/win32/ReadMe.html
--- a/contrib/win32/ReadMe.html Thu Jan 28 00:14:15 2021 -0800
+++ b/contrib/win32/ReadMe.html Fri Jan 29 17:32:09 2021 +0530
@@ -140,7 +140,7 @@
- Mercurial is Copyright 2005-2020 Matt Mackall and others.
+ Mercurial is Copyright 2005-2021 Matt Mackall and others.
diff -r 892eb7c5edaa -r 16c18d5e5dc8 mercurial/commands.py
--- a/mercurial/commands.py Thu Jan 28 00:14:15 2021 -0800
+++ b/mercurial/commands.py Fri Jan 29 17:32:09 2021 +0530
@@ -7809,7 +7809,7 @@
)
license = _(
b"(see https://mercurial-scm.org for more information)\n"
- b"\nCopyright (C) 2005-2020 Matt Mackall and others\n"
+ b"\nCopyright (C) 2005-2021 Matt Mackall and others\n"
b"This is free software; see the source for copying conditions. "
b"There is NO\nwarranty; "
b"not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
diff -r 892eb7c5edaa -r 16c18d5e5dc8 mercurial/helptext/config.txt
--- a/mercurial/helptext/config.txt Thu Jan 28 00:14:15 2021 -0800
+++ b/mercurial/helptext/config.txt Fri Jan 29 17:32:09 2021 +0530
@@ -147,14 +147,12 @@
merge tool configuration but packagers can also put other default configuration
there.
-.. container:: verbose
-
- On versions 5.7 and later, if share-safe functionality is enabled,
- shares will read config file of share source too.
- `` is read before reading ``.
-
- For configs which should not be shared, ``
- should be used.
+On versions 5.7 and later, if share-safe functionality is enabled,
+shares will read config file of share source too.
+`` is read before reading ``.
+
+For configs which should not be shared, ``
+should be used.
Syntax
======
@@ -915,8 +913,27 @@
Disabled by default.
``use-share-safe``
- Enable or disable the "share-safe" functionality, which enables shares
- to read requirements and configuration of its source repository.
+ Enforce "safe" behaviors for all "shares" that access this repository.
+
+ With this feature, "shares" using this repository as a source will:
+
+ * read the source repository's configuration (`/.hg/hgrc`).
+ * read and use the source repository's "requirements"
+ (except the working copy specific one).
+
+ Without this feature, "shares" using this repository as a source will:
+
+ * keep tracking the repository "requirements" in the share only, ignoring
+ the source "requirements", possibly diverging from them.
+ * ignore source repository config. This can create problems, like silently
+ ignoring important hooks.
+
+ Beware that existing shares will not be upgraded/downgraded, and by
+ default, Mercurial will refuse to interact with them until the mismatch
+ is resolved. See :hg:`help config share.safe-mismatch.source-safe` and
+ :hg:`help config share.safe-mismatch.source-not-safe` for details.
+
+ Introduced in Mercurial 5.7.
Disabled by default.
@@ -1959,6 +1976,14 @@
tries to upgrade the share; if it fails, continue by
respecting the share source setting
+ Check :hg:`help config format.use-share-safe` for details about the
+ share-safe feature.
+
+``safe-mismatch.source-safe.warn``
+ Shows a warning on operations if the shared repository does not use
+ share-safe, but the source repository does.
+ (default: True)
+
``safe-mismatch.source-not-safe``
Controls what happens when the shared repository uses the share-safe
@@ -1977,11 +2002,8 @@
tries to downgrade the share to not use share-safe;
if it fails, continue by respecting the shared source setting
-
-``safe-mismatch.source-safe.warn``
- Shows a warning on operations if the shared repository does not use
- share-safe, but the source repository does.
- (default: True)
+ Check :hg:`help config format.use-share-safe` for details about the
+ share-safe feature.
``safe-mismatch.source-not-safe.warn``
Shows a warning on operations if the shared repository uses share-safe,
diff -r 892eb7c5edaa -r 16c18d5e5dc8 mercurial/helptext/hg.1.txt
--- a/mercurial/helptext/hg.1.txt Thu Jan 28 00:14:15 2021 -0800
+++ b/mercurial/helptext/hg.1.txt Fri Jan 29 17:32:09 2021 +0530
@@ -112,7 +112,7 @@
Copying
"""""""
-Copyright (C) 2005-2020 Matt Mackall.
+Copyright (C) 2005-2021 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 892eb7c5edaa -r 16c18d5e5dc8 mercurial/helptext/hgignore.5.txt
--- a/mercurial/helptext/hgignore.5.txt Thu Jan 28 00:14:15 2021 -0800
+++ b/mercurial/helptext/hgignore.5.txt Fri Jan 29 17:32:09 2021 +0530
@@ -26,7 +26,7 @@
Copying
=======
This manual page is copyright 2006 Vadim Gelfer.
-Mercurial is copyright 2005-2020 Matt Mackall.
+Mercurial is copyright 2005-2021 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 892eb7c5edaa -r 16c18d5e5dc8 mercurial/helptext/hgrc.5.txt
--- a/mercurial/helptext/hgrc.5.txt Thu Jan 28 00:14:15 2021 -0800
+++ b/mercurial/helptext/hgrc.5.txt Fri Jan 29 17:32:09 2021 +0530
@@ -34,7 +34,7 @@
Copying
=======
This manual page is copyright 2005 Bryan O'Sullivan.
-Mercurial is copyright 2005-2020 Matt Mackall.
+Mercurial is copyright 2005-2021 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 892eb7c5edaa -r 16c18d5e5dc8 mercurial/helptext/internals/requirements.txt
--- a/mercurial/helptext/internals/requirements.txt Thu Jan 28 00:14:15 2021 -0800
+++ b/mercurial/helptext/internals/requirements.txt Fri Jan 29 17:32:09 2021 +0530
@@ -131,7 +131,7 @@
directory.
bookmarksinstore
-==================
+================
Bookmarks are stored in ``.hg/store/`` instead of directly in ``.hg/``
where they used to be stored. The active bookmark is still stored
@@ -156,8 +156,8 @@
benefit from a speedup. The other installations will do the necessary work to
keep the index up to date, but will suffer a slowdown.
-exp-sharesafe
-=============
+share-safe
+==========
Represents that the repository can be shared safely. Requirements and config of
the source repository will be shared.
diff -r 892eb7c5edaa -r 16c18d5e5dc8 mercurial/localrepo.py
--- a/mercurial/localrepo.py Thu Jan 28 00:14:15 2021 -0800
+++ b/mercurial/localrepo.py Fri Jan 29 17:32:09 2021 +0530
@@ -568,6 +568,7 @@
# repository was shared the old way. We check the share source .hg/requires
# for SHARESAFE_REQUIREMENT to detect whether the current repository needs
# to be reshared
+ hint = _("see `hg help config.format.use-share-safe` for more information")
if requirementsmod.SHARESAFE_REQUIREMENT in requirements:
if (
@@ -599,14 +600,10 @@
)
elif mismatch_config == b'abort':
raise error.Abort(
- _(
- b"share source does not support exp-sharesafe requirement"
- )
+ _(b"share source does not support share-safe requirement"),
+ hint=hint,
)
else:
- hint = _(
- "run `hg help config.share.safe-mismatch.source-not-safe`"
- )
raise error.Abort(
_(
b"share-safe mismatch with source.\nUnrecognized"
@@ -646,10 +643,10 @@
_(
b'version mismatch: source uses share-safe'
b' functionality while the current share does not'
- )
+ ),
+ hint=hint,
)
else:
- hint = _("run `hg help config.share.safe-mismatch.source-safe`")
raise error.Abort(
_(
b"share-safe mismatch with source.\nUnrecognized"
diff -r 892eb7c5edaa -r 16c18d5e5dc8 mercurial/upgrade.py
--- a/mercurial/upgrade.py Thu Jan 28 00:14:15 2021 -0800
+++ b/mercurial/upgrade.py Fri Jan 29 17:32:09 2021 +0530
@@ -277,15 +277,20 @@
scmutil.writerequires(hgvfs, diffrequires)
ui.warn(_(b'repository upgraded to use share-safe mode\n'))
except error.LockError as e:
+ hint = _(
+ "see `hg help config.format.use-share-safe` for more information"
+ )
if mismatch_config == b'upgrade-abort':
raise error.Abort(
_(b'failed to upgrade share, got error: %s')
- % stringutil.forcebytestr(e.strerror)
+ % stringutil.forcebytestr(e.strerror),
+ hint=hint,
)
elif mismatch_warn:
ui.warn(
_(b'failed to upgrade share, got error: %s\n')
- % stringutil.forcebytestr(e.strerror)
+ % stringutil.forcebytestr(e.strerror),
+ hint=hint,
)
finally:
if wlock:
@@ -329,17 +334,22 @@
scmutil.writerequires(hgvfs, current_requirements)
ui.warn(_(b'repository downgraded to not use share-safe mode\n'))
except error.LockError as e:
+ hint = _(
+ "see `hg help config.format.use-share-safe` for more information"
+ )
# If upgrade-abort is set, abort when upgrade fails, else let the
# process continue as `upgrade-allow` is set
if mismatch_config == b'downgrade-abort':
raise error.Abort(
_(b'failed to downgrade share, got error: %s')
- % stringutil.forcebytestr(e.strerror)
+ % stringutil.forcebytestr(e.strerror),
+ hint=hint,
)
elif mismatch_warn:
ui.warn(
_(b'failed to downgrade share, got error: %s\n')
- % stringutil.forcebytestr(e.strerror)
+ % stringutil.forcebytestr(e.strerror),
+ hint=hint,
)
finally:
if wlock:
diff -r 892eb7c5edaa -r 16c18d5e5dc8 rust/hg-cpython/src/cindex.rs
--- a/rust/hg-cpython/src/cindex.rs Thu Jan 28 00:14:15 2021 -0800
+++ b/rust/hg-cpython/src/cindex.rs Fri Jan 29 17:32:09 2021 +0530
@@ -16,7 +16,7 @@
};
use hg::revlog::{Node, RevlogIndex};
use hg::{Graph, GraphError, Revision, WORKING_DIRECTORY_REVISION};
-use libc::c_int;
+use libc::{c_int, ssize_t};
const REVLOG_CABI_VERSION: c_int = 2;
@@ -24,10 +24,10 @@
pub struct Revlog_CAPI {
abi_version: c_int,
index_length:
- unsafe extern "C" fn(index: *mut revlog_capi::RawPyObject) -> c_int,
+ unsafe extern "C" fn(index: *mut revlog_capi::RawPyObject) -> ssize_t,
index_node: unsafe extern "C" fn(
index: *mut revlog_capi::RawPyObject,
- rev: c_int,
+ rev: ssize_t,
) -> *const Node,
index_parents: unsafe extern "C" fn(
index: *mut revlog_capi::RawPyObject,
@@ -157,7 +157,7 @@
fn node(&self, rev: Revision) -> Option<&Node> {
let raw = unsafe {
- (self.capi.index_node)(self.index.as_ptr(), rev as c_int)
+ (self.capi.index_node)(self.index.as_ptr(), rev as ssize_t)
};
if raw.is_null() {
None
diff -r 892eb7c5edaa -r 16c18d5e5dc8 setup.py
--- a/setup.py Thu Jan 28 00:14:15 2021 -0800
+++ b/setup.py Fri Jan 29 17:32:09 2021 +0530
@@ -1700,6 +1700,8 @@
'mercurial.pure',
]
+py2exe_includes = []
+
py2exeexcludes = []
py2exedllexcludes = ['crypt32.dll']
@@ -1710,7 +1712,7 @@
extra['console'] = [
{
'script': 'hg',
- 'copyright': 'Copyright (C) 2005-2020 Matt Mackall and others',
+ 'copyright': 'Copyright (C) 2005-2021 Matt Mackall and others',
'product_version': version,
}
]
@@ -1728,6 +1730,10 @@
if extrapackages:
py2exepackages.extend(extrapackages.split(' '))
+ extra_includes = os.environ.get('HG_PY2EXE_EXTRA_INCLUDES')
+ if extra_includes:
+ py2exe_includes.extend(extra_includes.split(' '))
+
excludes = os.environ.get('HG_PY2EXE_EXTRA_EXCLUDES')
if excludes:
py2exeexcludes.extend(excludes.split(' '))
@@ -1827,6 +1833,7 @@
'py2exe': {
'bundle_files': 3,
'dll_excludes': py2exedllexcludes,
+ 'includes': py2exe_includes,
'excludes': py2exeexcludes,
'packages': py2exepackages,
},
diff -r 892eb7c5edaa -r 16c18d5e5dc8 tests/test-lfs-test-server.t
--- a/tests/test-lfs-test-server.t Thu Jan 28 00:14:15 2021 -0800
+++ b/tests/test-lfs-test-server.t Fri Jan 29 17:32:09 2021 +0530
@@ -420,7 +420,10 @@
TODO: give the proper error indication from `hg serve`
- $ hg --repo ../repo1 update -C tip --debug
+TODO: reconsider the except base class so that the git and hg errors yield the
+same exit status.
+
+ $ hg --repo ../repo1 update -C tip --debug --config ui.detailed-exit-code=False
http auth: user foo, password ***
resolving manifests
branchmerge: False, force: True, partial: False
@@ -460,7 +463,7 @@
Date: $HTTP_DATE$ (git-server !)
abort: corrupt remote lfs object: d11e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 (git-server !)
abort: LFS server error for "c": Validation error (hg-server !)
- [50]
+ [255]
The corrupted blob is not added to the usercache or local store
diff -r 892eb7c5edaa -r 16c18d5e5dc8 tests/test-persistent-nodemap.t
--- a/tests/test-persistent-nodemap.t Thu Jan 28 00:14:15 2021 -0800
+++ b/tests/test-persistent-nodemap.t Fri Jan 29 17:32:09 2021 +0530
@@ -31,6 +31,23 @@
#endif
+#if rust
+
+Regression test for a previous bug in Rust/C FFI for the `Revlog_CAPI` capsule:
+in places where `mercurial/cext/revlog.c` function signatures use `Py_ssize_t`
+(64 bits on Linux x86_64), corresponding declarations in `rust/hg-cpython/src/cindex.rs`
+incorrectly used `libc::c_int` (32 bits).
+As a result, -1 passed from Rust for the null revision became 4294967295 in C.
+
+ $ hg log -r 00000000
+ changeset: -1:000000000000
+ tag: tip
+ user:
+ date: Thu Jan 01 00:00:00 1970 +0000
+
+
+#endif
+
$ hg debugformat
format-variant repo
diff -r 892eb7c5edaa -r 16c18d5e5dc8 tests/test-share-safe.t
--- a/tests/test-share-safe.t Thu Jan 28 00:14:15 2021 -0800
+++ b/tests/test-share-safe.t Fri Jan 29 17:32:09 2021 +0530
@@ -405,6 +405,7 @@
$ hg log -GT "{node}: {desc}\n" -R ../nss-share
abort: version mismatch: source uses share-safe functionality while the current share does not
+ (see `hg help config.format.use-share-safe` for more information)
[255]
@@ -495,7 +496,8 @@
$ hg log -GT "{node}: {desc}\n" -R ../ss-share
- abort: share source does not support exp-sharesafe requirement
+ abort: share source does not support share-safe requirement
+ (see `hg help config.format.use-share-safe` for more information)
[255]
Testing automatic downgrade of shares when config is set
@@ -503,6 +505,7 @@
$ touch ../ss-share/.hg/wlock
$ hg log -GT "{node}: {desc}\n" -R ../ss-share --config share.safe-mismatch.source-not-safe=downgrade-abort
abort: failed to downgrade share, got error: Lock held
+ (see `hg help config.format.use-share-safe` for more information)
[255]
$ rm ../ss-share/.hg/wlock
@@ -545,13 +548,14 @@
store
$ hg log -GT "{node}: {desc}\n" -R ../nss-share
abort: version mismatch: source uses share-safe functionality while the current share does not
+ (see `hg help config.format.use-share-safe` for more information)
[255]
Check that if lock is taken, upgrade fails but read operation are successful
$ hg log -GT "{node}: {desc}\n" -R ../nss-share --config share.safe-mismatch.source-safe=upgra
abort: share-safe mismatch with source.
Unrecognized value 'upgra' of `share.safe-mismatch.source-safe` set.
- (run `hg help config.share.safe-mismatch.source-safe`)
+ (see `hg help config.format.use-share-safe` for more information)
[255]
$ touch ../nss-share/.hg/wlock
$ hg log -GT "{node}: {desc}\n" -R ../nss-share --config share.safe-mismatch.source-safe=upgrade-allow
@@ -569,6 +573,7 @@
$ hg log -GT "{node}: {desc}\n" -R ../nss-share --config share.safe-mismatch.source-safe=upgrade-abort
abort: failed to upgrade share, got error: Lock held
+ (see `hg help config.format.use-share-safe` for more information)
[255]
$ rm ../nss-share/.hg/wlock
diff -r 892eb7c5edaa -r 16c18d5e5dc8 tests/test-wireproto-exchangev2-shallow.t
--- a/tests/test-wireproto-exchangev2-shallow.t Thu Jan 28 00:14:15 2021 -0800
+++ b/tests/test-wireproto-exchangev2-shallow.t Fri Jan 29 17:32:09 2021 +0530
@@ -100,10 +100,15 @@
received frame(size=1170; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 3390ef850073
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset b709380892b1
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 47fe012ab237
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 97765fc3cd62
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset dc666cf9ecf3
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 93a8bd067ed2
received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
checking for updated bookmarks
@@ -269,10 +274,15 @@
received frame(size=1170; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 3390ef850073
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset b709380892b1
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 47fe012ab237
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 97765fc3cd62
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset dc666cf9ecf3
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 93a8bd067ed2
received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
checking for updated bookmarks
@@ -407,8 +417,11 @@
received frame(size=783; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 3390ef850073
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset b709380892b1
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 47fe012ab237
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 97765fc3cd62
received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
checking for updated bookmarks
@@ -522,6 +535,7 @@
received frame(size=400; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset dc666cf9ecf3
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
add changeset 93a8bd067ed2
received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
checking for updated bookmarks