Tue, 05 Apr 2022 03:36:31 +0200 auto-upgrade: add a test case with no permission to lock the repository
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Apr 2022 03:36:31 +0200] rev 49196
auto-upgrade: add a test case with no permission to lock the repository This show the current behavior when the repository is unlockable. The current behavior is to abort, which is probably not great. Now that we have a proper test, we can think about the behavior we want in a later changeset. Differential Revision: https://phab.mercurial-scm.org/D12615
Tue, 22 Mar 2022 14:14:52 +0100 auto-upgrade: introduce a way to auto-upgrade to/from dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Mar 2022 14:14:52 +0100] rev 49195
auto-upgrade: introduce a way to auto-upgrade to/from dirstate-v2 This is similar to what we introduced for `share-safe`, but apply to the tracked-hint feature. Differential Revision: https://phab.mercurial-scm.org/D12614
Tue, 05 Apr 2022 05:20:05 +0200 auto-upgrade: introduce a way to auto-upgrade to/from tracked-hint
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Apr 2022 05:20:05 +0200] rev 49194
auto-upgrade: introduce a way to auto-upgrade to/from tracked-hint This is similar to what we introduced for `share-safe`, but apply to the tracked-hint feature. Differential Revision: https://phab.mercurial-scm.org/D12613
Mon, 04 Apr 2022 19:30:32 +0200 upgrade: split some logic from UpgradeOperation
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 04 Apr 2022 19:30:32 +0200] rev 49193
upgrade: split some logic from UpgradeOperation The logic for automatic-upgrade and the upgrade-repo should be able to use the same code. However that code often need an UpgradeOperation object to function. So we start spliting the Operation into a minimal component that we will be able to reuse outside of the "classic" upgrade path. We will put the base-class to use in the next changeset. Differential Revision: https://phab.mercurial-scm.org/D12612
Tue, 05 Apr 2022 05:19:47 +0200 auto-upgrade: introduce a way to auto-upgrade to/from share-safe
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Apr 2022 05:19:47 +0200] rev 49192
auto-upgrade: introduce a way to auto-upgrade to/from share-safe This is the first "automatic-upgrade" capability. In the following commits, similar features are coming for other "fast to upgrade" formats. This is different from the `safe-mismatch.source-not-safe` and `safe-mismatch.source-safe` configuration that deal with mismatch between a share and its share-source. Here we are dealing with mismatch between a repository configuration and its actual format. We will need further work for cases were the repository cannot be locked. A basic protection is in place to avoid a infinite loop for now, but it will get proper attention in a later changeset. Differential Revision: https://phab.mercurial-scm.org/D12611
Fri, 15 Apr 2022 22:02:07 +0200 rust: make requirements public
Raphaël Gomès <rgomes@octobus.net> [Fri, 15 Apr 2022 22:02:07 +0200] rev 49191
rust: make requirements public These can be used by any client crates (including `rhg`), no need to make them private to the crate. Differential Revision: https://phab.mercurial-scm.org/D12610
Tue, 10 May 2022 20:30:26 +0100 clone: use better names for temp files
Arseniy Alekseyev <aalekseyev@janestreet.com> [Tue, 10 May 2022 20:30:26 +0100] rev 49190
clone: use better names for temp files Before this commit, the file names are /tmp/tmpn8smvlr8 After this commit, they are more like /tmp/hg-clone-n8smvlr8/00manifest.ndb3qj52v6, which makes it much clearer what these files correspond to. Differential Revision: https://phab.mercurial-scm.org/D12623
Mon, 02 May 2022 16:27:14 +0400 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 May 2022 16:27:14 +0400] rev 49189
tests: make sure .js files stay in ASCII encoding (issue6559) Differential Revision: https://phab.mercurial-scm.org/D12620
Fri, 13 May 2022 15:48:53 +0200 ci: have rust-cargo-test inherit from all
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 13 May 2022 15:48:53 +0200] rev 49188
ci: have rust-cargo-test inherit from all This help changing configuration for everything at the same time. This was initially the case before being dropped by mistake in 0ddd5e1f5f67.
Thu, 19 May 2022 01:34:51 +0100 copies-sdc: mark upgrade action as changelog only
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 May 2022 01:34:51 +0100] rev 49187
copies-sdc: mark upgrade action as changelog only We don't need to recompute the other revlog to add the changelog-v2 feature. This simplify upgrade that use copies-sdc (as shown in the tests).
Thu, 19 May 2022 01:24:16 +0100 changelog-v2: mark upgrade action as changelog only
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 May 2022 01:24:16 +0100] rev 49186
changelog-v2: mark upgrade action as changelog only We don't need to recompute the others revlog to add the changelog-v2 feature. This does not have much effect in practice as the `copies-sdc` upgrade still triggers the other revlogs. This will be fixed in the next changeset.
Thu, 19 May 2022 01:40:37 +0100 copies-sdc: no longer suppress the upgrade output
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 May 2022 01:40:37 +0100] rev 49185
copies-sdc: no longer suppress the upgrade output To make sure the upgrade simplification we need are taken into account, we need to see more of the output of `debugupgraderepo`. The --quiet flag simplify the output a lot and globing the `preserved` field mean this output should remains stable across (future) unrelated changes.
Thu, 19 May 2022 01:37:59 +0100 copies-sdc: no longer use revlogv2 in `test-copies-in-changeset.t`
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 May 2022 01:37:59 +0100] rev 49184
copies-sdc: no longer use revlogv2 in `test-copies-in-changeset.t` We only need changelog-v2 and its usage is automatically inferred. So we can simplify the test by dropping this. This is important to test future simplification of the update process in the coming changesets.
Mon, 16 May 2022 23:12:49 +0100 fix-ci: backed out changeset 308e45f7b455
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 16 May 2022 23:12:49 +0100] rev 49183
fix-ci: backed out changeset 308e45f7b455 The chg variant of the CI see a failure on `tests/test-narrow-pull.t`. Bisecting point the failure as starting at this small changeset… Backing it out, restore the CI on default. It was never broken on stable, which is even more puzzling.
Tue, 17 May 2022 12:05:09 +0100 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Tue, 17 May 2022 12:05:09 +0100] rev 49182
branching: merge stable into default
Tue, 17 May 2022 00:09:51 +0100 ci: do not trigger phabricator for merge-request stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 May 2022 00:09:51 +0100] rev 49181
ci: do not trigger phabricator for merge-request The fast the phabricator steps has a `rules` entry makes it selected for the special `merge_requests` pipelines. The other ones behave as default and are not selected tot the mrege_request pipelines. This result in a second pipeline to be created, with only the phabricator pipeline in it. Which usually succeed fast (since there is nothing to do). This is harmful as this create a false sense of "the series is passing" and Gitlab will use this simplistic pipeline for validation. By explicitly preventing the pipeline to be created in the merge-request case, we prevent this situation to happens Note that the job will be dropped (alonside phabricator) in the next two weeks anyway.
Thu, 12 May 2022 07:36:37 -0700 branching: merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 12 May 2022 07:36:37 -0700] rev 49180
branching: merge with stable
Wed, 11 May 2022 17:56:29 -0700 amend: stop specifying matcher, get all copies in wctx stable
Kyle Lippincott <spectral@google.com> [Wed, 11 May 2022 17:56:29 -0700] rev 49179
amend: stop specifying matcher, get all copies in wctx When we're recreating the commit that we'll be committing, we don't want to filter our copy information based on just the *new* [versions of the] files we're amending. The test has an example of this case, but for clarity, the situation is: ``` $ hg cp src dst && hg commit <do some work> $ hg amend some_unrelated_file.txt $ hg status --copies A dst A some_unrelated_file.txt ``` What *should* happen is that `dst` should remain marked as a copy of `src`, but this did not previously happen. `matcher` here only includes the files that were specified on the commandline, so it only gets the copy information (if any, in this example there's not) for `some_unrelated_file.txt`. When it goes to apply the memctx to actually create the commit, the file copy information is incomplete and loses the information for the files that shouldn't have been affected at all by the amend. Differential Revision: https://phab.mercurial-scm.org/D12625
Wed, 11 May 2022 17:56:10 -0700 amend: add test showing poor behavior when copies are involved stable
Kyle Lippincott <spectral@google.com> [Wed, 11 May 2022 17:56:10 -0700] rev 49178
amend: add test showing poor behavior when copies are involved Differential Revision: https://phab.mercurial-scm.org/D12624
Thu, 21 Apr 2022 10:39:52 -0700 rust-repo: make `Send` by not storing functions in `LazyCell`
Martin von Zweigbergk <martinvonz@google.com> [Thu, 21 Apr 2022 10:39:52 -0700] rev 49177
rust-repo: make `Send` by not storing functions in `LazyCell` We (Google) want to use `Repo` in a context where we can store it in `Mutex<Repo>`. However, that currently doesn't work because it's not `Send` because the `LazyCell` initialization functions are not `Send`. It's easy to fix that by passing them to the `get_or_init()` and `get_mut_or_init()` functions. We'll probably also want `Repo` to be `Send` (and even `Sync`) in core later, so this seems like a step in the right direction. Differential Revision: https://phab.mercurial-scm.org/D12582
Thu, 05 May 2022 14:45:28 -0400 obsolete: remove two unused constants
Augie Fackler <augie@google.com> [Thu, 05 May 2022 14:45:28 -0400] rev 49176
obsolete: remove two unused constants I'm not sure what these constants were intended for, but they have no users so it's time to say goodbye. Differential Revision: https://phab.mercurial-scm.org/D12609
Thu, 05 May 2022 14:47:26 -0400 node: manually implement Debug
Augie Fackler <augie@google.com> [Thu, 05 May 2022 14:47:26 -0400] rev 49175
node: manually implement Debug I got too irritated today with the default Debug implementation of hg::revlog::Node while playing with a new parser. This isn't quite what I wanted, but it wasn't much code and it at least gives you output that's easy to visually compare to a node.hex()ed identifier from the Python side of things. Sadly, this doesn't influence the output in lldb or the VSCode debugger extension that uses lldb under the covers, but it at least means debug prints are a little more useful. Differential Revision: https://phab.mercurial-scm.org/D12608
Thu, 05 May 2022 15:38:29 +0100 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 05 May 2022 15:38:29 +0100] rev 49174
censor: make rhg fall back to python when encountering a censored node This is to make it support censor.policy=ignore without having to duplicate that logic. Also, change the censor test in such a way that it uses rhg now, because extensions are disabled except when we call [hg censor]. Differential Revision: https://phab.mercurial-scm.org/D12607
Wed, 04 May 2022 16:01:55 -0400 contrib: migrate off of a couple of bitbucket URLs
Matt Harbison <matt_harbison@yahoo.com> [Wed, 04 May 2022 16:01:55 -0400] rev 49173
contrib: migrate off of a couple of bitbucket URLs I noticed this when diffing the thg installer against Mercurial to see what was missing. There are a handful of other URLs in i18n and extension example help text if anyone cares to update those. Differential Revision: https://phab.mercurial-scm.org/D12606
Wed, 04 May 2022 13:39:49 -0400 diff: add help text to highlight the ability to do "merge diffs"
Matt Harbison <matt_harbison@yahoo.com> [Wed, 04 May 2022 13:39:49 -0400] rev 49172
diff: add help text to highlight the ability to do "merge diffs" Differential Revision: https://phab.mercurial-scm.org/D12605
Mon, 02 May 2022 12:10:28 +0400 followlines: don't put Unicode directly into the .js file (issue6559)
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 May 2022 12:10:28 +0400] rev 49171
followlines: don't put Unicode directly into the .js file (issue6559) Apparently some web server setups may serve this file in a different encoding than UTF-8, and that results in visual garbage in the followlines button that renders for every line in a file. So instead of using this Unicode character in UTF-8 we can encode it as \u2212. Or, to be more explicit, we can use &minus; HTML entity, which resolves into exactly that character. Since now we're using innerHTML property to set the minus part of the button, let's use it to set the plus part as well (even though the plus sign was plain ASCII). A wise man once said "A foolish consistency is the hobgob... eh, whatever." Throw a brick at me if this makes things worse. Differential Revision: https://phab.mercurial-scm.org/D12597
Thu, 28 Apr 2022 11:20:17 -0400 wix: bump the minimum Windows required to 8.1
Matt Harbison <matt_harbison@yahoo.com> [Thu, 28 Apr 2022 11:20:17 -0400] rev 49170
wix: bump the minimum Windows required to 8.1 PyOxidizer binaries are built with py 3.9.6, so not even Windows 7 is supported. Unfortunately, there don't appear to be more recent values for newer versions of Windows, but at least Windows 8.1 is still in extended support for another 9 months or so. Differential Revision: https://phab.mercurial-scm.org/D12596
Thu, 28 Apr 2022 11:01:41 -0400 wix: drop python2 conditionals
Matt Harbison <matt_harbison@yahoo.com> [Thu, 28 Apr 2022 11:01:41 -0400] rev 49169
wix: drop python2 conditionals Differential Revision: https://phab.mercurial-scm.org/D12595
Wed, 27 Apr 2022 19:45:19 +0400 tests: fix misspelling of supersede
Anton Shestakov <av6@dwimlabs.net> [Wed, 27 Apr 2022 19:45:19 +0400] rev 49168
tests: fix misspelling of supersede Differential Revision: https://phab.mercurial-scm.org/D12589
Tue, 26 Apr 2022 09:06:30 -0700 filemerge: add configs to disable some or all partial merge tools
Martin von Zweigbergk <martinvonz@google.com> [Tue, 26 Apr 2022 09:06:30 -0700] rev 49167
filemerge: add configs to disable some or all partial merge tools When rolling out partial merge tools to users, it's useful to be able to easily turn one or all of them off if a problem is discovered. This patch adds support for that. They can of course also be useful for individual users to be able to temporarily turn off a tool they are otherwise using. Differential Revision: https://phab.mercurial-scm.org/D12588
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 tip