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