- Feb 20, 2022
-
-
Gregory Szorc authored
I simply did a search for `^.* \(no-py3 !\)\n` and removed all matched lines. There are still some references to no-py3. But these were the simpler ones to match against. Differential Revision: https://phab.mercurial-scm.org/D12253
-
Gregory Szorc authored
Previously, pycompat.bytesio and pycompat.stringio referred to io.BytesIO. And util.bytesio and util.stringio aliased the pycompat symbols. This commit switches everything to use io.BytesIO directly. util.bytesio and util.stringio still exist to provide backwards compatibility, as they were the preferred symbols. Differential Revision: https://phab.mercurial-scm.org/D12252
-
- Mar 02, 2022
-
-
Gregory Szorc authored
pycompat.pickle abstracted over the different pickle modules in Python 2 and 3. Now that we're Python 3 only, it is safe to use the `pickle` module directly. So this commit does that. As part of this we remove the rules from check-code.py that were forbidden direct pickle module use. We retain the `util.pickle` symbol for backwards compatibility, just in case some extensions were using it. Differential Revision: https://phab.mercurial-scm.org/D12249
-
- Feb 20, 2022
-
-
Gregory Szorc authored
Now that we require Python 3 we can simplify these imports. Differential Revision: https://phab.mercurial-scm.org/D12245
-
Gregory Szorc authored
This removes the last references to PYTHON3. Differential Revision: https://phab.mercurial-scm.org/D12244
-
Gregory Szorc authored
PYTHON3 is always True. So this flow can be reduced. Differential Revision: https://phab.mercurial-scm.org/D12243
-
Gregory Szorc authored
These can never be used anymore. Differential Revision: https://phab.mercurial-scm.org/D12242
-
Gregory Szorc authored
As part of requiring Python 3. Differential Revision: https://phab.mercurial-scm.org/D12241
-
Gregory Szorc authored
Differential Revision: https://phab.mercurial-scm.org/D12240
-
Gregory Szorc authored
Differential Revision: https://phab.mercurial-scm.org/D12239
-
Gregory Szorc authored
We could probably just do bytes([x]) everywhere. But this eliminates use of PYTHON3. Differential Revision: https://phab.mercurial-scm.org/D12238
-
Gregory Szorc authored
Now that we're Python 3 only we can make this logic simpler. Differential Revision: https://phab.mercurial-scm.org/D12237
-
Gregory Szorc authored
PYTHON3 is always True now so this logic should be identical as to before. Differential Revision: https://phab.mercurial-scm.org/D12236
-
Gregory Szorc authored
This doesn't account for all of the references to PYTHON3. But it accounts for the ones that are more trivial and don't entail logical changes. Differential Revision: https://phab.mercurial-scm.org/D12235
-
Gregory Szorc authored
We change the version check logic to hard fail if running on <= 3.5.0. The branch for <3.5 has been deleted. And the >=3.5 branch block has been dedented. Differential Revision: https://phab.mercurial-scm.org/D12234
-
Gregory Szorc authored
This commit started by deleting references to py2exe (which is only used on Python 2). After pulling the thread, quite a lot of code was orphaned and was deleted. Differential Revision: https://phab.mercurial-scm.org/D12265
-
- Feb 18, 2022
-
-
Raphaël Gomès authored
Differential Revision: https://phab.mercurial-scm.org/D12216
-
Raphaël Gomès authored
Differential Revision: https://phab.mercurial-scm.org/D12215
-
- Feb 22, 2022
-
-
Pierre-Yves David authored
See the comment in the test itself. Differential Revision: https://phab.mercurial-scm.org/D12214
-
- Feb 17, 2022
-
-
Pierre-Yves David authored
The dual-write approach was mostly useless. As explained in the previous version of the help, the key had to be read twice before we could cache a value. However this "read twice" limitation actually also apply to any usage of the key. If some operation wants to rely of the "same value == same tracked set" property it would need to read the value before, and after running that operation (or at least, after, in all cases). So it cannot be sure the operation it did is "valid" until checking the key after the operation. As a resultat such operation can only be read-only or rollbackable. This reduce the utility of the "same value == same tracked set" a lot. So it seems simpler to drop the double write and to update the documentation to highlight that this file does not garantee race-free operation. As a result the "key" is demoted to a "hint". Documentation is updated accordingly. Differential Revision: https://phab.mercurial-scm.org/D12201
-
Pierre-Yves David authored
This is more consistent with the other options. Differential Revision: https://phab.mercurial-scm.org/D12200
-
Pierre-Yves David authored
We renamed the config option but we forgot to change the actual value… Differential Revision: https://phab.mercurial-scm.org/D12199
-
Pierre-Yves David authored
This seems rather important if we want people to start using it. Differential Revision: https://phab.mercurial-scm.org/D12198
-
- Feb 15, 2022
-
-
Pierre-Yves David authored
This only affects the dirstate and is safe to upgrade in the share. Differential Revision: https://phab.mercurial-scm.org/D12197
-
Pierre-Yves David authored
This would work for a subset of action only. Our first target is dirstate-v2. Differential Revision: https://phab.mercurial-scm.org/D12196
-
- Feb 16, 2022
-
-
Martin von Zweigbergk authored
-
- Feb 12, 2022
-
-
Martin von Zweigbergk authored
The feature introduced in D2888 seems like a pure improvement to me. It makes the names' of temporary file easier to read. Let's have it always enabled. I also removed the config option for the path prefix because it doesn't seem useful. I asked Kyle (the author of the feature) about it and he couldn't think of a reason to keep it. I suspect it was just that we to have a config to turn it on/off while it was experimental, so it might as well be a configurable prefix then. Differential Revision: https://phab.mercurial-scm.org/D12171
-
- Feb 15, 2022
-
-
Pierre-Yves David authored
Special cases are not special enough, we align the option name on the other. The `version` value is undocumented for now as it can only have a single value. It is supported in the code to properly detect and abort if more value are introduced in the future value. Differential Revision: https://phab.mercurial-scm.org/D12184
-
- Feb 07, 2022
-
-
Euxane TRAN-GIRARD authored
This allows Python code to make use of the C implementation of the changelogv2 base operations when the C extensions are enabled. The `format_version` values are now shared between the C and Python sides, avoiding an additional translation for the selection of the format version to use. Differential Revision: https://phab.mercurial-scm.org/D12179
-
- Feb 14, 2022
-
-
Raphaël Gomès authored
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
-
- Feb 11, 2022
-
-
Raphaël Gomès authored
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
-
- Jan 28, 2022
-
-
Pierre-Yves David authored
This adds a regression test for the computation of the rank, using the current values computed with the naive algorithm as the "golden" reference. Differential Revision: https://phab.mercurial-scm.org/D12142
-
Euxane TRAN-GIRARD authored
This adds a small test checking the rank computation in the case of a merge. Differential Revision: https://phab.mercurial-scm.org/D12141
-
- Feb 08, 2022
-
-
Martin von Zweigbergk authored
`filemerge.filemerge()` returns `None` if no merge was necessary because the two sides were identical. I don't think it should be that function's responsibility to handle that case; we should ideally not even call `filemerge.filemerge()` if the two inputs identical. This patch therefore moves the check out to the caller (`mergestate.py`). The largefiles test changed because we now notice that the two sides made the same change, so we don't consider it a merge. Also note that the new message better matches the line above it in the test output. Differential Revision: https://phab.mercurial-scm.org/D12154
-
- 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
-
- 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 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
-
- 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
-