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
Martin von Zweigbergk <martinvonz@google.com> [Mon, 24 Jan 2022 21:17:04 -0800] rev 48357
unamend: error out when running on merge commit
It's better to error out than to produce a bad commit. We do that same
in `hg uncommit`. I haven't looked into how much work it is to make
them work instead.
Differential Revision: https://phab.mercurial-scm.org/D12087
Martin von Zweigbergk <martinvonz@google.com> [Mon, 24 Jan 2022 21:12:19 -0800] rev 48356
tests: demonstrate how `hg unamend` fails on merge commits
When `hg unamend` is run on a merge commit, it seems that it loses the
changes from the second parent.
Differential Revision: https://phab.mercurial-scm.org/D12086
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 20 Jan 2022 14:06:36 +0000] rev 48355
revlog: fix a bug where transaction can be aborted partially
Fix a repo corruption bug caused by a partial transaction rollback.
Differential Revision: https://phab.mercurial-scm.org/D12009
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 20 Jan 2022 14:02:58 +0000] rev 48354
revlog: demonstrate a bug where transaction can be aborted partially
Differential Revision: https://phab.mercurial-scm.org/D12008
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Thu, 30 Dec 2021 13:25:44 +0100] rev 48353
rust: fix build errors on darwin
I'm not all _that_ versed in Rust, but I think the root cause is that
some constants are u16 rather than u32 on Darwin. I checked that the
code still compiles on the latest Ubuntu.
Differential Revision: https://phab.mercurial-scm.org/D11955
Matt Harbison <matt_harbison@yahoo.com> [Mon, 10 Jan 2022 18:04:41 -0500] rev 48352
subrepo: make -S work again on Windows for incoming/outgoing to remote repos
While it worked fine for the top level repo, the remote path for the subrepo got
mangled to something like "https://server/prefix\repo\subrepo", which I've seen
result in both a 400 and a 404, depending on the server. We need to `normpath`
at least the `subpath` because of "http://user:***@localhost:$HGPORT/main/../sub"
in `test-subrepo-relative-path.t`. Keep the `os.path` flavor for handling
filesystem based remote repos, since this string is also displayed.
This is one case where the automatic substitution of '\' for '/' and rematching
done by the test runner is unfortunate- I don't see how to write a test to catch
this.
Differential Revision: https://phab.mercurial-scm.org/D11971
Raphaël Gomès <rgomes@octobus.net> [Wed, 05 Jan 2022 17:53:57 +0100] rev 48351
Added signature for changeset 799fdf4cca80
Raphaël Gomès <rgomes@octobus.net> [Wed, 05 Jan 2022 17:53:03 +0100] rev 48350
Added tag 6.0.1 for changeset 799fdf4cca80
Raphaël Gomès <rgomes@octobus.net> [Fri, 26 Nov 2021 14:29:05 +0100] rev 48349
docs: update Rust readme with a mention of `rhg`
Differential Revision: https://phab.mercurial-scm.org/D11811
Raphaël Gomès <rgomes@octobus.net> [Fri, 26 Nov 2021 12:21:03 +0100] rev 48348
docs: fix typos and wording for the persistent-nodemap feature
Differential Revision: https://phab.mercurial-scm.org/D11810
Raphaël Gomès <rgomes@octobus.net> [Fri, 26 Nov 2021 12:17:51 +0100] rev 48347
docs: add missing dirstate-v2 documentation
A user trying out the dirstate-v2 feature without the Rust extensions is
currently faced with an error message suggesting this help section, which does
not exist.
Differential Revision: https://phab.mercurial-scm.org/D11809
Raphaël Gomès <rgomes@octobus.net> [Fri, 26 Nov 2021 14:28:27 +0100] rev 48346
docs: add documentation about Rust
This makes the features more discoverable for users.
Differential Revision: https://phab.mercurial-scm.org/D11808
Raphaël Gomès <rgomes@octobus.net> [Mon, 03 Jan 2022 10:43:17 +0100] rev 48345
heptapod-ci: make Windows jobs manual again
The dance continues, we make the Windows tests optional once again since we
don't have Windows runners available anymore. We're working on getting new ones
in a more stable fashion, hopefully soon.
Differential Revision: https://phab.mercurial-scm.org/D11957
Julien Cristau <jcristau@debian.org> [Wed, 25 Aug 2021 17:14:47 +0200] rev 48344
tests: allow for variation in zstd output as seen on s390x and powerpc
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 29 Nov 2021 12:27:33 +0000] rev 48343
sparse: lock the store when updating requirements config
Differential Revision: https://phab.mercurial-scm.org/D11817
Arseniy Alekseyev <aalekseyev@janestreet.com> [Tue, 16 Nov 2021 17:35:57 +0000] rev 48342
sparse: demonstrate a bug when used with safe-share
sparse: lock the store when updating requirements config
Differential Revision: https://phab.mercurial-scm.org/D11766
Matt Harbison <matt_harbison@yahoo.com> [Mon, 13 Dec 2021 00:18:31 -0500] rev 48341
hghave: fix the check for suid on platforms lacking support
The mac tests were raising an AttributeError without the default arg.
Differential Revision: https://phab.mercurial-scm.org/D11906
Matt Harbison <matt_harbison@yahoo.com> [Sun, 12 Dec 2021 19:36:11 -0500] rev 48340
upgrade: byteify a few error messages
These were flagged by pytype (which is currently disabled on this file due to
another failure).
Differential Revision: https://phab.mercurial-scm.org/D11905
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Dec 2021 10:08:04 +0100] rev 48339
dirstate-v2: fix upgrade on an empty repository
This used to crash as the dirstate file does not exist in this case.
Differential Revision: https://phab.mercurial-scm.org/D11866
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Dec 2021 10:52:40 +0100] rev 48338
dirstate-v2: test upgrade without rust too
There is no reason to gate this anymore.
Differential Revision: https://phab.mercurial-scm.org/D11865
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Dec 2021 10:03:00 +0100] rev 48337
upgrade: don't use `dd status=none` in the test
This breaks on Windows, so lets use `>2 /dev/null` like in the other tests.
Differential Revision: https://phab.mercurial-scm.org/D11873
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Dec 2021 10:23:51 +0100] rev 48336
test-upgrade: narrow the `debugformat` call when upgrading to dirstate-v2
This will make the test less noisy when new requirement are added.
Differential Revision: https://phab.mercurial-scm.org/D11864
Raphaël Gomès <rgomes@octobus.net> [Thu, 25 Nov 2021 18:26:50 +0100] rev 48335
downgrade: don't assume existence of nodemap files when downgrading
Persistent nodemap files might not exist on a fresh repository, so ignore the
potential missing file errors.
Differential Revision: https://phab.mercurial-scm.org/D11806
Raphaël Gomès <rgomes@octobus.net> [Tue, 07 Dec 2021 15:01:30 +0100] rev 48334
fsmonitor: fix criteria for nonnormalset computation
... oops.
Differential Revision: https://phab.mercurial-scm.org/D11875
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Dec 2021 11:10:59 +0100] rev 48333
fsmonitor: incorporate fixes for Python 3.10 (issue6612)
Differential Revision: https://phab.mercurial-scm.org/D11862
Thomas Klausner <wiz@gatalith.at> [Sun, 28 Nov 2021 11:27:08 +0100] rev 48332
tests: fix test-fix on NetBSD
Differential Revision: https://phab.mercurial-scm.org/D11816
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 23 Nov 2021 15:35:31 +0530] rev 48331
Added signature for changeset 5d08b289e2e5
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 23 Nov 2021 15:35:21 +0530] rev 48330
Added tag 6.0 for changeset 5d08b289e2e5
Mathias De Mare <mathias.de_mare@nokia.com> [Wed, 17 Nov 2021 13:47:25 +0100] rev 48329
packaging: make rpm relocatable
This makes it possible to install multiple Mercurial rpms on the same machine
in different locations.
Differential Revision: https://phab.mercurial-scm.org/D11768
Mathias De Mare <mathias.de_mare@nokia.com> [Wed, 17 Nov 2021 13:28:22 +0100] rev 48328
dockerrpm: always use current user and group
Using uid 1000 and gid 1000 works by default in some cases,
but 'id -u' and 'id -g' should work in all cases.
Differential Revision: https://phab.mercurial-scm.org/D11767
Mads Kiilerich <mads@kiilerich.com> [Thu, 18 Nov 2021 12:31:37 +0100] rev 48327
cext: fix Python 3.11 compatibility - Py_SIZE is not an lvalue (issue6610)
Py_SIZE was made a static inline function during Python 3.10 development, as
described on https://vstinner.github.io/c-api-opaque-structures.html .
e92ca942ddca updated the Mercurial code base accordingly, but somehow missed a
couple of cases introduced long time ago in a8c948ee3668.
The Python change was dropped for 3.10, but is coming back again in 3.11 .
Raphaël Gomès <rgomes@octobus.net> [Tue, 16 Nov 2021 16:38:37 +0100] rev 48326
heptapod-ci: re-introduce Windows CI
We have Windows runners for now, and we're trying to find more, so let's share
the joy of flaky tests with everyone.
Differential Revision: https://phab.mercurial-scm.org/D11765
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 15 Nov 2021 19:53:01 -0800] rev 48325
cext: define S_IFLNK on Python 2.7 and Windows
Before this change, building on Python 2.7 on Windows fails due to
S_IFLNK being undefined. This regression was introduced by
a32a96079e2d / D11518.
It worked on Python 3 because its pyport.h (which is included via
Python.h) contains effectively the same code as added by this
changeset.
Differential Revision: https://phab.mercurial-scm.org/D11763
Thomas Klausner <wiz@gatalith.at> [Mon, 15 Nov 2021 12:03:28 +0100] rev 48324
tests: dd status=noxfer is not portable (issue6523)
Differential Revision: https://phab.mercurial-scm.org/D11754
Thomas Klausner <wiz@gatalith.at> [Mon, 15 Nov 2021 00:15:21 +0100] rev 48323
tests: use more portable mkdir -p instead of --parents (issue6591)
Differential Revision: https://phab.mercurial-scm.org/D11755
Thomas Klausner <wiz@gatalith.at> [Mon, 15 Nov 2021 00:08:02 +0100] rev 48322
tests: fix test-censor by improving regexp (issue6585)
Differential Revision: https://phab.mercurial-scm.org/D11753
Raphaël Gomès <rgomes@octobus.net> [Wed, 10 Nov 2021 11:43:22 +0100] rev 48321
internals: typo pass on the dirstate-v2 help file
Differential Revision: https://phab.mercurial-scm.org/D11747
Raphaël Gomès <rgomes@octobus.net> [Wed, 10 Nov 2021 11:42:13 +0100] rev 48320
dirstate-v2: fix confusion between requirement and format config variable
None of those outputs failed on the CI because dirstate-v2 is not fully tested
yet. This also updates the documentation.
Differential Revision: https://phab.mercurial-scm.org/D11746
Raphaël Gomès <rgomes@octobus.net> [Wed, 10 Nov 2021 10:58:13 +0100] rev 48319
internals: correct dirstate-v2 format variable in the documentation
Differential Revision: https://phab.mercurial-scm.org/D11745