Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:23:21 -0700] rev 48953
tests: remove Python 3 conditionalizing from variables
Differential Revision: https://phab.mercurial-scm.org/D12240
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:22:12 -0700] rev 48952
tests: always encode session
Differential Revision: https://phab.mercurial-scm.org/D12239
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:21:30 -0700] rev 48951
tests: unconditionalize bchr
We could probably just do bytes([x]) everywhere. But this eliminates
use of PYTHON3.
Differential Revision: https://phab.mercurial-scm.org/D12238
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:20:33 -0700] rev 48950
tests: unconditionalize _unified_diff
Now that we're Python 3 only we can make this logic simpler.
Differential Revision: https://phab.mercurial-scm.org/D12237
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:19:21 -0700] rev 48949
tests: collapse elif PYTHON3 block
PYTHON3 is always True now so this logic should be identical as to before.
Differential Revision: https://phab.mercurial-scm.org/D12236
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:16:44 -0700] rev 48948
tests: collapse some more trivial if PYTHON3 blocks
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 <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 11:57:59 -0700] rev 48947
tests: require Python 3.5+ in run-tests.py
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
pacien <pacien.trangirard@pacien.net> [Mon, 21 Feb 2022 16:18:39 +0100] rev 48946
revlog: use rust rank computation if available
Differential Revision: https://phab.mercurial-scm.org/D12212
pacien <pacien.trangirard@pacien.net> [Mon, 21 Feb 2022 16:18:06 +0100] rev 48945
rust: expose rank computation function to python
Differential Revision: https://phab.mercurial-scm.org/D12211
pacien <pacien.trangirard@pacien.net> [Mon, 21 Feb 2022 18:06:02 +0100] rev 48944
rust: implement vcsgraph::RankedGraph for Index
Differential Revision: https://phab.mercurial-scm.org/D12210
pacien <pacien.trangirard@pacien.net> [Mon, 21 Feb 2022 18:05:54 +0100] rev 48943
revlog: implement fast_rank retrieval in C
This will be useful in particular to avoid going through the Python interpreter
in native Rust functions.
Differential Revision: https://phab.mercurial-scm.org/D12209
pacien <pacien.trangirard@pacien.net> [Mon, 21 Feb 2022 15:53:03 +0100] rev 48942
revlog: return 0 for the fast_rank of nullrev
By convention, the rank of the null revision is 0. This particular revision is
never "physically" stored in the changelog, so it is a special case.
For consistency, the value `None` is still being returned for revlogs which do
not store the fast_rank property for any revision.
Differential Revision: https://phab.mercurial-scm.org/D12208
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 02 Mar 2022 18:42:00 -0800] rev 48941
setup: drop support for Python 3.5
We talked about this on the mailing list [1] and there seemed to be
agreement that Python 3.5 is effectively dead and no longer worth
supporting.
So this commit changes our minimum version requirement to 3.6.2.
[1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2022-February/147885.html
Differential Revision: https://phab.mercurial-scm.org/D12315
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 22:14:41 -0700] rev 48940
packaging: remove requirements constraints to support Python 2
We just deleted support for Python 2 from the packaging code. We no longer
need these package constraints in the requirements file to support Python 2.
Differential Revision: https://phab.mercurial-scm.org/D12267
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 22:13:11 -0700] rev 48939
packaging: remove py2exe / Python 2.7 support
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
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 18:42:12 -0700] rev 48938
automation: delete code related to Python 2.7 support
The building of Inno and WiX installers took a python_version argument
that allowed us to specify "2" or "3" for the major Python version. Since
we no longer support Python 2, we can delete this argument and everything
feeding into it.
Differential Revision: https://phab.mercurial-scm.org/D12264
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 18:42:31 -0700] rev 48937
automation: drop support for Python 2.7 in Windows environment
We stop installing Python 2.7 in the Windows environment.
We remove support for building Python 2.7 wheels and installers.
There is still some Python 2.7 support cleanup to perform in automation.
But this removes the biggest remaining chunk of references to 2.7.
Differential Revision: https://phab.mercurial-scm.org/D12263
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 18:18:35 -0700] rev 48936
automation: drop support for Python 2.7 in Linux environment
We stop installing Python 2.7 via pyenv. We stop installing the system
Python 2 packages. We delete support for running tests on Python 2.7.
Differential Revision: https://phab.mercurial-scm.org/D12262
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 18:17:14 -0700] rev 48935
automation: make system3 the default for run-tests-linux
We'll soon drop support for Python 2.7. Let's use Python 3 by
default.
Differential Revision: https://phab.mercurial-scm.org/D12261
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 18:04:49 -0700] rev 48934
automation: run hg with python3
Python 2.7 support will go away soon. Let's use Python 3 as part of
the automation.
Differential Revision: https://phab.mercurial-scm.org/D12260
Simon Sapin <simon.sapin@octobus.net> [Thu, 03 Mar 2022 07:53:11 +0100] rev 48933
rust: enable Python 3 support unconditionally
Note: `cpython/python3-sys` is a default feature.
Differential Revision: https://phab.mercurial-scm.org/D12316
Yuya Nishihara <yuya@tcha.org> [Thu, 03 Mar 2022 09:45:21 +0900] rev 48932
cext: really remove Python 2 file handling code
Disclaimer: This is _WIN32 code and I have no machine to test.
Yuya Nishihara <yuya@tcha.org> [Thu, 03 Mar 2022 09:43:10 +0900] rev 48931
cext: backout e9ca736f5b52 "remove Python 2 file handling code"
It's if"n"def.
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:32:36 -0500] rev 48930
rust: jettison Python 2 support
Differential Revision: https://phab.mercurial-scm.org/D12283
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:30:37 -0500] rev 48929
setup: always decode xcode version
Not decoding was a Python 2 thing.
Differential Revision: https://phab.mercurial-scm.org/D12282
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:29:54 -0500] rev 48928
setup: remove Rust support for Python 2
Differential Revision: https://phab.mercurial-scm.org/D12281
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:25:11 -0500] rev 48927
cleanup: stop bundling concurrent.futures on Python 2
We no longer support Python 2.
Differential Revision: https://phab.mercurial-scm.org/D12280
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:24:49 -0500] rev 48926
cleanup: directly use concurrent.futures instead of via pycompat
Python 2 is gone.
Differential Revision: https://phab.mercurial-scm.org/D12279
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:23:53 -0500] rev 48925
imports: allow importing futures from concurrent
Differential Revision: https://phab.mercurial-scm.org/D12278
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:14:24 -0500] rev 48924
setup: remove pygit2 Python 2 logic
Differential Revision: https://phab.mercurial-scm.org/D12277
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:13:45 -0500] rev 48923
setup: inline now-constant list
This varied when we supported Python 2.
Differential Revision: https://phab.mercurial-scm.org/D12276
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:13:09 -0500] rev 48922
setup: unconditionally do this python 3 step
Differential Revision: https://phab.mercurial-scm.org/D12275
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:12:48 -0500] rev 48921
setup: remove Python 2 support code for determining dylib suffix
Differential Revision: https://phab.mercurial-scm.org/D12274
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:12:17 -0500] rev 48920
setup: inline os.fsdecode now that we're done with Python 2
Differential Revision: https://phab.mercurial-scm.org/D12273
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:11:37 -0500] rev 48919
setup: inline encoding constant that is only used once
This was variable back when we supported Python 2.
Differential Revision: https://phab.mercurial-scm.org/D12272
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:07:49 -0500] rev 48918
setup: remove printf trampoline
Differential Revision: https://phab.mercurial-scm.org/D12271
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:07:21 -0500] rev 48917
setup: remove more Python 2 support code
I'll inline print() etc in future patches.
Differential Revision: https://phab.mercurial-scm.org/D12270
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:06:37 -0500] rev 48916
setup: remove ssl check that only matters on 2.7
Differential Revision: https://phab.mercurial-scm.org/D12269
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:05:45 -0500] rev 48915
setup: remove block that tries to help Python 2.6 users
It's time to move on folks.
Differential Revision: https://phab.mercurial-scm.org/D12268
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:04:04 -0500] rev 48914
setup: drop statement of support for Python before 3.5.3
🎉🎉
Differential Revision: https://phab.mercurial-scm.org/D12266
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:11:21 -0700] rev 48913
cext: remove inline rewriting of argv
This only worked on Python 2. And since we dropped support for Python 2,
we can drop support for this functionality.
Differential Revision: https://phab.mercurial-scm.org/D12233
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:09:02 -0700] rev 48912
cext: remove PY23()
Since we always run on Python 3 now, we no longer need this
macro to support Python 2. We refactor all users to just use
the 2nd argument.
Differential Revision: https://phab.mercurial-scm.org/D12232
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:13:57 -0700] rev 48911
cext: unconditionalize PySlice_GetIndicesEx()
We only support Python 3 now.
Differential Revision: https://phab.mercurial-scm.org/D12231
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:13:23 -0700] rev 48910
cext: unconditionalize PYLONG_VALUE()
We only support Python 3 now.
Differential Revision: https://phab.mercurial-scm.org/D12230
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:50:46 -0700] rev 48909
cext: use PyLong symbols
We no longer support Python 2. So we can unconditionally use the Python 3
symbol names.
Differential Revision: https://phab.mercurial-scm.org/D12229
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:48:35 -0700] rev 48908
cext: use PyLong symbols
We no longer need to support Python 2. So use the Python 3 symbol
names directly.
Differential Revision: https://phab.mercurial-scm.org/D12228
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:47:13 -0700] rev 48907
cext: remove Python 2 support
We still alias the Python 2 symbols. This will be cleaned up in a
separate commit.
Differential Revision: https://phab.mercurial-scm.org/D12227
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:45:51 -0700] rev 48906
cext: remove Python 2 file handling code
Differential Revision: https://phab.mercurial-scm.org/D12226
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:45:16 -0700] rev 48905
cext: remove Python 2 variant of listdir_slot()
Differential Revision: https://phab.mercurial-scm.org/D12225
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:44:39 -0700] rev 48904
cext: remove some conditional preprocessor defines
We may want to inline these defines. But for now, getting rid of the
Python 2 support is a step forward.
Differential Revision: https://phab.mercurial-scm.org/D12224
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:43:30 -0700] rev 48903
cext: unconditionally use PyLong_FromLong()
We no longer support Python 2.
Differential Revision: https://phab.mercurial-scm.org/D12223
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:42:47 -0700] rev 48902
cext: drop preprocessor PyInt aliases
Now that we dropped support for Python 2 we can use the Python 3 native
functions.
Differential Revision: https://phab.mercurial-scm.org/D12222
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:40:39 -0700] rev 48901
cext: remove Python 2 module initializer functions
We no longer need these since we dropped support for Python 2.
Differential Revision: https://phab.mercurial-scm.org/D12221
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 21 Feb 2022 19:51:23 +0000] rev 48900
rhg: simplify the handling of share-safe config mismatch
Differential Revision: https://phab.mercurial-scm.org/D12213
Raphaël Gomès <rgomes@octobus.net> [Tue, 01 Mar 2022 16:44:59 +0100] rev 48899
branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Mon, 21 Feb 2022 12:03:57 +0100] rev 48898
heptapod-ci: remove Python 2 support
(hurray!) 6.1 was the last release to support Python 2, let's lighten
the CI.
Differential Revision: https://phab.mercurial-scm.org/D12206
Raphaël Gomès <rgomes@octobus.net> [Thu, 16 Jun 2022 15:15:03 +0200] rev 48897
relnotes: add 6.1.3 and 6.1.4
Raphaël Gomès <rgomes@octobus.net> [Thu, 16 Jun 2022 15:09:59 +0200] rev 48896
Added signature for changeset 0cc5f74ff7f0
Raphaël Gomès <rgomes@octobus.net> [Thu, 16 Jun 2022 15:09:46 +0200] rev 48895
Added tag 6.1.4 for changeset 0cc5f74ff7f0
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Jun 2022 11:26:18 +0200] rev 48894
purge: prevent a silly crash with --confirm --files
if --files is passed, there was no directory to checks and `msg` was undefined.
This is now fixed and tested.
Raphaël Gomès <rgomes@octobus.net> [Wed, 08 Jun 2022 19:15:58 +0200] rev 48893
rust-status: don't trigger dirstate v1 rewrite when only v2 data is changed
The assumption that we need to rewrite (or append to) the dirstate if the
ignore pattern hash has changed or if any cached directory mtimes have changed
is only valid when using dirstate-v2. In dirstate-v1, neither of these things
are written to disk.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Jun 2022 04:04:08 +0200] rev 48892
commit: allow to close branch when committing change over a closed head
Otherwise, an explicit other commit become necessary, which seems both silly and
verbose.
This is useful when merging closed heads on the same branches, for example when
merging multiple repositories together.
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 May 2022 13:53:50 +0400] rev 48891
logcmdutil: use the same data as {file*} template keywords (issue6642)
Since 0c72eddb4be5 template keywords that show files use a different source of
data than ctx.p1().status(ctx). These two functions in logcmdutil also show
file lists when needed (e.g. log with --debug flag), but previously they used
the old way of just looking at status compared to p1 and it resulted in
differences between e.g. hg log --debug and hg log -T '{file*}'.
test-phases.t needs an adjustment because 7 is a merge commit of two
topological branches and one of them introduces files C, D and E.
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 May 2022 13:52:10 +0400] rev 48890
tests: show that hg log --debug output differs from {file*} template keywords
hg log --debug -T xml doesn't differ, but let's test it because we can.