Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Nov 2021 16:21:00 -0800] rev 48417
errors: use detailed exit code in pathauditor
Differential Revision: https://phab.mercurial-scm.org/D11830
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Nov 2021 16:16:21 -0800] rev 48416
errors: use detailed exit code for RepoLookupError
Differential Revision: https://phab.mercurial-scm.org/D11829
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Nov 2021 15:40:56 -0800] rev 48415
errors: use detailed exit code for detected case-collision
Differential Revision: https://phab.mercurial-scm.org/D11828
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Nov 2021 15:39:35 -0800] rev 48414
errors: use detailed exit code when trying to merge file outside narrowspec
Differential Revision: https://phab.mercurial-scm.org/D11827
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Nov 2021 15:38:36 -0800] rev 48413
errors: use detailed exit code for non-integer number of diff context lines
Differential Revision: https://phab.mercurial-scm.org/D11826
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Nov 2021 09:17:30 -0800] rev 48412
patch: add hint about mangled whitespace on bad patch
One of the most common reasons that a patch doesn't apply is because
its whitespace has been mangled (e.g. by their mail client or though
copy&paste). Let's provide a hint about that.
Differential Revision: https://phab.mercurial-scm.org/D11825
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Nov 2021 12:57:53 -0800] rev 48411
errors: return more detailed errors when failing to parse or apply patch
This patch adds subclasses of `PatchError` so we can distinguish
between failure to parse a patch from failure to apply it. It updates
the callers to raise either `InputError` or `StateError` depending on
which type of error occurred.
Differential Revision: https://phab.mercurial-scm.org/D11824
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 Nov 2021 17:22:14 +0100] rev 48410
extensions: add a default "*" suboptions prefix
This is similar to what we do in other section (e.g. `paths`) and allow to
change the behavior for all extensions.
Sub options on individual extensions overwrite the default settings.
Differential Revision: https://phab.mercurial-scm.org/D11823
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 Nov 2021 17:17:49 +0100] rev 48409
extension: add a `required` suboption to enforce the use of an extensions
If `required` is set, failing to load an extensions will abort. See the test
and documentation for details.
Differential Revision: https://phab.mercurial-scm.org/D11822
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Nov 2021 13:09:04 +0100] rev 48408
extensions: highlight the name of the faulty extensions in the error message
This make it easier to understand the message when the extensions name is
common.
Differential Revision: https://phab.mercurial-scm.org/D11821
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 Nov 2021 16:55:34 +0100] rev 48407
extensions: refactor handling of loading error make it reusable
We will need this in the next patch.
Differential Revision: https://phab.mercurial-scm.org/D11820
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 Nov 2021 16:51:58 +0100] rev 48406
extensions: ignore "sub-options" when looking for extensions
config suboptions are separated by ":" (see the path one for example). So we
dont want to confuse these config with actual extensions.
We don't have extensions sub option yet, but I am about to introduce one for
making sure an extensions can load. So lets level the floor first.
Differential Revision: https://phab.mercurial-scm.org/D11819
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 23 Nov 2021 17:52:38 -0800] rev 48405
automation: support Python 3.10 on Windows
Python 3.10 is out and we should support it. This commit teaches the
automation code to install and support building for Python 3.10.
Differential Revision: https://phab.mercurial-scm.org/D11776
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 15 Nov 2021 20:10:50 -0800] rev 48404
contrib: update Windows environment to Python 3.9.9
Let's keep the environment modern.
Differential Revision: https://phab.mercurial-scm.org/D11775
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 29 Nov 2021 14:07:47 +0000] rev 48403
rhg: implement the debugignorerhg subcommand
This can be used to inspect the generated pattern, but also to benchmark
the time it takes to parse hgignore.
Differential Revision: https://phab.mercurial-scm.org/D11722
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 29 Nov 2021 14:06:41 +0000] rev 48402
rhg: refactor to use IgnoreFnType alias more widely
Differential Revision: https://phab.mercurial-scm.org/D11818
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 11 Nov 2021 14:26:25 +0000] rev 48401
rhg: only complain about poorly configured fallback when falling back
Differential Revision: https://phab.mercurial-scm.org/D11751
Matt Harbison <matt_harbison@yahoo.com> [Wed, 24 Nov 2021 20:51:01 -0500] rev 48400
packaging: bump pygit2 to 1.7.1
Differential Revision: https://phab.mercurial-scm.org/D11805
Matt Harbison <matt_harbison@yahoo.com> [Wed, 24 Nov 2021 20:45:27 -0500] rev 48399
packaging: bump windows_curses to 2.3.0
This is required for Python 3.10 support.
Differential Revision: https://phab.mercurial-scm.org/D11804
Matt Harbison <matt_harbison@yahoo.com> [Wed, 24 Nov 2021 20:43:05 -0500] rev 48398
packaging: regenerate the requirements files with pip-tools 6.4.0
Somewhere along the line, the formatting changed. There's no change in package
content here- it's just some minor text changes. Py2 doesn't have any packages
we'll be updating, so I'm not bothering there.
Differential Revision: https://phab.mercurial-scm.org/D11803
Simon Sapin <simon.sapin@octobus.net> [Fri, 26 Nov 2021 15:59:09 +0100] rev 48397
rhg: Add support for `rhg status -n`
The `RHG_STATUS=1` bit added here can be removed when `unset RHG_STATUS` near
the top of the file is removed.
Differential Revision: https://phab.mercurial-scm.org/D11815
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Nov 2021 18:48:34 -0800] rev 48396
filemerge: simplify slightly by using filectx.decodeddata()
Differential Revision: https://phab.mercurial-scm.org/D11802
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Nov 2021 18:14:25 -0800] rev 48395
filemerge: rename _formatconflictmarker() since it formats a label
`_formatconflictmarker()`'s name made me think that it would create
something like `<<<<<<<` and maybe some more stuff after it, but it's
actually just the label that comes after on the same line. So let's
rename it to `_formatlabel()`. That's better aligned with the
variables the result is assigned it.
Differential Revision: https://phab.mercurial-scm.org/D11801
Simon Sapin <simon.sapin@octobus.net> [Tue, 23 Nov 2021 20:04:22 +0100] rev 48394
rhg: Fix status desambiguation of symlinks and executable files
Differential Revision: https://phab.mercurial-scm.org/D11774
Simon Sapin <simon.sapin@octobus.net> [Tue, 23 Nov 2021 19:40:29 +0100] rev 48393
rhg: Rename cat_file_is_modified
It hasn’t been based on the "cat operation" for some time already.
Differential Revision: https://phab.mercurial-scm.org/D11773
Simon Sapin <simon.sapin@octobus.net> [Tue, 23 Nov 2021 19:39:51 +0100] rev 48392
rhg: Also parse flags in the manifest parser
Differential Revision: https://phab.mercurial-scm.org/D11772
Simon Sapin <simon.sapin@octobus.net> [Tue, 23 Nov 2021 18:27:42 +0100] rev 48391
rhg: Propogate manifest parse errors instead of panicking
The Rust parser for the manifest file format is an iterator. Now every item
from that iterator is a `Result`, which makes error handling required
in multiple new places.
This makes better recovery on errors possible, compare to a run time panic.
Differential Revision: https://phab.mercurial-scm.org/D11771
Simon Sapin <simon.sapin@octobus.net> [Fri, 19 Nov 2021 17:34:48 +0100] rev 48390
tests: Adapt test-basic.t expected output for rhg
Differential Revision: https://phab.mercurial-scm.org/D11769
Simon Sapin <simon.sapin@octobus.net> [Tue, 09 Nov 2021 19:28:13 +0100] rev 48389
rhg: Colored output is not supported
Fallback if it is requested explicitly.
The default is documented as use color "whenever it seems possible".
rhg proceeds without color in that case.
Differential Revision: https://phab.mercurial-scm.org/D11762
Simon Sapin <simon.sapin@octobus.net> [Tue, 09 Nov 2021 19:09:57 +0100] rev 48388
rhg: [encode] and [decode] config sections are not supported
Differential Revision: https://phab.mercurial-scm.org/D11761
Simon Sapin <simon.sapin@octobus.net> [Tue, 09 Nov 2021 18:56:55 +0100] rev 48387
rhg: Config commands.status.terse is not supported
Differential Revision: https://phab.mercurial-scm.org/D11760
Simon Sapin <simon.sapin@octobus.net> [Tue, 09 Nov 2021 18:39:37 +0100] rev 48386
rhg: Propagate config errors in `rhg status`
This code was calling `Result::unwrap_or` instead of `Option::unwrap_or`
as was presumably intended.
Differential Revision: https://phab.mercurial-scm.org/D11759
Simon Sapin <simon.sapin@octobus.net> [Tue, 09 Nov 2021 17:09:40 +0100] rev 48385
rhg: $HG_PENDING is not supported
Trigger fallback in that case, if configured to do so.
Differential Revision: https://phab.mercurial-scm.org/D11758
Simon Sapin <simon.sapin@octobus.net> [Tue, 09 Nov 2021 19:55:46 +0100] rev 48384
rhg: Enable `rhg status` in most tests
This subcommand is disabled by default because of bugs that make some test fail.
Enable it in the rest of the tests in order to avoid regressing them.
As with `RHG_ON_UNSUPPORTED`, an environment variable is used instead of
a configuration file and `HGRCPATH` because some tests override `HGRCPATH`.
Running `unset RHG_STATUS` at the start of a test restores the default of
`rhg status` being disabled. Hopefully it can be increasingly removed
from test files as bugs are fixed.
Differential Revision: https://phab.mercurial-scm.org/D11756
Raphaël Gomès <rgomes@octobus.net> [Fri, 19 Nov 2021 11:20:10 +0100] rev 48383
branching: merge stable into default
Martin von Zweigbergk <martinvonz@google.com> [Wed, 10 Nov 2021 08:09:34 -0800] rev 48382
ci: stop running with Python 2
We're dropping support for Python 2 after hg 6.0.
Differential Revision: https://phab.mercurial-scm.org/D11748
Augie Fackler <augie@google.com> [Wed, 10 Nov 2021 14:54:55 -0500] rev 48381
merge: with stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 18 Feb 2022 12:55:39 +0100] rev 48380
Added signature for changeset dcec16e799dd
Raphaël Gomès <rgomes@octobus.net> [Fri, 18 Feb 2022 12:55:20 +0100] rev 48379
Added tag 6.0.3 for changeset dcec16e799dd
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 17 Feb 2022 20:50:04 +0000] rev 48378
status: fix hg status race against file deletion
Differential Revision: https://phab.mercurial-scm.org/D12202
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 25 Aug 2021 19:55:20 -0700] rev 48377
automation: use gp3 volume type
This is a newer volume type. It offers a better baseline of performance
by default and is ~10% cheaper. It doesn't offer burst credits. But
its performance is guaranteed, unlike gp2, which had wonky performance
behavior.
Differential Revision: https://phab.mercurial-scm.org/D12132
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 26 Aug 2021 17:47:50 -0700] rev 48376
automation: use m6i instances
This instance type is much, much faster than t3 and can perform
tasks much quicker.
Differential Revision: https://phab.mercurial-scm.org/D12131
Raphaël Gomès <rgomes@octobus.net> [Tue, 15 Feb 2022 15:52:44 +0100] rev 48375
copyright: it's 2022
Differential Revision: https://phab.mercurial-scm.org/D12183
Raphaël Gomès <rgomes@octobus.net> [Mon, 14 Feb 2022 19:03:22 +0100] rev 48374
hghave: update rustfmt criterion
In 9ebc10ad4a04 I updated `rustfmt` without touching hghave, which means
that the CI has been skipping the format test ever since. Thankfully, only
one offending line exists in the code that's been introduced since.
Differential Revision: https://phab.mercurial-scm.org/D12180
Raphaël Gomès <rgomes@octobus.net> [Fri, 11 Feb 2022 23:43:17 +0100] rev 48373
dirstate-v2: fix infinite loop in pure packer
Due to the naive approach to path relative-ness, some tree shapes
like the one introduced in the associated test could result in the
packer going into an endless loop which allocated new `Node` objects
endlessly until the process was killed by Linux's OOM killer.
Differential Revision: https://phab.mercurial-scm.org/D12170
Mathias De Mare <mathias.de_mare@nokia.com> [Tue, 15 Feb 2022 15:33:33 +0100] rev 48372
contrib: refer to RHEL and derivatives instead of CentOS specifically
Differential Revision: https://phab.mercurial-scm.org/D12182
Mathias De Mare <mathias.de_mare@nokia.com> [Mon, 14 Feb 2022 11:32:03 +0100] rev 48371
packaging: replace centos8 by rockylinux 8
Differential Revision: https://phab.mercurial-scm.org/D12172
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 09 Feb 2022 16:07:50 +0100] rev 48370
help: make the help for `safe-mismatch` real section
The extra new lines mean the minirst engine were not seeing them as section…
meaning they could not be addressed directly.
Differential Revision: https://phab.mercurial-scm.org/D12161
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 09 Feb 2022 15:44:21 +0100] rev 48369
help: avoid repeated value in the safe-mistmatch help
This was copy pasted and overlooked when it got in.
Differential Revision: https://phab.mercurial-scm.org/D12160
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 09 Feb 2022 15:43:01 +0100] rev 48368
help: add missing `.` in config reference
The `hg help` command is still confused at the number of dots, but at least the
reference is correct.
Differential Revision: https://phab.mercurial-scm.org/D12159
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Feb 2022 15:45:53 +0100] rev 48367
doc: inspect.getargspec has been removed in Python 3.11
Fixed by dropping the inspection introduced in cdda48c93676. The 2nd "reporter"
parameter to docutils.languages.get_language has been available since 0.8 more
than 10 years ago.
Reported for Fedora on https://bugzilla.redhat.com/show_bug.cgi?id=2022252#c2 .
Raphaël Gomès <rgomes@octobus.net> [Wed, 02 Feb 2022 17:02:34 +0100] rev 48366
Added signature for changeset 75676122c2bf
Raphaël Gomès <rgomes@octobus.net> [Wed, 02 Feb 2022 17:02:09 +0100] rev 48365
Added tag 6.0.2 for changeset 75676122c2bf
Raphaël Gomès <rgomes@octobus.net> [Wed, 02 Feb 2022 15:03:29 +0100] rev 48364
relnotes: add 6.0.1 and 6.0.2 notes
Differential Revision: https://phab.mercurial-scm.org/D12130
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Feb 2022 15:19:50 +0100] rev 48363
branchmap: stop writing cache for uncommitted data
If we are about to write the branch while a transaction is active. we delay
that write. After the transaction is closed, we flush all the write we delayed
(unless they have been written in between).
Differential Revision: https://phab.mercurial-scm.org/D12128
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 31 Jan 2022 19:28:58 +0100] rev 48362
transaction: add a way to know a transaction has been finalized
This will be useful to fix the timing of the branchmap on disk caching.
Differential Revision: https://phab.mercurial-scm.org/D12127
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Feb 2022 15:14:05 +0100] rev 48361
branchmap: Add a test about writing branchmap and aborted transaction
It turn out that we update the branchmap on disk whenever we recompute it…
including in a middle of a transaction. This means writing the new branchmap too
early (the changeset are not visible yet) and worse… it mean writing branchmap
for transaction we rollback.
so we introduce a test to highlight the issue (and prevent it to regress in the
future).
Differential Revision: https://phab.mercurial-scm.org/D12126
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Feb 2022 16:36:20 +0100] rev 48360
dirstate-v2: rename the configuration to enable the format
The rename of the old experimental name was overlooked before the 6.0 release.
We rename everything to use the new name (and keep the released name as an alias
for compatibility).
Differential Revision: https://phab.mercurial-scm.org/D12129
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Jan 2022 11:49:06 +0100] rev 48359
stream-clone: filter possible missing requirements using all supported one
The `supportedformat` requirements is missing some important requirements and it
seems better to filter out with all requirements we know, not just an
"arbitrary" subset.
The `supportedformat` set is lacking some important requirements (for example
`revlog-compression-zstd`). This is getting fixed on default (for Mercurial 6.1)
However, fixing that in 6.1 means the stream requirements sent over the wire
will contains more items. And if we don't apply this fix on older version, they
might end up complaining about lacking support for feature they actually support
for years.
This patch does not fix the deeper problem (advertised stream requirement
lacking some of them), but focus on the trivial part : Lets use the full set of
supported requirement for looking for unsupported ones.
This patch should be simple to backport to older version of Mercurial and
packager should be encouraged to do so.
This is a graft of d9017df70135 from default.
Differential Revision: https://phab.mercurial-scm.org/D12091
Raphaël Gomès <rgomes@octobus.net> [Tue, 18 Jan 2022 10:32:11 +0100] rev 48358
helptext: add missing newline to Rust helptext
This makes it so the list renders properly.
Differential Revision: https://phab.mercurial-scm.org/D12007