Tue, 12 Dec 2023 12:29:12 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2023 12:29:12 +0100] rev 51176
branching: merge with stable
Thu, 07 Dec 2023 03:49:48 +0100 persistent-nodemap: avoid writing nodemap for empty revlog stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Dec 2023 03:49:48 +0100] rev 51175
persistent-nodemap: avoid writing nodemap for empty revlog The format cannot encode the lack of tip_rev. There is currently nothing known to write such empty nodemap right now, but the change we are preparing on default reveal this issue. So I had rather fix it on stable.
Tue, 12 Dec 2023 11:47:48 +0100 histedit: remove superfluous echo() and endwin() calls (issue6859) stable
Julien Cristau <jcristau@mozilla.com> [Tue, 12 Dec 2023 11:47:48 +0100] rev 51174
histedit: remove superfluous echo() and endwin() calls (issue6859) ncurses patchlevel 20231111 started returning an error from endwin() if called twice without a intervening screen update. Per Sven Joachim in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1058041#17: "AFAICS, invoking curses.echo() and curses.endwin() is superfluous because curses.wrapper already does that for you, and calling curses.endwin() twice throws an error with the newer ncurses. Removing those two lines should fix the problem."
Thu, 07 Dec 2023 09:31:07 -0800 statprof: handle `lineno == None` in more cases
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Dec 2023 09:31:07 -0800] rev 51173
statprof: handle `lineno == None` in more cases This continues the work from 972f3e5c94b8. We saw a crash on line 956 but I updated lots of other places as well.
Thu, 07 Dec 2023 14:28:31 +0100 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Thu, 07 Dec 2023 14:28:31 +0100] rev 51172
branching: merge stable into default
Thu, 07 Dec 2023 14:22:55 +0100 Added signature for changeset 71bd09bebbe3 stable
Raphaël Gomès <rgomes@octobus.net> [Thu, 07 Dec 2023 14:22:55 +0100] rev 51171
Added signature for changeset 71bd09bebbe3
Thu, 07 Dec 2023 14:22:46 +0100 Added tag 6.6.1 for changeset 71bd09bebbe3 stable
Raphaël Gomès <rgomes@octobus.net> [Thu, 07 Dec 2023 14:22:46 +0100] rev 51170
Added tag 6.6.1 for changeset 71bd09bebbe3
Thu, 07 Dec 2023 14:19:02 +0100 relnotes: add 6.6.1 stable 6.6.1
Raphaël Gomès <rgomes@octobus.net> [Thu, 07 Dec 2023 14:19:02 +0100] rev 51169
relnotes: add 6.6.1
Sat, 02 Dec 2023 15:10:28 -0300 procutil: move stdin assignment outside of try-finally block stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 02 Dec 2023 15:10:28 -0300] rev 51168
procutil: move stdin assignment outside of try-finally block There is an stdin variable in the global scope of this module. And in the `finally` block of this try-finally statement we're checking `if stdin is not None`. Let's make sure we don't confuse code check tools into thinking we want to use global stdin by moving this line of code outside of `try`. This was caught by pytype 2023.11.21 on Python 3.11.2.
Sat, 02 Dec 2023 15:02:03 -0300 zeroconf: give inet_aton() str instead of bytes stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 02 Dec 2023 15:02:03 -0300] rev 51167
zeroconf: give inet_aton() str instead of bytes All other uses of this function in this extension are already fixed (i.e. use strings instead of bytes). This was caught by pytype 2023.11.21 on Python 3.11.2.
Wed, 06 Dec 2023 16:29:43 +0100 revlog: avoid wrongly updating the data file location on "divert" stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 06 Dec 2023 16:29:43 +0100] rev 51166
revlog: avoid wrongly updating the data file location on "divert" If we are in the inline case, we need to align the location of the "data" file with the temporary location of the file (i.e. "00changelog.i.a"). However we should not do that for non-inline case… and before this changeset we had been doing it. In addition `index_file` is already a property taking care of updating the "segment file" filename when needed. So we can simply remove all that code. As a result, code trying to read the diverted data before they were committed ended deeply confused as the "00changelog.i.a" file is nothing like the "00changelog.d" file. However nothing corrupted data as all writing where properly handled outside of the "segment file". In "best" cases this small in-memory corruption of the filename when unnoticed until the transaction was committed or rolled back and in the worse case, some data reading was failing during the transaction and resulted in the transaction to be rolled back. However wrong data never reached the disk, so this bug should be have corrupted any repository. This is not catch by tests because most test use a small repository and therefor an inline revlog. In addition the bug only triggers when a changelog read is done in the following "rare" situation: - after some delayed write - after that data have been written in a "divert" file (i.e. `00.changelog.i.a`) - before transaction commit - outside of a "writing" context The issue was introduced in d83d788590a8
Thu, 07 Dec 2023 00:34:08 +0100 revlog: avoid exposing delayed index entry too widely in non-inline revlog stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Dec 2023 00:34:08 +0100] rev 51165
revlog: avoid exposing delayed index entry too widely in non-inline revlog Before this change, the index entry would be seen as "appended" to the data file. It did not hurt too much as there are never accessed for reading, but this was odd. So lets stop doing so.
Wed, 06 Dec 2023 15:38:15 +0100 revlog: add one more assert about state of thing when splitting stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 06 Dec 2023 15:38:15 +0100] rev 51164
revlog: add one more assert about state of thing when splitting This assert is currently happy, but it does not hurt to adds it to clarify expected state and catch potential error in the future.
Wed, 29 Nov 2023 08:32:24 -0800 add: don't attempt to add back removed files unless explicitly listed
Martin von Zweigbergk <martinvonz@google.com> [Wed, 29 Nov 2023 08:32:24 -0800] rev 51163
add: don't attempt to add back removed files unless explicitly listed This fixes the bug demonstrated by the previous patch.
Tue, 28 Nov 2023 22:44:04 -0800 tests: show failure to `hg add -I` a dir->symlink transition
Martin von Zweigbergk <martinvonz@google.com> [Tue, 28 Nov 2023 22:44:04 -0800] rev 51162
tests: show failure to `hg add -I` a dir->symlink transition
Tue, 11 Apr 2023 21:56:16 +0200 setup: try a non-pure version of the local Mercurial if the pure fails
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 11 Apr 2023 21:56:16 +0200] rev 51161
setup: try a non-pure version of the local Mercurial if the pure fails Things like `zstd` can make the pure version fails.
Fri, 01 Dec 2023 22:13:37 +0100 setup: make debug simpler by adding a `__repr__` to `hgcommand`
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Dec 2023 22:13:37 +0100] rev 51160
setup: make debug simpler by adding a `__repr__` to `hgcommand` This help when trying to debug this logic.
Sat, 02 Dec 2023 02:13:23 +0100 censor: fix things around inlining stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Dec 2023 02:13:23 +0100] rev 51159
censor: fix things around inlining The temporary revlog cannot go through the inline → split process as this would break at transaction commit. (that might be fixable, but lets keep things simple for now). We introduce a cleaner way to enforce this as the previous one was broken in 6.6 On the way we remove multiple weird, fragile and broken overwrite of revlog attributes and we focus on passing the configuration across. We also had to update the test to actually create a non-inline revlog.
Sat, 02 Dec 2023 02:12:21 +0100 revlog: add a `may_inline` argument to revlog stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Dec 2023 02:12:21 +0100] rev 51158
revlog: add a `may_inline` argument to revlog This allow for a clean skipping of the inline feature when needed, for example by censor.
Sat, 02 Dec 2023 02:11:20 +0100 revlog: allow explicit passing of config to revlog stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Dec 2023 02:11:20 +0100] rev 51157
revlog: allow explicit passing of config to revlog This will be useful to fix censor in a later changeset.
Sat, 02 Dec 2023 01:06:35 +0100 censor: show that the `not-inline` → `inline` test is broken stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Dec 2023 01:06:35 +0100] rev 51156
censor: show that the `not-inline` → `inline` test is broken The source revlog should not be inlined and it is…
Wed, 15 Nov 2023 18:43:03 +0000 rhg: support rhg status --rev --rev
Arseniy Alekseyev <aalekseyev@janestreet.com> [Wed, 15 Nov 2023 18:43:03 +0000] rev 51155
rhg: support rhg status --rev --rev
Wed, 15 Nov 2023 18:41:33 +0000 rust: add a utility function to merge ordered fallible iterators
Arseniy Alekseyev <aalekseyev@janestreet.com> [Wed, 15 Nov 2023 18:41:33 +0000] rev 51154
rust: add a utility function to merge ordered fallible iterators Adding a function merge_join_results_by, a version of itertools::merge_join_by that works on "fallible" iterators (iterators that can produce errors)
Mon, 16 Oct 2023 18:56:40 +0100 rhg: refactor hg status, make the display code usable for non-dirstate status
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 16 Oct 2023 18:56:40 +0100] rev 51153
rhg: refactor hg status, make the display code usable for non-dirstate status
Sun, 03 Dec 2023 04:49:49 +0100 perf-tags: fix clear_cache_fnodes to actually clear that cache stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 Dec 2023 04:49:49 +0100] rev 51152
perf-tags: fix clear_cache_fnodes to actually clear that cache The function was not doing it what it advertise for a long time. So we fix it and we add a way for the perf extensions to detect broken version.
Sun, 03 Dec 2023 04:43:08 +0100 perf-tags: fix the --clear-fnode-cache-rev code stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 Dec 2023 04:43:08 +0100] rev 51151
perf-tags: fix the --clear-fnode-cache-rev code It seems like this code never run?
Mon, 04 Dec 2023 17:20:31 +0000 tests: do not fail tests in a state with uncommitted .py file removal stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 04 Dec 2023 17:20:31 +0000] rev 51150
tests: do not fail tests in a state with uncommitted .py file removal The problem is that [hg locate] lists removed files too. We use [hg files] instead because that does not list removed files.
Sat, 02 Dec 2023 00:52:37 -0500 tests: fill in the Windows pattern for `$EADDRNOTAVAIL$` matching stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 02 Dec 2023 00:52:37 -0500] rev 51149
tests: fill in the Windows pattern for `$EADDRNOTAVAIL$` matching This fixes test-https.t on Windows. It looks like the real error translation is "Cannot assign requested address.", and the message here is the start of a longer description, so I'm not sure why this part is emitted. But it's not worth digging into, as it's evidently the same failure.
Sat, 02 Dec 2023 00:34:44 -0500 tests: avoid a cascading failure on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 02 Dec 2023 00:34:44 -0500] rev 51148
tests: avoid a cascading failure on Windows The `identify --debug` command here on Windows emits skip updating dirstate: identity mismatch because of the debug switch, which got captured and added to `.hgtags`, and then hijinx ensued. The point of `--debug` seemed to be to get the long hash, so just do that with templating. I have not idea if the message is indicating a problem- there seems to be many more of them in other tests that are not present on Linux.
Fri, 01 Dec 2023 23:58:12 -0500 phabricator: stringify the argument to `getattr()` stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 01 Dec 2023 23:58:12 -0500] rev 51147
phabricator: stringify the argument to `getattr()` This fixes a "TypeError: getattr(): attribute name must be string" crash and subsequent test spew. This likely broke in 18c8c18993f0 and was missed in CI because `pytest-vcr` is missing.
Mon, 13 Nov 2023 09:19:11 -0800 py3: pass unicode strings to hasattr() throughout stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 13 Nov 2023 09:19:11 -0800] rev 51146
py3: pass unicode strings to hasattr() throughout I guess we missed these instances because they're not covered by tests. This is a graft of 1625fe807c04a490f9516bc8e14140e570c06146 that landed on default.
Mon, 27 Nov 2023 15:22:05 -0500 debugformat: speedup the "plain-cl-delta" check
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Nov 2023 15:22:05 -0500] rev 51145
debugformat: speedup the "plain-cl-delta" check Checking every single revision is too slow, let's use a sampling approach.
Tue, 14 Nov 2023 22:47:17 +0100 templatekw: fix inconsistency of diffstat with diff.merge
pacien <pacien.trangirard@pacien.net> [Tue, 14 Nov 2023 22:47:17 +0100] rev 51144
templatekw: fix inconsistency of diffstat with diff.merge Previously, `-T'{diffstat}'` was giving stats from the diff against p1, regardless of whether `--config diff.merge=yes` is set. This was inconsistent with `log --patch` which is aware of that option.
Wed, 15 Nov 2023 02:39:53 +0100 util: move diff_parent from logcmdutil to diffutil
pacien <pacien.trangirard@pacien.net> [Wed, 15 Nov 2023 02:39:53 +0100] rev 51143
util: move diff_parent from logcmdutil to diffutil This function will be used outside of the log command (in templatekw, used by hgweb, for which logcmdutil is not available). Let's move this function together with the rest of the diff-related utils instead.
Thu, 07 Sep 2023 08:39:21 +0200 logcmdutil: return structured diffstat data for json
zegervdv <zeger@vandevan.net> [Thu, 07 Sep 2023 08:39:21 +0200] rev 51142
logcmdutil: return structured diffstat data for json
Wed, 08 Nov 2023 22:27:32 +0100 cleanup: drop the `bytes` compatibility for attribute related function
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 08 Nov 2023 22:27:32 +0100] rev 51141
cleanup: drop the `bytes` compatibility for attribute related function We can rely on the builtins directly now.
Wed, 08 Nov 2023 22:20:58 +0100 cleanup: turn `wrapfunction` deprecation warning into an error
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 08 Nov 2023 22:20:58 +0100] rev 51140
cleanup: turn `wrapfunction` deprecation warning into an error We could simply drop the check, but lets raise explicit error instead of suffering strange error in case of misuse.
Wed, 08 Nov 2023 22:19:20 +0100 cleanup: turn `wrappedfunction` deprecation warning into an error
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 08 Nov 2023 22:19:20 +0100] rev 51139
cleanup: turn `wrappedfunction` deprecation warning into an error We could simply drop the check, but lets raise explicit error instead of suffering strange error in case of misuse.
Wed, 08 Nov 2023 22:17:41 +0100 cleanup: turn `pathsuboption` deprecation warning into an error
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 08 Nov 2023 22:17:41 +0100] rev 51138
cleanup: turn `pathsuboption` deprecation warning into an error We could simply drop the check, but lets raise explicit error instead of suffering strange error in case of misuse.
Wed, 08 Nov 2023 22:13:14 +0100 cleanup: drop deprecated config attribute on the revlog class
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 08 Nov 2023 22:13:14 +0100] rev 51137
cleanup: drop deprecated config attribute on the revlog class This code was marked for deletion in the next cycle. We are now in the next cycle.
Wed, 08 Nov 2023 22:11:00 +0100 cleanup: drop `path.pushloc` deprecated since 6.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 08 Nov 2023 22:11:00 +0100] rev 51136
cleanup: drop `path.pushloc` deprecated since 6.5 This was scheduled for removal, let us remove it.
Wed, 08 Nov 2023 22:10:26 +0100 cleanup: drop `dirstate.is_changing_parent` deprecated since 6.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 08 Nov 2023 22:10:26 +0100] rev 51135
cleanup: drop `dirstate.is_changing_parent` deprecated since 6.5 This was scheduled for removal, let us remove it.
Wed, 08 Nov 2023 22:08:05 +0100 cleanup: remove some code scheduled to be removed after 5.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 08 Nov 2023 22:08:05 +0100] rev 51134
cleanup: remove some code scheduled to be removed after 5.9 looks like we missed this when cleaning up previous code.
Tue, 21 Nov 2023 16:22:47 +0100 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Tue, 21 Nov 2023 16:22:47 +0100] rev 51133
branching: merge stable into default
Tue, 21 Nov 2023 16:20:58 +0100 relnotes: add 6.6 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 21 Nov 2023 16:20:58 +0100] rev 51132
relnotes: add 6.6 There are no differences between the rc and the actual release.
Tue, 21 Nov 2023 16:18:25 +0100 Added signature for changeset 26c57e7a0890 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 21 Nov 2023 16:18:25 +0100] rev 51131
Added signature for changeset 26c57e7a0890
Tue, 21 Nov 2023 16:18:23 +0100 Added tag 6.6 for changeset 26c57e7a0890 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 21 Nov 2023 16:18:23 +0100] rev 51130
Added tag 6.6 for changeset 26c57e7a0890
Mon, 13 Nov 2023 09:19:11 -0800 py3: pass unicode strings to hasattr() throughout
Martin von Zweigbergk <martinvonz@google.com> [Mon, 13 Nov 2023 09:19:11 -0800] rev 51129
py3: pass unicode strings to hasattr() throughout I guess we missed these instances because they're not covered by tests.
Tue, 07 Nov 2023 16:59:37 +0100 Added signature for changeset 27055614b685 stable 6.6
Raphaël Gomès <rgomes@octobus.net> [Tue, 07 Nov 2023 16:59:37 +0100] rev 51128
Added signature for changeset 27055614b685
Tue, 07 Nov 2023 16:59:36 +0100 Added tag 6.6rc0 for changeset 27055614b685 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 07 Nov 2023 16:59:36 +0100] rev 51127
Added tag 6.6rc0 for changeset 27055614b685
Tue, 07 Nov 2023 16:07:53 +0100 relnotes: add 6.6rc0 stable 6.6rc0
Raphaël Gomès <rgomes@octobus.net> [Tue, 07 Nov 2023 16:07:53 +0100] rev 51126
relnotes: add 6.6rc0
Tue, 07 Nov 2023 15:21:11 +0100 branching: merge default into stable for 6.6rc0 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 07 Nov 2023 15:21:11 +0100] rev 51125
branching: merge default into stable for 6.6rc0
Mon, 06 Nov 2023 23:17:10 +0100 unstable: do not consider internal phases when computing unstable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Nov 2023 23:17:10 +0100] rev 51124
unstable: do not consider internal phases when computing unstable The revisions that are not part of the "working" set by other means should not be considered for the evolution related computation. This impact the test introduced in 5f9af8422b31 as this is actually a more semantic fix of the issue.
Mon, 06 Nov 2023 23:15:58 +0100 unstable: use the `_mutablerevs` function when computing content divergent
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Nov 2023 23:15:58 +0100] rev 51123
unstable: use the `_mutablerevs` function when computing content divergent This is a useful function to get the revision relevant to these computation, lets make sure all code use it, so that we can improve that `_mutablerevs` function in a later changeset.
Mon, 06 Nov 2023 23:15:17 +0100 unstable: use the `_mutablerevs` function when computing phase divergent
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Nov 2023 23:15:17 +0100] rev 51122
unstable: use the `_mutablerevs` function when computing phase divergent This is a useful function to get the revision relevant to these computation, lets make sure all code use it, so that we can improve that `_mutablerevs` function in a later changeset.
Mon, 06 Nov 2023 11:07:54 +0100 rust: add explicit resolver field to top-level cargo manifest file
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Nov 2023 11:07:54 +0100] rev 51121
rust: add explicit resolver field to top-level cargo manifest file Since Rust 1.51.0, Cargo has support for a better dependency resolver. Workspace packages (like ours) need to explicitely set the field, so let's. https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html
Mon, 06 Nov 2023 11:06:08 +0100 rust: run a clippy pass with the latest stable version
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Nov 2023 11:06:08 +0100] rev 51120
rust: run a clippy pass with the latest stable version Our current version of clippy is older than the latest stable. The newest version has new lints that are moslty good advice, so let's apply them ahead of time. This has the added benefit of reducing the noise for developpers like myself that use clippy as an IDE helper, as well as being more prepared for a future clippy upgrade.
Mon, 06 Nov 2023 11:02:18 +0100 rust-clippy: ignore clippy's recommendation for "useless" cast
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Nov 2023 11:02:18 +0100] rev 51119
rust-clippy: ignore clippy's recommendation for "useless" cast See explanation inline.
Mon, 06 Nov 2023 17:12:04 +0100 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Nov 2023 17:12:04 +0100] rev 51118
branching: merge stable into default
Mon, 06 Nov 2023 15:38:27 +0100 Added signature for changeset c083d9776cb2 stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Nov 2023 15:38:27 +0100] rev 51117
Added signature for changeset c083d9776cb2
(0) -30000 -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 tip