Mercurial > public > mercurial-scm > hg-stable
changeset 53023:b12a4b9d09ce
branching: correct merge of stable into default
For unclear reason, b7afc38468bd dropped all the change to
"contrib/heptapod-ci.yml". This is the same merge as b7afc38468bd, but merging
heptapod-ci.yml change from stable too.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 28 Feb 2025 23:18:22 +0100 |
parents | bbbb12632607 (current diff) 9cf807501e27 (diff) |
children | 877c20982972 |
files | contrib/heptapod-ci.yml mercurial/commands.py mercurial/scmutil.py mercurial/ui.py setup.py |
diffstat | 20 files changed, 88 insertions(+), 64 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsigs Mon Dec 09 06:23:34 2024 +0100 +++ b/.hgsigs Fri Feb 28 23:18:22 2025 +0100 @@ -269,3 +269,4 @@ dc97e8670decc9925c2f570bdca636778184b199 0 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
--- a/.hgtags Mon Dec 09 06:23:34 2024 +0100 +++ b/.hgtags Fri Feb 28 23:18:22 2025 +0100 @@ -285,3 +285,4 @@ dc97e8670decc9925c2f570bdca636778184b199 6.9rc0 31d45a1cbc479ac73fc8b355abe99e090eb6c747 6.9rc1 b267c5764cc6b804c619a42067405f27e8705beb 6.9 +9751b9ccd74d8386687f88fbdfe280877840ec7d 6.9.1
--- a/contrib/heptapod-ci.yml Mon Dec 09 06:23:34 2024 +0100 +++ b/contrib/heptapod-ci.yml Fri Feb 28 23:18:22 2025 +0100 @@ -8,7 +8,7 @@ # has succeeded. workflow: rules: - - if: $CI_COMMIT_BRANCH =~ /^branch\/.*/ && $CI_PIPELINE_SOURCE !~ "/web|schedule/" + - if: ($CI_COMMIT_BRANCH =~ /^branch\/.*/ || $CI_COMMIT_TAG) && $CI_PIPELINE_SOURCE !~ "/web|schedule/" when: never - if: $CI_PIPELINE_SOURCE == "merge_request_event" when: never @@ -85,9 +85,9 @@ extends: .trigger stage: nightly-trigger rules: - - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH && $CI_PIPELINE_SOURCE == "schedule" + - if: ($CI_COMMIT_BRANCH =~ $RE_BRANCH || $CI_COMMIT_TAG) && $CI_PIPELINE_SOURCE == "schedule" when: always - - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH + - if: ($CI_COMMIT_BRANCH =~ $RE_BRANCH || $CI_COMMIT_TAG) when: manual allow_failure: true - if: $CI_COMMIT_BRANCH =~ $RE_TOPIC @@ -135,7 +135,7 @@ extends: .trigger stage: build rules: - - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH + - if: ($CI_COMMIT_BRANCH =~ $RE_BRANCH || $CI_COMMIT_TAG) when: never - if: $CI_COMMIT_BRANCH =~ $RE_TOPIC when: manual @@ -144,7 +144,7 @@ .extra-c-wheel: extends: build-c-wheel rules: - - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH + - if: ($CI_COMMIT_BRANCH =~ $RE_BRANCH || $CI_COMMIT_TAG) needs: - trigger-nightly-build - if: $CI_COMMIT_BRANCH =~ $RE_TOPIC @@ -317,7 +317,7 @@ extends: .trigger stage: py-version-compat rules: - - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH + - if: ($CI_COMMIT_BRANCH =~ $RE_BRANCH || $CI_COMMIT_TAG) when: on_success needs: - trigger-nightly-build @@ -420,7 +420,7 @@ extends: .trigger stage: build rules: - - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH + - if: ($CI_COMMIT_BRANCH =~ $RE_BRANCH || $CI_COMMIT_TAG) when: never - if: $CI_COMMIT_BRANCH =~ $RE_TOPIC when: manual @@ -433,7 +433,7 @@ when: on_success needs: rules: - - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH + - if: ($CI_COMMIT_BRANCH =~ $RE_BRANCH || $CI_COMMIT_TAG) needs: - trigger-nightly-build - if: $CI_COMMIT_BRANCH =~ $RE_TOPIC @@ -560,7 +560,7 @@ # multiple jobs. (all this might be unnecessary) build-c-wheel-macos: rules: - - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH + - if: ($CI_COMMIT_BRANCH =~ $RE_BRANCH || $CI_COMMIT_TAG) needs: - trigger-nightly-build - if: $CI_COMMIT_BRANCH =~ $RE_TOPIC @@ -590,7 +590,7 @@ extends: .all stage: upload rules: - - if: '$CI_COMMIT_BRANCH =~ $RE_BRANCH' + - if: ($CI_COMMIT_BRANCH =~ $RE_BRANCH || $CI_COMMIT_TAG) # note that at the time of writing this, this job depends on multiple # manual one. So it will not run by default, but will automatically run # if the manual jobs are triggered.
--- a/contrib/packaging/debian/copyright Mon Dec 09 06:23:34 2024 +0100 +++ b/contrib/packaging/debian/copyright Fri Feb 28 23:18:22 2025 +0100 @@ -3,7 +3,7 @@ Source: https://www.mercurial-scm.org/ Files: * -Copyright: 2005-2024, Olivia Mackall <olivia@selenic.com> and others. +Copyright: 2005-2025, Olivia Mackall <olivia@selenic.com> 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
--- a/contrib/packaging/inno/mercurial.iss Mon Dec 09 06:23:34 2024 +0100 +++ b/contrib/packaging/inno/mercurial.iss Fri Feb 28 23:18:22 2025 +0100 @@ -6,7 +6,7 @@ #endif [Setup] -AppCopyright=Copyright 2005-2024 Olivia Mackall and others +AppCopyright=Copyright 2005-2025 Olivia 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-2024 Olivia Mackall and others +VersionInfoCopyright=Copyright 2005-2025 Olivia Mackall and others VersionInfoCompany=Olivia Mackall and others VersionInfoVersion={#QUAD_VERSION} InternalCompressLevel=max
--- a/contrib/win32/ReadMe.html Mon Dec 09 06:23:34 2024 +0100 +++ b/contrib/win32/ReadMe.html Fri Feb 28 23:18:22 2025 +0100 @@ -140,7 +140,7 @@ </p> <p> - Mercurial is Copyright 2005-2024 Olivia Mackall and others. + Mercurial is Copyright 2005-2025 Olivia Mackall and others. </p> <p>
--- a/hgext/acl.py Mon Dec 09 06:23:34 2024 +0100 +++ b/hgext/acl.py Fri Feb 28 23:18:22 2025 +0100 @@ -59,6 +59,7 @@ Bookmark-based Access Control ----------------------------- + Use the ``acl.deny.bookmarks`` and ``acl.allow.bookmarks`` sections to have bookmark-based access control. Keys in these sections can be either:
--- a/mercurial/color.py Mon Dec 09 06:23:34 2024 +0100 +++ b/mercurial/color.py Fri Feb 28 23:18:22 2025 +0100 @@ -386,6 +386,9 @@ ] start = b'\033[' + b';'.join(start) + b'm' stop = b'\033[' + pycompat.bytestr(activeeffects[b'none']) + b'm' + if ui._readlineprompt: + start = b'\001' + start + b'\001' + stop = b'\002' + stop + b'\002' return _mergeeffects(text, start, stop) @@ -518,7 +521,8 @@ else: origattr = csbi.wAttributes ansire = re.compile( - br'\033\[([^m]*)m([^\033]*)(.*)', re.MULTILINE | re.DOTALL + br'\001?\033\[([^m]*)m\002?([^\033]*)(.*)', + re.MULTILINE | re.DOTALL, ) def win32print(ui, writefunc, text, **opts):
--- a/mercurial/commands.py Mon Dec 09 06:23:34 2024 +0100 +++ b/mercurial/commands.py Fri Feb 28 23:18:22 2025 +0100 @@ -7640,7 +7640,7 @@ ) license = _( b"(see https://mercurial-scm.org for more information)\n" - b"\nCopyright (C) 2005-2024 Olivia Mackall and others\n" + b"\nCopyright (C) 2005-2025 Olivia 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"
--- a/mercurial/helptext/hg.1.txt Mon Dec 09 06:23:34 2024 +0100 +++ b/mercurial/helptext/hg.1.txt Fri Feb 28 23:18:22 2025 +0100 @@ -112,7 +112,7 @@ Copying """"""" -Copyright (C) 2005-2024 Olivia Mackall. +Copyright (C) 2005-2025 Olivia Mackall. Free use of this software is granted under the terms of the GNU General Public License version 2 or any later version.
--- a/mercurial/helptext/hgignore.5.txt Mon Dec 09 06:23:34 2024 +0100 +++ b/mercurial/helptext/hgignore.5.txt Fri Feb 28 23:18:22 2025 +0100 @@ -26,7 +26,7 @@ Copying ======= This manual page is copyright 2006 Vadim Gelfer. -Mercurial is copyright 2005-2024 Olivia Mackall. +Mercurial is copyright 2005-2025 Olivia Mackall. Free use of this software is granted under the terms of the GNU General Public License version 2 or any later version.
--- a/mercurial/helptext/hgrc.5.txt Mon Dec 09 06:23:34 2024 +0100 +++ b/mercurial/helptext/hgrc.5.txt Fri Feb 28 23:18:22 2025 +0100 @@ -34,7 +34,7 @@ Copying ======= This manual page is copyright 2005 Bryan O'Sullivan. -Mercurial is copyright 2005-2024 Olivia Mackall. +Mercurial is copyright 2005-2025 Olivia Mackall. Free use of this software is granted under the terms of the GNU General Public License version 2 or any later version.
--- a/mercurial/helptext/rust.txt Mon Dec 09 06:23:34 2024 +0100 +++ b/mercurial/helptext/rust.txt Fri Feb 28 23:18:22 2025 +0100 @@ -67,21 +67,16 @@ Using pip --------- -Users of `pip` can install the Rust extensions with the following command:: - - $ pip install mercurial \ - --global-option \ - --rust \ - --no-use-pep517 \ - --no-binary mercurial +Users of `pip` can install the Rust extensions with the following commands:: -`--no-use-pep517` is here to tell `pip` to preserve backwards compatibility with -the legacy `setup.py` system. Mercurial has not yet migrated its complex setup -to the new system, so we still need this to add compiled extensions. + $ pip cache remove mercurial + $ pip install mercurial -v \ + --config-settings --global-option=--rust \ + --no-binary mercurial --force -`--no-binary` is there to tell pip to not use the pre-compiled wheels that are -missing rust support. This might take a couple of minutes because you're -compiling everything. +`pip cache remove` and `--no-binary` are there to tell pip to not use the +pre-compiled wheels that are missing rust support. This might take a couple +of minutes because you're compiling everything. See the "Checking for Rust" section to see if the install succeeded.
--- a/mercurial/scmutil.py Mon Dec 09 06:23:34 2024 +0100 +++ b/mercurial/scmutil.py Fri Feb 28 23:18:22 2025 +0100 @@ -2498,10 +2498,8 @@ RESOURCE_HIGH: int = 3 RESOURCE_MEDIUM: int = 2 RESOURCE_LOW: int = 1 -RESOURCE_DEFAULT: int = 0 RESOURCE_MAPPING: Dict[bytes, int] = { - b'default': RESOURCE_DEFAULT, b'low': RESOURCE_LOW, b'medium': RESOURCE_MEDIUM, b'high': RESOURCE_HIGH, @@ -2516,13 +2514,16 @@ """return the resource profile for a dimension If no dimension is specified, the generic value is returned""" - generic_name = ui.config(b'usage', b'resources') - value = RESOURCE_MAPPING.get(generic_name, RESOURCE_DEFAULT) - if value == RESOURCE_DEFAULT: - value = DEFAULT_RESOURCE + + def config(section, name): + value_name = ui.config(section, name, default=b'default') + return RESOURCE_MAPPING.get(value_name) + if dimension is not None: - sub_name = ui.config(b'usage', b'resources.%s' % dimension) - sub_value = RESOURCE_MAPPING.get(sub_name, RESOURCE_DEFAULT) - if sub_value != RESOURCE_DEFAULT: - value = sub_value - return value + value = config(b'usage', b'resources.%s' % dimension) + if value is not None: + return value + value = config(b'usage', b'resources') + if value is not None: + return value + return DEFAULT_RESOURCE
--- a/mercurial/ui.py Mon Dec 09 06:23:34 2024 +0100 +++ b/mercurial/ui.py Fri Feb 28 23:18:22 2025 +0100 @@ -262,6 +262,8 @@ self.logblockedtimes = False # color mode: see mercurial/color.py for possible value self._colormode = None + # readline prompt: is this currently for a readline prompt? + self._readlineprompt = False self._terminfoparams = {} self._styles = {} self._uninterruptible = False @@ -1741,7 +1743,12 @@ self.flush() prompt = b' ' else: - prompt = self.label(prompt, b'ui.prompt') + b' ' + wasreadlineprompt = self._readlineprompt + try: + self._readlineprompt = True + prompt = self.label(prompt, b'ui.prompt') + b' ' + finally: + self._readlineprompt = wasreadlineprompt # prompt ' ' must exist; otherwise readline may delete entire line # - http://bugs.python.org/issue12833
--- a/relnotes/6.9 Mon Dec 09 06:23:34 2024 +0100 +++ b/relnotes/6.9 Fri Feb 28 23:18:22 2025 +0100 @@ -1,3 +1,21 @@ += Mercurial 6.9.1 = + + * ci: disable caching of the wheels that get built to save space + * tests: use `--no-cache-dir` with `pip` + * run-tests: disable caching of the wheels when installing test Mercurial + * manifest: delay import of `typing.ByteString` for py 3.14 support (issue6940) + * contrib: propagate `pytype` failures outside of `check-pytype.sh` + * acl: fix confusing formatting in help text (issue6942) + * ui: fix escape sequences in in readline prompts (issue6930) + * ci: let branch job run for scheduled build too + * ci: automatically starts platform and py-version test for scheduled build + * help: fix command build with rust + * copyright: update to 2025 + * ci: also let the nightly build run on tags + * usage: refactor usage.resources config parsing + * hg-core: fix usage.resources typo + * hg-core: fix usage.resources default logic + = Mercurial 6.9 = == Backwards Compatibility Changes ==
--- a/rust/hg-core/src/config/mod.rs Mon Dec 09 06:23:34 2024 +0100 +++ b/rust/hg-core/src/config/mod.rs Fri Feb 28 23:18:22 2025 +0100 @@ -816,19 +816,16 @@ &self, dimension: Option<&str>, ) -> ResourceProfile { - let mut value = self.resource_profile_from_item(b"usage", b"resource"); - if let Some(dimension) = &dimension { - let sub_value = self.resource_profile_from_item( + let value = self.resource_profile_from_item(b"usage", b"resources"); + let sub_value = dimension.and_then(|dimension| { + self.resource_profile_from_item( b"usage", format!("resources.{}", dimension).as_bytes(), - ); - if sub_value != ResourceProfileValue::Default { - value = sub_value - } - } + ) + }); ResourceProfile { dimension: dimension.map(ToOwned::to_owned), - value, + value: sub_value.or(value).unwrap_or_default(), } } @@ -836,13 +833,12 @@ &self, section: &[u8], item: &[u8], - ) -> ResourceProfileValue { - match self.get(section, item).unwrap_or(b"default") { - b"default" => ResourceProfileValue::Default, - b"low" => ResourceProfileValue::Low, - b"medium" => ResourceProfileValue::Medium, - b"high" => ResourceProfileValue::High, - _ => ResourceProfileValue::Default, + ) -> Option<ResourceProfileValue> { + match self.get(section, item)? { + b"low" => Some(ResourceProfileValue::Low), + b"medium" => Some(ResourceProfileValue::Medium), + b"high" => Some(ResourceProfileValue::High), + _ => None, } } } @@ -856,10 +852,10 @@ pub value: ResourceProfileValue, } -#[derive(Debug, Eq, PartialEq, PartialOrd, Ord)] +#[derive(Debug, Eq, PartialEq, PartialOrd, Ord, Default)] pub enum ResourceProfileValue { - Default, Low, + #[default] Medium, High, }
--- a/rust/hgcli/README.md Mon Dec 09 06:23:34 2024 +0100 +++ b/rust/hgcli/README.md Fri Feb 28 23:18:22 2025 +0100 @@ -30,7 +30,7 @@ Mercurial Distributed SCM (version 5.3.1+433-f99cd77d53dc+20200331) (see https://mercurial-scm.org for more information) - Copyright (C) 2005-2024 Olivia Mackall and others + Copyright (C) 2005-2025 Olivia Mackall and others This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--- a/setup.py Mon Dec 09 06:23:34 2024 +0100 +++ b/setup.py Fri Feb 28 23:18:22 2025 +0100 @@ -1760,7 +1760,7 @@ extra['console'] = [ { 'script': 'hg', - 'copyright': 'Copyright (C) 2005-2024 Olivia Mackall and others', + 'copyright': 'Copyright (C) 2005-2025 Olivia Mackall and others', 'product_version': version, } ]