Mathias De Mare <mathias.de_mare@nokia.com> [Mon, 14 Feb 2022 11:32:03 +0100] rev 48739
packaging: replace centos8 by rockylinux 8
Differential Revision: https://phab.mercurial-scm.org/D12172
Simon Sapin <simon.sapin@octobus.net> [Mon, 14 Feb 2022 18:57:12 +0100] rev 48738
rust: fix code formatting
Differential Revision: https://phab.mercurial-scm.org/D12173
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Mon, 07 Feb 2022 00:33:22 -0500] rev 48737
sparse: rework debugsparse's interface
hg debugsparse supports arguments like --include, similar to `hg
tracked --addinclude` or `hg log --include`. But in `hg debugsparse`,
the pattern is not an argument of the flag, instead the patterns are
the anonymous command line arguments.
Not only is this surprising, it makes it impossible to use --include
and --exclude in the same invocation, or --reset --exclude.
So I propose making debugsparse making --include, --exclude take an
argument, and rejecting anonymous command line arguments, as well as
allowing mixing several of these flags in one invocations.
Differential Revision: https://phab.mercurial-scm.org/D12155
Mitchell Hentges <mhentges@mozilla.com> [Wed, 09 Feb 2022 13:04:37 -0500] rev 48736
color: don't infer vt status from TERM on Windows
Previously, it was assumed that Windows environments with
"xterm" in the TERM environment variable meant that either
"virtual terminal mode" was already enabled, or that
we are running in an environment that didn't need a "virtual
terminal mode" (such as mintty, that interprets ANSI sequences
itself).
However, modern Cygwin and MSYS2 set TERM=xterm when using the
Command Prompt as the terminal, which needs "virtual terminal
mode" to be manually enabled. However, due to (
issue6640),
the vtmode wasn't being enabled.
This patch ensures that we always try to enable vtmode on
Windows regardless of the state of TERM, so that:
* ANSI-based colors work in modern Cygwin/MSYS2 (with Command
Prompt), and
* The vtmode is unnecessarily set when running in a different
terminal such as mintty, but it is simply redundant and doesn't
appear to have ill effects.
Differential Revision: https://phab.mercurial-scm.org/D12158
Simon Sapin <simon.sapin@octobus.net> [Thu, 10 Feb 2022 19:26:10 +0100] rev 48735
rhg: enable `rhg status` by default, without config or env opt-in
The full test suite now passes with `hg` pointing to rhg.
Differential Revision: https://phab.mercurial-scm.org/D12162
Simon Sapin <simon.sapin@octobus.net> [Tue, 08 Feb 2022 14:20:58 +0100] rev 48734
rhg: Colorize `rhg status` output when appropriate
Differential Revision: https://phab.mercurial-scm.org/D12168
Simon Sapin <simon.sapin@octobus.net> [Thu, 10 Feb 2022 12:59:32 +0100] rev 48733
rhg: Add support for colored output
The same "label" system is used as in Python code
Differential Revision: https://phab.mercurial-scm.org/D12167
Simon Sapin <simon.sapin@octobus.net> [Thu, 10 Feb 2022 13:56:43 +0100] rev 48732
rhg: Add parsing for the --color global CLI argument
Differential Revision: https://phab.mercurial-scm.org/D12166
Simon Sapin <simon.sapin@octobus.net> [Thu, 10 Feb 2022 12:52:25 +0100] rev 48731
rhg: Make Ui::new falliable, add Ui::new_infallible
This allows propagating color configuration errors
Differential Revision: https://phab.mercurial-scm.org/D12165
Simon Sapin <simon.sapin@octobus.net> [Thu, 10 Feb 2022 12:12:56 +0100] rev 48730
rhg: Pass a &Config to Ui::new
When a Ui object is needed to print errors about configuration-loading errors,
an empty (default) configuration is used.
Differential Revision: https://phab.mercurial-scm.org/D12164
Simon Sapin <simon.sapin@octobus.net> [Thu, 10 Feb 2022 11:58:04 +0100] rev 48729
rhg: Add support for HGPLAINEXPECT
Differential Revision: https://phab.mercurial-scm.org/D12163
Augie Fackler <augie@google.com> [Thu, 10 Feb 2022 13:24:38 -0500] rev 48728
merge: with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 09 Feb 2022 16:07:50 +0100] rev 48727
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 48726
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 48725
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
Anton Shestakov <av6@dwimlabs.net> [Mon, 07 Feb 2022 12:29:43 +0300] rev 48724
scmutil: obsrevs is already a frozenset
Differential Revision: https://phab.mercurial-scm.org/D12157
Anton Shestakov <av6@dwimlabs.net> [Mon, 07 Feb 2022 12:25:46 +0300] rev 48723
obsolete: always return frozensets from obsolete.getrevs()
getrevs function already returns an empty frozenset when there is no obsstore,
but let's make sure to return a frozenset in any case. This makes it possible
to use the result of this function as a dict key or provide it to hash()
built-in function without any conversions.
Differential Revision: https://phab.mercurial-scm.org/D12156
pacien <pacien.trangirard@pacien.net> [Wed, 26 Jan 2022 13:18:48 +0100] rev 48722
revlog: split revlog v1 and revlog v2 handling
Explicitly splitting their fields packing and unpacking makes it easier to
extend the existing C implemenation to handle the new changelog format, whose
fields and offsets are not simply a superset of the revlog.
Differential Revision: https://phab.mercurial-scm.org/D12137
pacien <pacien.trangirard@pacien.net> [Wed, 26 Jan 2022 13:08:36 +0100] rev 48721
revlog: extract entry byte offsets into named constants
Labelling the fields pointed by the given offsets shared by revlog v1 and v2.
Differential Revision: https://phab.mercurial-scm.org/D12136
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Feb 2022 15:45:53 +0100] rev 48720
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 .
Anton Shestakov <av6@dwimlabs.net> [Mon, 07 Feb 2022 13:24:30 +0300] rev 48719
branchmap: split a long condition in branchcache.validfor(), add comments
Differential Revision: https://phab.mercurial-scm.org/D12138
Anton Shestakov <av6@dwimlabs.net> [Sun, 06 Feb 2022 19:31:39 +0300] rev 48718
branchmap: don't add branch entries if there are no heads
We definitely don't want any empty entries to be present in repo.branchmap()
just for the sake of not breaking test-notify.t.
No test changes required because the previous patch made notify extension to
not raise any tracebacks in case of RepoLookupErrors.
Differential Revision: https://phab.mercurial-scm.org/D12135
Anton Shestakov <av6@dwimlabs.net> [Sun, 06 Feb 2022 19:14:51 +0300] rev 48717
notify: don't produce errors if a revision is not found
Notify extension has a way to only subscribe to a specific revset, such as
"branch(foo)". Before this patch, when there was no branch with that name, it
would produce a traceback saying "unknown revision: foo". With this patch it
would no longer do that, and instead it'll assume there are no revisions that
match this revset. I think this patch is an improvement in general, but there's
a reason I'm sending it now.
test-notify.t has a test case where it obsoletes the only revision on a branch,
and previously that wouldn't produce any complications, because head
computation wasn't obsolescence-aware. Now if the only revision on a branch is
obsolete, repo should not see that branch at all.
That branch will still be present in branchcache (with an empty list of
revisions) until the next patch.
Differential Revision: https://phab.mercurial-scm.org/D12134
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 03 Feb 2022 18:14:11 +0100] rev 48716
narrow: allow merging non-conflicting change outside of the narrow spec
We use the mergestate to carry information about these merge action and
reprocess them at commit time to apply the necessary update.
The dirstate itself is never affected and remains "pure", with content only in
the narrow-spec. This file involved in such merge are therefor not listed in `hg
status`.
The current testing is based on a modification of the previous testing, that
refused to do such merges. As a result it is a bit simple and more extensive
code and testing testing will have to be introduced later. I am planning to do
this extra testing, soon.
In addition, this only works for flat manifest. Support for tree manifest will
need more work. I am not currently planning to do this work.
Differential Revision: https://phab.mercurial-scm.org/D12119