- Feb 08, 2022
-
-
Martin von Zweigbergk authored
`filemerge.filemerge()` returns `None` if no merge was needed because the two sides were identical. I'd like to move that to the caller. This is a little refactoring to prepare for that. Differential Revision: https://phab.mercurial-scm.org/D12153
-
- Feb 07, 2022
-
-
Martin von Zweigbergk authored
The `ui` argument is no longer needed now that we don't handle `--print` in the library code. Differential Revision: https://phab.mercurial-scm.org/D12151
-
- Jan 18, 2022
-
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D12150
-
Martin von Zweigbergk authored
When premerge is enabled (as it is for non-binary inputs by default) and the markers are not kept, we currently still write it to the output context and then restore the previous content right after. With the refactoring in the previous patch, we can easily avoid that step and instead write the output in the opposite case (i.e. when it's successful or when the markers are supposed to be kept). Differential Revision: https://phab.mercurial-scm.org/D12149
-
- Jan 14, 2022
-
-
Martin von Zweigbergk authored
The `mercurial.simplemerge` module still has some command-lines processing that doesn't belong in such a low-level module. This patch moves the handling of `hg simplemerge --print` to the extension by having `mercurial.simplemerge.simplemerge()` return the merged text. Differential Revision: https://phab.mercurial-scm.org/D12148
-
- Feb 10, 2022
-
-
Martin von Zweigbergk authored
The callers now do the checking for binary inputs and handle warnings and/or errors, so we can remove that code from the low-level `simplemerge` module now. After this patch we just raise an error unless the caller told us to allow binary inputs. Differential Revision: https://phab.mercurial-scm.org/D12169
-
Martin von Zweigbergk authored
This is similar to the previous patch, but here we put a specialized copy of `simplemerge._verifytext()` in the the `filemerge` module instead. Differential Revision: https://phab.mercurial-scm.org/D12147
-
Martin von Zweigbergk authored
The `simplemerge` module does too much UI-related things. This patch puts a specialized copy of `simplemerge._verifytext()` in the simplemerge extension. Differential Revision: https://phab.mercurial-scm.org/D12146
-
Martin von Zweigbergk authored
I want to be able to update the file contents for support for partial conflict resolution. Having the text available (and later settable) on `MergeInput` will enable that. Differential Revision: https://phab.mercurial-scm.org/D12144
-
- Feb 05, 2022
-
-
Martin von Zweigbergk authored
I'm about to add more logic and state to it. Differential Revision: https://phab.mercurial-scm.org/D12145
-
- Feb 10, 2022
-
-
Martin von Zweigbergk authored
The `simplemerge` module is library code; it should not get an unmodified `opts` dict from the `simplemerge` extension. Differential Revision: https://phab.mercurial-scm.org/D12152
-
- Feb 03, 2022
-
-
Pierre-Yves David authored
This extend f1eb77dceb36 to test and support the remaining action. Or, at least, the simple incarnation of them. Differential Revision: https://phab.mercurial-scm.org/D12181
-
- Jan 21, 2022
-
-
Simon Sapin authored
… when the repository root is under the current directory, so the kernel needs to traverse fewer directory in every call to `read_dir` or `symlink_metadata`. Better yet would be to use libc functions like `openat` and `fstatat` to remove such repeated traversals entirely, but the standard library does not provide APIs based on those. Maybe with a crate like https://crates.io/crates/openat instead? Benchmarks of `rhg status` show that this patch is neutral in some configurations, and makes the command up to ~20% faster in others. Below is semi-arbitrary subset of results. The four numeric columns are: time (in seconds) with this changeset’s parent, time with this changeset, time difference (negative is better), time ratio (less than 1 is better). ``` mercurial-dirstate-v1 | default-plain-clean.no-iu.pbr | 0.0061 -> 0.0059: -0.0002 (0.97) mercurial-dirstate-v2 | default-plain-clean.no-iu.pbr | 0.0029 -> 0.0028: -0.0001 (0.97) mozilla-dirstate-v1 | default-plain-clean.no-iu.pbr | 0.2110 -> 0.2102: -0.0007 (1.00) mozilla-dirstate-v2 | default-copies-clean.ignored.pbr | 0.0489 -> 0.0401: -0.0088 (0.82) mozilla-dirstate-v2 | default-copies-clean.no-iu.pbr | 0.0479 -> 0.0393: -0.0085 (0.82) mozilla-dirstate-v2 | default-copies-large.all.pbr | 0.1262 -> 0.1210: -0.0051 (0.96) mozilla-dirstate-v2 | default-copies-small.ignored-unknown.pbr | 0.1262 -> 0.1200: -0.0062 (0.95) mozilla-dirstate-v2 | default-copies-small.ignored.pbr | 0.0536 -> 0.0417: -0.0119 (0.78) mozilla-dirstate-v2 | default-copies-small.no-iu.pbr | 0.0482 -> 0.0393: -0.0089 (0.81) mozilla-dirstate-v2 | default-plain-clean.ignored.pbr | 0.0518 -> 0.0402: -0.0116 (0.78) mozilla-dirstate-v2 | default-plain-clean.no-iu.pbr | 0.0481 -> 0.0392: -0.0088 (0.82) mozilla-dirstate-v2 | default-plain-large.all.pbr | 0.1271 -> 0.1218: -0.0052 (0.96) mozilla-dirstate-v2 | default-plain-small.ignored-unknown.pbr | 0.1225 -> 0.1202: -0.0022 (0.98) mozilla-dirstate-v2 | default-plain-small.ignored.pbr | 0.0510 -> 0.0418: -0.0092 (0.82) mozilla-dirstate-v2 | default-plain-small.no-iu.pbr | 0.0480 -> 0.0394: -0.0086 (0.82) netbeans-dirstate-v1 | default-plain-clean.no-iu.pbr | 0.1442 -> 0.1422: -0.0020 (0.99) netbeans-dirstate-v2 | default-plain-clean.no-iu.pbr | 0.0325 -> 0.0282: -0.0043 (0.87) ``` Differential Revision: https://phab.mercurial-scm.org/D12175
-
- Feb 14, 2022
-
-
Simon Sapin authored
All `io::Error` cases are now handled through PatternFileWarning or BadMatch Differential Revision: https://phab.mercurial-scm.org/D12174
-
Simon Sapin authored
Differential Revision: https://phab.mercurial-scm.org/D12173
-
- Feb 07, 2022
-
-
sliquister authored
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
-
- Feb 09, 2022
-
-
Mitchell Hentges authored
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
-
- Feb 10, 2022
-
-
Simon Sapin authored
The full test suite now passes with `hg` pointing to rhg. Differential Revision: https://phab.mercurial-scm.org/D12162
-
- Feb 08, 2022
-
-
Simon Sapin authored
Differential Revision: https://phab.mercurial-scm.org/D12168
-
- Feb 10, 2022
-
-
Simon Sapin authored
The same "label" system is used as in Python code Differential Revision: https://phab.mercurial-scm.org/D12167
-
Simon Sapin authored
Differential Revision: https://phab.mercurial-scm.org/D12166
-
Simon Sapin authored
This allows propagating color configuration errors Differential Revision: https://phab.mercurial-scm.org/D12165
-
Simon Sapin authored
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 authored
Differential Revision: https://phab.mercurial-scm.org/D12163
-
Augie Fackler authored
-
- Feb 09, 2022
-
-
Pierre-Yves David authored
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 authored
This was copy pasted and overlooked when it got in. Differential Revision: https://phab.mercurial-scm.org/D12160
-
Pierre-Yves David authored
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
-
- Feb 07, 2022
-
-
Anton Shestakov authored
Differential Revision: https://phab.mercurial-scm.org/D12157
-
Anton Shestakov authored
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
-
- Jan 26, 2022
-
-
Euxane TRAN-GIRARD authored
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
-
Euxane TRAN-GIRARD authored
Labelling the fields pointed by the given offsets shared by revlog v1 and v2. Differential Revision: https://phab.mercurial-scm.org/D12136
-
- Feb 07, 2022
-
-
kiilerix authored
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 authored
Differential Revision: https://phab.mercurial-scm.org/D12138
-
- Feb 06, 2022
-
-
Anton Shestakov authored
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 authored
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
-
- Feb 03, 2022
-
-
Pierre-Yves David authored
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
-
- Jan 30, 2022
-
-
Pierre-Yves David authored
This will be useful when processing merges action outside of the narrow-spec. "support" outside of narrow file on commit Differential Revision: https://phab.mercurial-scm.org/D12118
-
- Jan 29, 2022
-
-
Pierre-Yves David authored
This allow the core doing narrow filtering to process action without explicitely listing all possible actions. This is important to make the actions system more flexible in the future. Differential Revision: https://phab.mercurial-scm.org/D12117
-
- Jan 28, 2022
-
-
Pierre-Yves David authored
This make the MergeAction smarter and able to describe themself. This is useful to help introducing more MergeAction object that better the complexity of the situation. Differential Revision: https://phab.mercurial-scm.org/D12116
-