Kyle Lippincott <spectral@google.com> [Fri, 16 Apr 2021 18:56:26 -0700] rev 47063
tests: fix test-chg to ignore a warning about being unable to set locale
This is apparently coming from bash when bash is providing the sh that we're
using to execute the .sh file generated by run-tests for this test.
Bash on my machine:
```
$ sh --version
GNU bash, version 5.1.4(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ sh
sh-5.1$ LC_CTYPE=unsupported_value echo hi
sh: warning: setlocale: LC_CTYPE: cannot change locale (unsupported_value): No such file or directory
hi
```
Differential Revision: https://phab.mercurial-scm.org/D10468
Martin von Zweigbergk <martinvonz@google.com> [Tue, 27 Apr 2021 14:36:52 -0700] rev 47062
branch: delete obsolete message about changing branch of obsolete commit
We now rely on `rewriteutil.precheck()` to check for divergence, so we
don't need the extra check in `cmdutil.changebranch()`. The former
check is a little less strict in that it allows you to rewrite a
commit without non-obsolete successors.
Differential Revision: https://phab.mercurial-scm.org/D10519
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Feb 2021 10:28:42 -0800] rev 47061
rewriteutil: check for divergence
This code is adapted from the code in the evolve extension. It seems
to be equivalent as far as the evolve extension's test suite can tell
(the only impact when making their `precheck()` delegate to our
version is that error messages are less detailed).
I had to change the error message to work with "change branch of"
being inserted as the action.
Differential Revision: https://phab.mercurial-scm.org/D10518
Martin von Zweigbergk <martinvonz@google.com> [Wed, 28 Apr 2021 08:48:10 -0700] rev 47060
rewriteutil: adapt "cannot %s while merging" to work with "change branch of"
`rewriteutil.precheck()` creates error messages by inserting a given
verb into a sentence. The `hg branch -r` command passes in "change
branch of" as the verb. That doesn't work well with "cannot %s while
merging" (making it "cannot change branch of while merging"). Let's
insert a "changeset" there to make it work better.
Building sentences like this seems obviously bad for i18n, but fixing
that is out of scope for this series, IMO.
Differential Revision: https://phab.mercurial-scm.org/D10530
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Feb 2021 15:11:10 -0800] rev 47059
rewriteutil: point to help about instability when rewriting creates orphan
This replicates the message from the evolve extension.
Differential Revision: https://phab.mercurial-scm.org/D10517
Martin von Zweigbergk <martinvonz@google.com> [Tue, 27 Apr 2021 14:59:45 -0700] rev 47058
help: add topic about evolution, based on text from evolve extension
I've taken the text produced by `hg help evolution` when the evolve
extension is enabled and made that available by the same command with
just hg core. Changes I've made:
* Added "(EXPERIMENTAL)" to the title. (That doesn't hide the topic
from `hg help`, though.)
* Replaced old-style `experimental.evolution=<names>` config by
new-style `experimental.evolution.<name>=true`.
* Replaces a "obsolete markers" by "obsolescence markers".
* Removed most content from "Current feature status".
When the evolve extension is enabled, its help text takes precedence.
Differential Revision: https://phab.mercurial-scm.org/D10516
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Feb 2021 15:02:57 -0800] rev 47057
rewriteutil: add devel warning if precheck is called with contexts
I'm trying to upstream parts from the evolve extension. This check
exists there.
Differential Revision: https://phab.mercurial-scm.org/D10515
Martin von Zweigbergk <martinvonz@google.com> [Tue, 27 Apr 2021 11:02:41 -0700] rev 47056
rewriteutil: replace "null changeset" by "the null revision" in error message
The evolve extension uses "the null revision" and we seem to use that
term much more frequently in core too.
Differential Revision: https://phab.mercurial-scm.org/D10514
Joerg Sonnenberger <joerg@bec.de> [Mon, 29 Mar 2021 01:52:06 +0200] rev 47055
node: replace nullid and friends with nodeconstants class
The introduction of 256bit hashes require changes to nullid and other
constant magic values. Start pushing them down from repository and
revlog where sensible.
Differential Revision: https://phab.mercurial-scm.org/D9465
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 09 Jul 2021 00:25:14 +0530] rev 47054
Added signature for changeset 411dc27fd9fd
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 09 Jul 2021 00:25:07 +0530] rev 47053
Added tag 5.8.1 for changeset 411dc27fd9fd
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Jul 2021 16:12:09 +0200] rev 47052
corruption: backout changeset 49fd21f32695 (issue6528)
inverting the parent is masking copy information leading to bad content being
fetched and bad status result.
Since 49fd21f32695, exchange can actively swap these parent corrupting existing
changesets and triggering the corruption.
Data corruption are considered critical so backing this out and doing and
unscheduled release seems in order.
Differential Revision: https://phab.mercurial-scm.org/D10995
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Jul 2021 19:22:50 +0200] rev 47051
corruption: add a test for issue6528
The initial reproduction script was provided by Charles Chamberlain from Jane
Street.
Differential Revision: https://phab.mercurial-scm.org/D10996
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 24 Jun 2021 03:22:03 +0200] rev 47050
stream: double check that self.vfs is *not* in the vfsmap
The stream clone logic allows for writing any content to any file under various
vfs. This is *not* suitable for *vfs*, since writing in `.hg/` directly allow to
modify the configuration and is a great and simple gateway for remote code
execution.
Differential Revision: https://phab.mercurial-scm.org/D10905