Thu, 03 Mar 2022 09:43:10 +0900 cext: backout e9ca736f5b52 "remove Python 2 file handling code"
Yuya Nishihara <yuya@tcha.org> [Thu, 03 Mar 2022 09:43:10 +0900] rev 48840
cext: backout e9ca736f5b52 "remove Python 2 file handling code" It's if"n"def.
Wed, 02 Mar 2022 10:32:36 -0500 rust: jettison Python 2 support
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:32:36 -0500] rev 48839
rust: jettison Python 2 support Differential Revision: https://phab.mercurial-scm.org/D12283
Wed, 02 Mar 2022 10:30:37 -0500 setup: always decode xcode version
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:30:37 -0500] rev 48838
setup: always decode xcode version Not decoding was a Python 2 thing. Differential Revision: https://phab.mercurial-scm.org/D12282
Wed, 02 Mar 2022 10:29:54 -0500 setup: remove Rust support for Python 2
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:29:54 -0500] rev 48837
setup: remove Rust support for Python 2 Differential Revision: https://phab.mercurial-scm.org/D12281
Wed, 02 Mar 2022 10:25:11 -0500 cleanup: stop bundling concurrent.futures on Python 2
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:25:11 -0500] rev 48836
cleanup: stop bundling concurrent.futures on Python 2 We no longer support Python 2. Differential Revision: https://phab.mercurial-scm.org/D12280
Wed, 02 Mar 2022 10:24:49 -0500 cleanup: directly use concurrent.futures instead of via pycompat
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:24:49 -0500] rev 48835
cleanup: directly use concurrent.futures instead of via pycompat Python 2 is gone. Differential Revision: https://phab.mercurial-scm.org/D12279
Wed, 02 Mar 2022 10:23:53 -0500 imports: allow importing futures from concurrent
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:23:53 -0500] rev 48834
imports: allow importing futures from concurrent Differential Revision: https://phab.mercurial-scm.org/D12278
Wed, 02 Mar 2022 10:14:24 -0500 setup: remove pygit2 Python 2 logic
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:14:24 -0500] rev 48833
setup: remove pygit2 Python 2 logic Differential Revision: https://phab.mercurial-scm.org/D12277
Wed, 02 Mar 2022 10:13:45 -0500 setup: inline now-constant list
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:13:45 -0500] rev 48832
setup: inline now-constant list This varied when we supported Python 2. Differential Revision: https://phab.mercurial-scm.org/D12276
Wed, 02 Mar 2022 10:13:09 -0500 setup: unconditionally do this python 3 step
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:13:09 -0500] rev 48831
setup: unconditionally do this python 3 step Differential Revision: https://phab.mercurial-scm.org/D12275
Wed, 02 Mar 2022 10:12:48 -0500 setup: remove Python 2 support code for determining dylib suffix
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:12:48 -0500] rev 48830
setup: remove Python 2 support code for determining dylib suffix Differential Revision: https://phab.mercurial-scm.org/D12274
Wed, 02 Mar 2022 10:12:17 -0500 setup: inline os.fsdecode now that we're done with Python 2
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:12:17 -0500] rev 48829
setup: inline os.fsdecode now that we're done with Python 2 Differential Revision: https://phab.mercurial-scm.org/D12273
Wed, 02 Mar 2022 10:11:37 -0500 setup: inline encoding constant that is only used once
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:11:37 -0500] rev 48828
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
Wed, 02 Mar 2022 10:07:49 -0500 setup: remove printf trampoline
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:07:49 -0500] rev 48827
setup: remove printf trampoline Differential Revision: https://phab.mercurial-scm.org/D12271
Wed, 02 Mar 2022 10:07:21 -0500 setup: remove more Python 2 support code
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:07:21 -0500] rev 48826
setup: remove more Python 2 support code I'll inline print() etc in future patches. Differential Revision: https://phab.mercurial-scm.org/D12270
Wed, 02 Mar 2022 10:06:37 -0500 setup: remove ssl check that only matters on 2.7
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:06:37 -0500] rev 48825
setup: remove ssl check that only matters on 2.7 Differential Revision: https://phab.mercurial-scm.org/D12269
Wed, 02 Mar 2022 10:05:45 -0500 setup: remove block that tries to help Python 2.6 users
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:05:45 -0500] rev 48824
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
Wed, 02 Mar 2022 10:04:04 -0500 setup: drop statement of support for Python before 3.5.3
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:04:04 -0500] rev 48823
setup: drop statement of support for Python before 3.5.3 🎉🎉 Differential Revision: https://phab.mercurial-scm.org/D12266
Sun, 20 Feb 2022 16:11:21 -0700 cext: remove inline rewriting of argv
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:11:21 -0700] rev 48822
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
Sun, 20 Feb 2022 16:09:02 -0700 cext: remove PY23()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:09:02 -0700] rev 48821
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
Sun, 20 Feb 2022 16:13:57 -0700 cext: unconditionalize PySlice_GetIndicesEx()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:13:57 -0700] rev 48820
cext: unconditionalize PySlice_GetIndicesEx() We only support Python 3 now. Differential Revision: https://phab.mercurial-scm.org/D12231
Sun, 20 Feb 2022 16:13:23 -0700 cext: unconditionalize PYLONG_VALUE()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:13:23 -0700] rev 48819
cext: unconditionalize PYLONG_VALUE() We only support Python 3 now. Differential Revision: https://phab.mercurial-scm.org/D12230
Sun, 20 Feb 2022 15:50:46 -0700 cext: use PyLong symbols
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:50:46 -0700] rev 48818
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
Sun, 20 Feb 2022 15:48:35 -0700 cext: use PyLong symbols
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:48:35 -0700] rev 48817
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
Sun, 20 Feb 2022 15:47:13 -0700 cext: remove Python 2 support
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:47:13 -0700] rev 48816
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
Sun, 20 Feb 2022 15:45:51 -0700 cext: remove Python 2 file handling code
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:45:51 -0700] rev 48815
cext: remove Python 2 file handling code Differential Revision: https://phab.mercurial-scm.org/D12226
Sun, 20 Feb 2022 15:45:16 -0700 cext: remove Python 2 variant of listdir_slot()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:45:16 -0700] rev 48814
cext: remove Python 2 variant of listdir_slot() Differential Revision: https://phab.mercurial-scm.org/D12225
Sun, 20 Feb 2022 15:44:39 -0700 cext: remove some conditional preprocessor defines
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:44:39 -0700] rev 48813
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
Sun, 20 Feb 2022 15:43:30 -0700 cext: unconditionally use PyLong_FromLong()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:43:30 -0700] rev 48812
cext: unconditionally use PyLong_FromLong() We no longer support Python 2. Differential Revision: https://phab.mercurial-scm.org/D12223
Sun, 20 Feb 2022 15:42:47 -0700 cext: drop preprocessor PyInt aliases
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:42:47 -0700] rev 48811
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
Sun, 20 Feb 2022 15:40:39 -0700 cext: remove Python 2 module initializer functions
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:40:39 -0700] rev 48810
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
Mon, 21 Feb 2022 19:51:23 +0000 rhg: simplify the handling of share-safe config mismatch
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 21 Feb 2022 19:51:23 +0000] rev 48809
rhg: simplify the handling of share-safe config mismatch Differential Revision: https://phab.mercurial-scm.org/D12213
Tue, 01 Mar 2022 16:44:59 +0100 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Tue, 01 Mar 2022 16:44:59 +0100] rev 48808
branching: merge stable into default
Tue, 01 Mar 2022 16:39:14 +0100 Added signature for changeset d4486810a179 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 01 Mar 2022 16:39:14 +0100] rev 48807
Added signature for changeset d4486810a179
Tue, 01 Mar 2022 16:39:06 +0100 Added tag 6.1 for changeset d4486810a179 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 01 Mar 2022 16:39:06 +0100] rev 48806
Added tag 6.1 for changeset d4486810a179
Mon, 28 Feb 2022 18:34:23 +0100 merge: remove direct rustmod reference stable 6.1
Raphaël Gomès <rgomes@octobus.net> [Mon, 28 Feb 2022 18:34:23 +0100] rev 48805
merge: remove direct rustmod reference We shouldn't rely on this member being present in `dirstate.py`, this creates unnecessary coupling. This also can trigger certain issues in edge-cases where the policy is changed at runtime or multiple Python environments fight, which is an added bonus. Differential Revision: https://phab.mercurial-scm.org/D12217
Mon, 21 Feb 2022 11:22:40 +0100 relnotes: add 6.1 stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 21 Feb 2022 11:22:40 +0100] rev 48804
relnotes: add 6.1 Differential Revision: https://phab.mercurial-scm.org/D12205
Fri, 18 Feb 2022 13:14:32 +0100 relnotes: add 6.0.3 stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 18 Feb 2022 13:14:32 +0100] rev 48803
relnotes: add 6.0.3 Differential Revision: https://phab.mercurial-scm.org/D12204
Fri, 18 Feb 2022 12:51:23 +0100 windows: adjust test output in test-merge-tools.t stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 18 Feb 2022 12:51:23 +0100] rev 48802
windows: adjust test output in test-merge-tools.t Differential Revision: https://phab.mercurial-scm.org/D12216
Fri, 18 Feb 2022 12:51:06 +0100 windows: generalize output for test-status-tracked-key.t stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 18 Feb 2022 12:51:06 +0100] rev 48801
windows: generalize output for test-status-tracked-key.t Differential Revision: https://phab.mercurial-scm.org/D12215
Tue, 22 Feb 2022 11:51:08 +0100 windows: skip a section of a test that is legitimately broken on windows stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Feb 2022 11:51:08 +0100] rev 48800
windows: skip a section of a test that is legitimately broken on windows See the comment in the test itself. Differential Revision: https://phab.mercurial-scm.org/D12214
Mon, 21 Feb 2022 12:03:57 +0100 heptapod-ci: remove Python 2 support
Raphaël Gomès <rgomes@octobus.net> [Mon, 21 Feb 2022 12:03:57 +0100] rev 48799
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
Fri, 18 Feb 2022 14:32:26 +0100 Added signature for changeset c00d3ce4e94b stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 18 Feb 2022 14:32:26 +0100] rev 48798
Added signature for changeset c00d3ce4e94b
Fri, 18 Feb 2022 14:32:09 +0100 Added tag 6.1rc0 for changeset c00d3ce4e94b stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 18 Feb 2022 14:32:09 +0100] rev 48797
Added tag 6.1rc0 for changeset c00d3ce4e94b
Fri, 18 Feb 2022 14:27:43 +0100 branching: merge default into stable for 6.1 freeze stable 6.1rc0
Raphaël Gomès <rgomes@octobus.net> [Fri, 18 Feb 2022 14:27:43 +0100] rev 48796
branching: merge default into stable for 6.1 freeze
Fri, 18 Feb 2022 12:58:44 +0100 branching: merge 6.0.3 stable into default
Raphaël Gomès <rgomes@octobus.net> [Fri, 18 Feb 2022 12:58:44 +0100] rev 48795
branching: merge 6.0.3 stable into default
Fri, 18 Feb 2022 11:37:08 +0100 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Fri, 18 Feb 2022 11:37:08 +0100] rev 48794
branching: merge stable into default
Thu, 17 Feb 2022 07:34:49 +0100 tracked-key: remove the dual write and rename to tracked-hint
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 17 Feb 2022 07:34:49 +0100] rev 48793
tracked-key: remove the dual write and rename to tracked-hint 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
Thu, 17 Feb 2022 06:41:54 +0100 tracked-file: rename the format option to use `use-`
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 17 Feb 2022 06:41:54 +0100] rev 48792
tracked-file: rename the format option to use `use-` This is more consistent with the other options. Differential Revision: https://phab.mercurial-scm.org/D12200
Thu, 17 Feb 2022 06:35:42 +0100 tracked-key: update the requirement value
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 17 Feb 2022 06:35:42 +0100] rev 48791
tracked-key: update the requirement value We renamed the config option but we forgot to change the actual value… Differential Revision: https://phab.mercurial-scm.org/D12199
Thu, 17 Feb 2022 06:32:03 +0100 tracked-key: make it possible to upgrade to and downgrade from the feature
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 17 Feb 2022 06:32:03 +0100] rev 48790
tracked-key: make it possible to upgrade to and downgrade from the feature This seems rather important if we want people to start using it. Differential Revision: https://phab.mercurial-scm.org/D12198
Mon, 31 Jan 2022 18:13:00 +0300 obsolete: don't use os.stat in repo.obsstore.__nonzero__ if it's static HTTP
Anton Shestakov <av6@dwimlabs.net> [Mon, 31 Jan 2022 18:13:00 +0300] rev 48789
obsolete: don't use os.stat in repo.obsstore.__nonzero__ if it's static HTTP If a repo is accessed via static HTTP, then we obviously can't use os.stat() to just peek at the file size. Let's download the entire file to check its size. Yes, this feels wasteful, but: 1. If we're cloning or pulling a repo from a static HTTP server, we need the contents of the obsstore anyway. 2. Implementing statichttpvfs.stat() that uses HEAD will result in one more request to a static-only HTTP server, which is already slow. Also parsing a response to a HEAD request to construct os.stat_result is pretty hacky. There's also a question of the remote server properly supporting HEAD method and reporting at least file size. 3. Implementing statichttpvfs.stat() that uses GET is pretty much the same thing as we do here, except we can't even cache the response easily, unlike simply accessing obsstore._data, which is @propertycache'd. Importing statichttprepo locally to avoid circular import. See also: 4507bc001365 and commit message of f8f2ecdde4b5. Differential Revision: https://phab.mercurial-scm.org/D12195
Mon, 14 Feb 2022 22:49:03 -0800 filemerge: make `_maketempfiles()` more reusable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 Feb 2022 22:49:03 -0800] rev 48788
filemerge: make `_maketempfiles()` more reusable `_maketempfiles()` is very specialized for its current use. I hope to use it also when creating temporary files for input for tools that do partial conflict resolution. That'll be possible if the function is more generic. Instead of passing in two contexts (for "other" and "base") and an optional path (for "local"), let's pass a single list of files to make backups for. Even if we don't end up using for partial conflict resolution, this is still a simplification (but I do have a WIP patch for partial conflict resolution and it is able to benefit from this). Differential Revision: https://phab.mercurial-scm.org/D12193
Mon, 14 Feb 2022 22:16:29 -0800 filemerge: reduce some duplication in `_maketempfiles()`
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 Feb 2022 22:16:29 -0800] rev 48787
filemerge: reduce some duplication in `_maketempfiles()` The two callers of the local `maketempfrompath()` function used the returned file object in the same way. We can reduce duplication by moving that code into the function. Differential Revision: https://phab.mercurial-scm.org/D12192
Mon, 14 Feb 2022 22:11:50 -0800 filemerge: use leverage `util.readfile()` in `_maketempfiles()`
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 Feb 2022 22:11:50 -0800] rev 48786
filemerge: use leverage `util.readfile()` in `_maketempfiles()` Differential Revision: https://phab.mercurial-scm.org/D12191
Mon, 14 Feb 2022 22:04:50 -0800 filemerge: move removal of `.orig` extension on temp file close to context
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 Feb 2022 22:04:50 -0800] rev 48785
filemerge: move removal of `.orig` extension on temp file close to context The place where the `.orig` extension is removed in `_maketempfiles()` doesn't make it clear that it's the backup path, which is why we have a comment in the code explaining it. Let's instead move it out of the function and close to where we get it from `backup.path()`, so that becomes clear. Differential Revision: https://phab.mercurial-scm.org/D12190
Mon, 14 Feb 2022 21:52:18 -0800 filemerge: remove `uselocalpath` argument from `_maketempfiles()`
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 Feb 2022 21:52:18 -0800] rev 48784
filemerge: remove `uselocalpath` argument from `_maketempfiles()` The `localpath` argument is unused if `uselocalpath` is false, so we can use `None` as a sentinel value for the variable instead and remove extra `uselocalpath` argument. That's not much of a win, but it's a small step towards further improvements. Differential Revision: https://phab.mercurial-scm.org/D12189
Fri, 11 Feb 2022 22:39:53 -0800 filemerge: remove an unnecessary join with absolute path
Martin von Zweigbergk <martinvonz@google.com> [Fri, 11 Feb 2022 22:39:53 -0800] rev 48783
filemerge: remove an unnecessary join with absolute path The `backup` path is now always absolute, so we don't need to join it with the working copy path. Differential Revision: https://phab.mercurial-scm.org/D12188
Fri, 11 Feb 2022 21:39:55 -0800 filemerge: when using in-memory merge, always put backup files in temp dir
Martin von Zweigbergk <martinvonz@google.com> [Fri, 11 Feb 2022 21:39:55 -0800] rev 48782
filemerge: when using in-memory merge, always put backup files in temp dir Before calling a merge tool, we create a backup of the local side of the merge. That file can be put in the working copy or in a temporary directory, depending on the user's config. When we're merging in memory, we don't want to write to the actual, on-disk working copy, so we write the file to the in-memory working copy instead. However, since we don't support external merge tools with in-memory merge, it makes no difference where the file is actually stored (and if we ever do add support for external merge tools, then the file clearly can't live in the in-memory working-copy object anyway). So, since it doesn't matter where the file is stored, we can simplify by always putting them in the system's temp directory. Differential Revision: https://phab.mercurial-scm.org/D12187
Tue, 15 Feb 2022 20:18:57 -0800 filemerge: remove unused `repo` argument from `_maketempfiles()`
Martin von Zweigbergk <martinvonz@google.com> [Tue, 15 Feb 2022 20:18:57 -0800] rev 48781
filemerge: remove unused `repo` argument from `_maketempfiles()` I missed this in D12171. Differential Revision: https://phab.mercurial-scm.org/D12194
(0) -30000 -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 tip