diff --git a/.hgsigs b/.hgsigs --- a/.hgsigs +++ b/.hgsigs @@ -194,3 +194,4 @@ e4344e463c0c888a2f437b78b5982ecdf3f6650a 7f5410dfc8a64bb587d19637deb95d378fd1eb5c 0 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 diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -207,3 +207,4 @@ e4344e463c0c888a2f437b78b5982ecdf3f6650a 7f5410dfc8a64bb587d19637deb95d378fd1eb5c 5.3 6d121acbb82e65fe4dd3c2318a1b61981b958492 5.3.1 8fca7e8449a847e3cf1054f2c07b51237699fad3 5.3.2 +26ce8e7515036d3431a03aaeb7bc72dd96cb1112 5.4rc0 diff --git a/contrib/automation/hgautomation/aws.py b/contrib/automation/hgautomation/aws.py --- a/contrib/automation/hgautomation/aws.py +++ b/contrib/automation/hgautomation/aws.py @@ -59,7 +59,7 @@ DEBIAN_ACCOUNT_ID_2 = '136693071363' UBUNTU_ACCOUNT_ID = '099720109477' -WINDOWS_BASE_IMAGE_NAME = 'Windows_Server-2019-English-Full-Base-2019.11.13' +WINDOWS_BASE_IMAGE_NAME = 'Windows_Server-2019-English-Full-Base-*' KEY_PAIRS = { @@ -464,7 +464,7 @@ def ensure_iam_state(iamclient, iamresou profile.add_role(RoleName=role) -def find_image(ec2resource, owner_id, name): +def find_image(ec2resource, owner_id, name, reverse_sort_field=None): """Find an AMI by its owner ID and name.""" images = ec2resource.images.filter( @@ -476,6 +476,13 @@ def find_image(ec2resource, owner_id, na ] ) + if reverse_sort_field: + images = sorted( + images, + key=lambda image: getattr(image, reverse_sort_field), + reverse=True, + ) + for image in images: return image @@ -1059,7 +1066,7 @@ def temporary_linux_dev_instances( def ensure_windows_dev_ami( - c: AWSConnection, prefix='hg-', base_image_name=WINDOWS_BASE_IMAGE_NAME + c: AWSConnection, prefix='hg-', base_image_name=WINDOWS_BASE_IMAGE_NAME, ): """Ensure Windows Development AMI is available and up-to-date. @@ -1078,7 +1085,12 @@ def ensure_windows_dev_ami( name = '%s%s' % (prefix, 'windows-dev') - image = find_image(ec2resource, AMAZON_ACCOUNT_ID, base_image_name) + image = find_image( + ec2resource, + AMAZON_ACCOUNT_ID, + base_image_name, + reverse_sort_field="name", + ) config = { 'BlockDeviceMappings': [ diff --git a/contrib/automation/hgautomation/linux.py b/contrib/automation/hgautomation/linux.py --- a/contrib/automation/hgautomation/linux.py +++ b/contrib/automation/hgautomation/linux.py @@ -26,11 +26,11 @@ DISTROS = { INSTALL_PYTHONS = r''' PYENV2_VERSIONS="2.7.17 pypy2.7-7.2.0" -PYENV3_VERSIONS="3.5.7 3.6.9 3.7.5 3.8.0 pypy3.5-7.0.0 pypy3.6-7.2.0" +PYENV3_VERSIONS="3.5.9 3.6.10 3.7.7 3.8.2 pypy3.5-7.0.0 pypy3.6-7.3.0" git clone https://github.com/pyenv/pyenv.git /hgdev/pyenv pushd /hgdev/pyenv -git checkout 0e7cfc3b3d4eca46ad83d632e1505f5932cd179b +git checkout 3005c4664372ae13fbe376be699313eb428c8bdd popd export PYENV_ROOT="/hgdev/pyenv" diff --git a/contrib/install-windows-dependencies.ps1 b/contrib/install-windows-dependencies.ps1 --- a/contrib/install-windows-dependencies.ps1 +++ b/contrib/install-windows-dependencies.ps1 @@ -22,10 +22,10 @@ $VC9_PYTHON_URL = "https://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59FBF6D907B/VCForPython27.msi" $VC9_PYTHON_SHA256 = "070474db76a2e625513a5835df4595df9324d820f9cc97eab2a596dcbc2f5cbf" -$PYTHON27_x64_URL = "https://www.python.org/ftp/python/2.7.17/python-2.7.17.amd64.msi" -$PYTHON27_x64_SHA256 = "3b934447e3620e51d2daf5b2f258c9b617bcc686ca2f777a49aa3b47893abf1b" -$PYTHON27_X86_URL = "https://www.python.org/ftp/python/2.7.17/python-2.7.17.msi" -$PYTHON27_X86_SHA256 = "a4e3a321517c6b0c2693d6f712a0d18c82600b3d0c759c299b3d14384a17f863" +$PYTHON27_x64_URL = "https://www.python.org/ftp/python/2.7.18/python-2.7.18.amd64.msi" +$PYTHON27_x64_SHA256 = "b74a3afa1e0bf2a6fc566a7b70d15c9bfabba3756fb077797d16fffa27800c05" +$PYTHON27_X86_URL = "https://www.python.org/ftp/python/2.7.18/python-2.7.18.msi" +$PYTHON27_X86_SHA256 = "d901802e90026e9bad76b8a81f8dd7e43c7d7e8269d9281c9e9df7a9c40480a9" $PYTHON35_x86_URL = "https://www.python.org/ftp/python/3.5.4/python-3.5.4.exe" $PYTHON35_x86_SHA256 = "F27C2D67FD9688E4970F3BFF799BB9D722A0D6C2C13B04848E1F7D620B524B0E" @@ -37,15 +37,15 @@ $PYTHON36_x64_URL = "https://www.python.org/ftp/python/3.6.8/python-3.6.8-amd64.exe" $PYTHON36_x64_SHA256 = "96088A58B7C43BC83B84E6B67F15E8706C614023DD64F9A5A14E81FF824ADADC" -$PYTHON37_x86_URL = "https://www.python.org/ftp/python/3.7.5/python-3.7.5.exe" -$PYTHON37_x86_SHA256 = "3c2ae8f72b48e6e0c2b482206e322bf5d0344ff91abc3b3c200cec9e275c7168" -$PYTHON37_X64_URL = "https://www.python.org/ftp/python/3.7.5/python-3.7.5-amd64.exe" -$PYTHON37_x64_SHA256 = "f3d60c127e7a92ed547efa3321bf70cd96b75c53bf4b903147015257c1314981" +$PYTHON37_x86_URL = "https://www.python.org/ftp/python/3.7.7/python-3.7.7.exe" +$PYTHON37_x86_SHA256 = "27fbffcd342d5055acc64050db4c35d0025661521e642b59c381dcba2e162c6a" +$PYTHON37_X64_URL = "https://www.python.org/ftp/python/3.7.7/python-3.7.7-amd64.exe" +$PYTHON37_x64_SHA256 = "1a0368663ceff999d865de955992b6ea3cb0c8cb15a1a296a8eb7df19cc59e69" -$PYTHON38_x86_URL = "https://www.python.org/ftp/python/3.8.0/python-3.8.0.exe" -$PYTHON38_x86_SHA256 = "b471908de5e10d8fb5c3351a5affb1172da7790c533e0c9ffbaeec9c11611b15" -$PYTHON38_x64_URL = "https://www.python.org/ftp/python/3.8.0/python-3.8.0-amd64.exe" -$PYTHON38_x64_SHA256 = "a9bbc6088a3e4c7112826e21bfee6277f7b6d93259f7c57176139231bb7071e4" +$PYTHON38_x86_URL = "https://www.python.org/ftp/python/3.8.2/python-3.8.2.exe" +$PYTHON38_x86_SHA256 = "03ac5754a69c9c11c08d1f4d694c14625a4d27348ad4dd2d1253e2547819db2c" +$PYTHON38_x64_URL = "https://www.python.org/ftp/python/3.8.2/python-3.8.2-amd64.exe" +$PYTHON38_x64_SHA256 = "8e400e3f32cdcb746e62e0db4d3ae4cba1f927141ebc4d0d5a4006b0daee8921" # PIP 19.2.3. $PIP_URL = "https://github.com/pypa/get-pip/raw/309a56c5fd94bd1134053a541cb4657a4e47e09d/get-pip.py" diff --git a/contrib/packaging/requirements.txt b/contrib/packaging/requirements.txt --- a/contrib/packaging/requirements.txt +++ b/contrib/packaging/requirements.txt @@ -4,21 +4,29 @@ # # pip-compile --generate-hashes --output-file=contrib/packaging/requirements.txt contrib/packaging/requirements.txt.in # -jinja2==2.10.3 \ - --hash=sha256:74320bb91f31270f9551d46522e33af46a80c3d619f4a4bf42b3164d30b5911f \ - --hash=sha256:9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de +docutils==0.16 \ + --hash=sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af \ + --hash=sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc \ + # via -r contrib/packaging/requirements.txt.in +jinja2==2.11.2 \ + --hash=sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0 \ + --hash=sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035 \ + # via -r contrib/packaging/requirements.txt.in markupsafe==1.1.1 \ --hash=sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473 \ --hash=sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161 \ --hash=sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235 \ --hash=sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5 \ + --hash=sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42 \ --hash=sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff \ --hash=sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b \ --hash=sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1 \ --hash=sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e \ --hash=sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183 \ --hash=sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66 \ + --hash=sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b \ --hash=sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1 \ + --hash=sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15 \ --hash=sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1 \ --hash=sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e \ --hash=sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b \ @@ -35,5 +43,7 @@ markupsafe==1.1.1 \ --hash=sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6 \ --hash=sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f \ --hash=sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f \ + --hash=sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2 \ --hash=sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7 \ + --hash=sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be \ # via jinja2 diff --git a/contrib/packaging/requirements.txt.in b/contrib/packaging/requirements.txt.in --- a/contrib/packaging/requirements.txt.in +++ b/contrib/packaging/requirements.txt.in @@ -1,1 +1,2 @@ +docutils jinja2 diff --git a/mercurial/discovery.py b/mercurial/discovery.py --- a/mercurial/discovery.py +++ b/mercurial/discovery.py @@ -67,6 +67,10 @@ def findcommonincoming(repo, remote, hea ancestorsof=ancestorsof, ) common, anyinc, srvheads = res + if heads and not anyinc: + # server could be lying on the advertised heads + has_node = repo.changelog.hasnode + anyinc = any(not has_node(n) for n in heads) return (list(common), anyinc, heads or list(srvheads)) diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py --- a/mercurial/revlogutils/nodemap.py +++ b/mercurial/revlogutils/nodemap.py @@ -112,6 +112,11 @@ def update_persistent_nodemap(revlog): To be used for updating the nodemap on disk outside of a normal transaction setup (eg, `debugupdatecache`). """ + if revlog._inline: + return # inlined revlog are too small for this to be relevant + if revlog.nodemap_file is None: + return # we do not use persistent_nodemap on this revlog + notr = _NoTransaction() _persist_nodemap(notr, revlog) for k in sorted(notr._postclose): diff --git a/mercurial/upgrade.py b/mercurial/upgrade.py --- a/mercurial/upgrade.py +++ b/mercurial/upgrade.py @@ -628,14 +628,12 @@ def determineactions(repo, deficiencies, """ newactions = [] - knownreqs = supporteddestrequirements(repo) - for d in deficiencies: - name = d.name + name = d._requirement # If the action is a requirement that doesn't show up in the # destination requirements, prune the action. - if name in knownreqs and name not in destreqs: + if name is not None and name not in destreqs: continue newactions.append(d) diff --git a/rust/hg-core/src/dirstate/status.rs b/rust/hg-core/src/dirstate/status.rs --- a/rust/hg-core/src/dirstate/status.rs +++ b/rust/hg-core/src/dirstate/status.rs @@ -307,7 +307,6 @@ pub struct StatusOptions { /// Dispatch a single entry (file, folder, symlink...) found during `traverse`. /// If the entry is a folder that needs to be traversed, it will be handled /// in a separate thread. - fn handle_traversed_entry<'a>( scope: &rayon::Scope<'a>, files_sender: &'a crossbeam::Sender>, @@ -324,6 +323,11 @@ fn handle_traversed_entry<'a>( let file_type = dir_entry.file_type()?; let entry_option = dmap.get(&filename); + if filename.as_bytes() == b".hg" { + // Could be a directory or a symlink + return Ok(()); + } + if file_type.is_dir() { handle_traversed_dir( scope, @@ -447,9 +451,7 @@ fn traverse_dir<'a>( options: StatusOptions, ) -> IoResult<()> { let directory = directory.as_ref(); - if directory.as_bytes() == b".hg" { - return Ok(()); - } + let visit_entries = match matcher.visit_children_set(directory) { VisitChildrenSet::Empty => return Ok(()), VisitChildrenSet::This | VisitChildrenSet::Recursive => None, diff --git a/setup.py b/setup.py --- a/setup.py +++ b/setup.py @@ -890,7 +890,8 @@ class hgbuilddoc(Command): ) if res: raise SystemExit( - 'error running gendoc.py: %s' % '\n'.join([out, err]) + 'error running gendoc.py: %s' + % '\n'.join([sysstr(out), sysstr(err)]) ) with open(txt, 'wb') as fh: @@ -907,7 +908,8 @@ class hgbuilddoc(Command): ) if res: raise SystemExit( - 'error running gendoc: %s' % '\n'.join([out, err]) + 'error running gendoc: %s' + % '\n'.join([sysstr(out), sysstr(err)]) ) with open(gendoc, 'wb') as fh: @@ -932,7 +934,8 @@ class hgbuilddoc(Command): ) if res: raise SystemExit( - 'error running runrst: %s' % '\n'.join([out, err]) + 'error running runrst: %s' + % '\n'.join([sysstr(out), sysstr(err)]) ) normalizecrlf('doc/%s' % root) @@ -957,7 +960,8 @@ class hgbuilddoc(Command): ) if res: raise SystemExit( - 'error running runrst: %s' % '\n'.join([out, err]) + 'error running runrst: %s' + % '\n'.join([sysstr(out), sysstr(err)]) ) normalizecrlf('doc/%s.html' % root) @@ -1313,6 +1317,9 @@ for plat, macro, code in [ if sys.platform == 'darwin': osutil_ldflags += ['-framework', 'ApplicationServices'] +if sys.platform == 'sunos5': + osutil_ldflags += ['-lsocket'] + xdiff_srcs = [ 'mercurial/thirdparty/xdiff/xdiffi.c', 'mercurial/thirdparty/xdiff/xprepare.c', diff --git a/tests/test-convert-hg-source.t b/tests/test-convert-hg-source.t --- a/tests/test-convert-hg-source.t +++ b/tests/test-convert-hg-source.t @@ -81,7 +81,7 @@ Make and delete some tags Different hash because no x bit $ hg bookmarks premerge1 3:973ef48a98a4 - premerge2 8:3537b15eaaca + premerge2 8:1cc21e701444 #endif Test that redoing a convert results in an identical graph diff --git a/tests/test-infinitepush-ci.t b/tests/test-infinitepush-ci.t --- a/tests/test-infinitepush-ci.t +++ b/tests/test-infinitepush-ci.t @@ -249,12 +249,12 @@ XXX: we should show better message when $ hg pull -r b4e4bce660512ad3e71189e14588a70ac8e31fef pulling from ssh://user@dummy/repo searching for changes - no changes found adding changesets adding manifests adding file changes added 4 changesets with 4 changes to 4 files new changesets eaba929e866c:b4e4bce66051 + (run 'hg update' to get a working copy) $ hg glog o 5:b4e4bce66051 added e | public diff --git a/tests/test-lfs-serve.t b/tests/test-lfs-serve.t --- a/tests/test-lfs-serve.t +++ b/tests/test-lfs-serve.t @@ -133,12 +133,6 @@ non-lfs content, and the extension enabl requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - beginning upgrade... repository locked and read-only creating temporary repository to stage migrated data: * (glob) diff --git a/tests/test-log.t b/tests/test-log.t --- a/tests/test-log.t +++ b/tests/test-log.t @@ -2334,10 +2334,10 @@ New namespace is registered per repo ins is global. So we shouldn't expect the namespace always exists. Using ssh:// makes sure a bundle repository is created from scratch. (issue6301) - $ hg clone -e "'$PYTHON' '$TESTDIR/dummyssh'" \ + $ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" \ > -qr0 "ssh://user@dummy/`pwd`/a" a-clone $ hg incoming --config extensions.names=names.py -R a-clone \ - > -e "'$PYTHON' '$TESTDIR/dummyssh'" -T '{bars}\n' -l1 + > -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" -T '{bars}\n' -l1 comparing with ssh://user@dummy/$TESTTMP/a searching for changes diff --git a/tests/test-status.t b/tests/test-status.t --- a/tests/test-status.t +++ b/tests/test-status.t @@ -672,3 +672,11 @@ using log status template, the copy info $ cd .. + +Make sure .hg doesn't show up even as a symlink + + $ hg init repo0 + $ mkdir symlink-repo0 + $ cd symlink-repo0 + $ ln -s ../repo0/.hg + $ hg status diff --git a/tests/test-upgrade-repo.t b/tests/test-upgrade-repo.t --- a/tests/test-upgrade-repo.t +++ b/tests/test-upgrade-repo.t @@ -159,12 +159,6 @@ An upgrade of a repository created with requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - additional optimizations are available by specifying "--optimize ": re-delta-parent @@ -189,12 +183,6 @@ An upgrade of a repository created with requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - re-delta-parent deltas within internal storage will choose a new base revision if needed @@ -219,12 +207,6 @@ modern form of the option requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - re-delta-parent deltas within internal storage will choose a new base revision if needed @@ -332,12 +314,6 @@ Various sub-optimal detections work sparserevlog Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server. - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - additional optimizations are available by specifying "--optimize ": re-delta-parent @@ -386,12 +362,6 @@ Various sub-optimal detections work sparserevlog Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server. - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - additional optimizations are available by specifying "--optimize ": re-delta-parent @@ -418,12 +388,6 @@ Upgrading a repository that is already m requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - beginning upgrade... repository locked and read-only creating temporary repository to stage migrated data: $TESTTMP/modern/.hg/upgrade.* (glob) @@ -475,12 +439,6 @@ make sure we have a .d file generaldelta repository storage will be able to create optimal deltas; new repository data will be smaller and read times should decrease; interacting with other repositories using this storage model should require less network and CPU resources, making "hg push" and "hg pull" faster - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - beginning upgrade... repository locked and read-only creating temporary repository to stage migrated data: $TESTTMP/upgradegd/.hg/upgrade.* (glob) @@ -577,12 +535,6 @@ unless --no-backup is passed sparserevlog Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server. - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - beginning upgrade... repository locked and read-only creating temporary repository to stage migrated data: $TESTTMP/upgradegd/.hg/upgrade.* (glob) @@ -617,12 +569,6 @@ We can restrict optimization to some rev requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - re-delta-parent deltas within internal storage will choose a new base revision if needed @@ -697,12 +643,6 @@ Check we can select negatively requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - re-delta-parent deltas within internal storage will choose a new base revision if needed @@ -749,12 +689,6 @@ Check that we can select changelog only requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - re-delta-parent deltas within internal storage will choose a new base revision if needed @@ -801,12 +735,6 @@ Check that we can select filelog only requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - re-delta-parent deltas within internal storage will choose a new base revision if needed @@ -858,12 +786,6 @@ Check you can't skip revlog clone during preserved: dotencode, fncache, generaldelta, revlogv1, store removed: sparserevlog - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - re-delta-parent deltas within internal storage will choose a new base revision if needed @@ -916,12 +838,6 @@ Check you can't skip revlog clone during sparserevlog Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server. - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - re-delta-parent deltas within internal storage will choose a new base revision if needed @@ -976,12 +892,6 @@ store files with special filenames aren' requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - beginning upgrade... repository locked and read-only creating temporary repository to stage migrated data: $TESTTMP/store-filenames/.hg/upgrade.* (glob) @@ -1013,12 +923,6 @@ store files with special filenames aren' requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - re-delta-fulladd each revision will be added as new content to the internal storage; this will likely drastically slow down execution time, but some extensions might need it @@ -1083,12 +987,6 @@ Check upgrading a large file repository requirements preserved: dotencode, fncache, generaldelta, largefiles, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - beginning upgrade... repository locked and read-only creating temporary repository to stage migrated data: $TESTTMP/largefilesrepo/.hg/upgrade.* (glob) @@ -1142,12 +1040,6 @@ Check upgrading a large file repository requirements preserved: dotencode, fncache, generaldelta, largefiles, lfs, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - beginning upgrade... repository locked and read-only creating temporary repository to stage migrated data: $TESTTMP/largefilesrepo/.hg/upgrade.* (glob) @@ -1243,12 +1135,6 @@ repository config is taken in account requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store - sidedata - Allows storage of extra data alongside a revision. - - copies-sdc - Allows to use more efficient algorithm to deal with copy tracing. - re-delta-all deltas within internal storage will be fully recomputed; this will likely drastically slow down execution time diff --git a/tests/testlib/wait-on-file b/tests/testlib/wait-on-file --- a/tests/testlib/wait-on-file +++ b/tests/testlib/wait-on-file @@ -13,7 +13,7 @@ timer="$1" # if the test timeout have been extended, explicitly extend the provided timer if [ "$HGTEST_TIMEOUT_DEFAULT" -lt "$HGTEST_TIMEOUT" ]; then - timer=$(( ($timer * $HGTEST_TIMEOUT) / $HGTEST_TIMEOUT_DEFAULT )) + timer=$(( ( 100 * $timer * $HGTEST_TIMEOUT) / $HGTEST_TIMEOUT_DEFAULT )) fi wait_on="$2"