Thu, 29 Jun 2023 11:37:19 +0200 rust-index: check rindex and cindex return the same get_rev
Raphaël Gomès <rgomes@octobus.net> [Thu, 29 Jun 2023 11:37:19 +0200] rev 51217
rust-index: check rindex and cindex return the same get_rev This is a temporary safeguard while we synchronize both indexes.
Wed, 28 Jun 2023 16:43:39 +0200 rust-index: synchronize remove to Rust index
Raphaël Gomès <rgomes@octobus.net> [Wed, 28 Jun 2023 16:43:39 +0200] rev 51216
rust-index: synchronize remove to Rust index Future steps will bring the two indexes further together until we can rip the C index entirely when running Rust code.
Wed, 28 Jun 2023 11:59:43 +0200 rust-index: remove `__setitem__` method from the mixed index
Raphaël Gomès <rgomes@octobus.net> [Wed, 28 Jun 2023 11:59:43 +0200] rev 51215
rust-index: remove `__setitem__` method from the mixed index This is not defined on the Python or C one, and isn't used anywhere.
Wed, 28 Jun 2023 11:36:22 +0200 rust-index: check equality between rust and cindex for `__len__`
Raphaël Gomès <rgomes@octobus.net> [Wed, 28 Jun 2023 11:36:22 +0200] rev 51214
rust-index: check equality between rust and cindex for `__len__`
Tue, 27 Jun 2023 18:24:54 +0200 rust-index: synchronize append method
Raphaël Gomès <rgomes@octobus.net> [Tue, 27 Jun 2023 18:24:54 +0200] rev 51213
rust-index: synchronize append method We now append to the Rust index just as we do to the C index. Future steps will bring the two indexes further together until we can rip the C index entirely when running Rust code.
Mon, 18 Sep 2023 17:11:11 +0200 rust-revlog: teach the revlog opening code to read the repo options
Raphaël Gomès <rgomes@octobus.net> [Mon, 18 Sep 2023 17:11:11 +0200] rev 51212
rust-revlog: teach the revlog opening code to read the repo options This will become necessary as we start writing revlog data from Rust.
Tue, 27 Jun 2023 17:34:51 +0200 rust-index: pass data down to the Rust index
Raphaël Gomès <rgomes@octobus.net> [Tue, 27 Jun 2023 17:34:51 +0200] rev 51211
rust-index: pass data down to the Rust index This will allow us to start keeping the Rust index synchronized with the cindex as we gradually implement more and more methods in Rust. This will eventually be removed.
Tue, 27 Jun 2023 16:32:09 +0200 rust-index: add append method
Raphaël Gomès <rgomes@octobus.net> [Tue, 27 Jun 2023 16:32:09 +0200] rev 51210
rust-index: add append method This is the first time the Rust index has any notion of mutability. This will be used in a future patch from Python, to start synchronizing the Rust index and the C index.
Mon, 26 Jun 2023 19:16:07 +0200 rust-index: add an abstraction to support bytes added at runtimes
Raphaël Gomès <rgomes@octobus.net> [Mon, 26 Jun 2023 19:16:07 +0200] rev 51209
rust-index: add an abstraction to support bytes added at runtimes In order to support appending data to the Rust index, we need to abstract data access away from the immutable (on-disk) bytes, to seemlessly fetch either from the preexisting data or from the newly added data.
Thu, 29 Jun 2023 16:09:57 +0200 rust-mixed-index: move the mmap keepalive into a function
Raphaël Gomès <rgomes@octobus.net> [Thu, 29 Jun 2023 16:09:57 +0200] rev 51208
rust-mixed-index: move the mmap keepalive into a function The same code will be used for keeping the new index mmap around.
Thu, 29 Jun 2023 15:00:46 +0200 rust-mixed-index: rename variable to make the next change clearer
Raphaël Gomès <rgomes@octobus.net> [Thu, 29 Jun 2023 15:00:46 +0200] rev 51207
rust-mixed-index: rename variable to make the next change clearer We're going to add another mmap reference holder, so let's rename this one first.
Wed, 27 Sep 2023 10:08:32 +0200 rust: fix cargo doc for hg-cpython
Georges Racinet <georges.racinet@octobus.net> [Wed, 27 Sep 2023 10:08:32 +0200] rev 51206
rust: fix cargo doc for hg-cpython
Fri, 15 Dec 2023 11:10:24 +0100 branching: merge with default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Dec 2023 11:10:24 +0100] rev 51205
branching: merge with default We merge with the current children of the bad merge (37b52b938579)
Fri, 15 Dec 2023 11:08:41 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Dec 2023 11:08:41 +0100] rev 51204
branching: merge with stable This recreates `37b52b938579` right as a `hg branch --rev 5b186ba40001` screwed up the content.
Thu, 07 Dec 2023 02:07:16 +0100 changelog: disallow delayed write on inline changesets
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Dec 2023 02:07:16 +0100] rev 51203
changelog: disallow delayed write on inline changesets Since this will never happens, we can make the situation invalid and to stop to handling the associated the case. This simplify the random access file reading too.
Mon, 11 Dec 2023 22:27:59 +0100 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2023 22:27:59 +0100] rev 51202
changelog: never inline changelog The test suite mostly use small repositories, that implies that most changelog in the tests are inlined. As a result, non-inlined changelog are quite poorly tested. Since non-inline changelog are most common case for serious repositories, this lack of testing is a significant problem that results in high profile issue like the one recently fixed by 66417f55ea33 and 849745d7da89. Inlining the changelog does not bring much to the table, the number of total file saved is negligible, and the changelog will be read by most operation anyway. So this changeset is make it so we never inline the changelog, and de-inline the one that are still inlined whenever we touch them. By doing that, we remove the "dual code path" situation for writing new entry to the changelog and move to a "single code path" situation. Having a single code path simplify the code and make sure it is covered by test (if test cover that situation obviously) This impact all tests that care about the number of file and the exchange size, but there is nothing too complicated in them just a lot of churn. The churn is made "worse" by the fact rust will use the persistent nodemap on any changelog now. Which is overall a win as it means testing the persistent nodemap more and having less special cases. In short, having inline changelog is mostly useless and an endless source of pain. We get rid of it.
Mon, 11 Dec 2023 11:50:55 +0100 test-transaction-safety: glog out irrelevant flag
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2023 11:50:55 +0100] rev 51201
test-transaction-safety: glog out irrelevant flag The test is focussing on the inline flag, so we glob out the other to highlight that fact and prevent noise in the future.
Mon, 11 Dec 2023 11:43:32 +0100 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2023 11:43:32 +0100] rev 51200
test-transaction-safety: perform the test on a filelog This test previously checked the transaction safety of splitting the changelog. The changelog is a special case, with delayed/diverted writes and we will stop inlining it soon. So we keep testing that transaction is safe around inline on another revlog type : a filelog. Minor comestic adjustement will be done in the next changesets.
Thu, 07 Dec 2023 03:40:37 +0100 test: clarify test-parseindex offsets
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Dec 2023 03:40:37 +0100] rev 51199
test: clarify test-parseindex offsets We will make this revlog non-inline, so we clarify the code to make sure it is simple to adjust the test later.
Thu, 07 Dec 2023 06:05:18 +0100 test: use more globing for perf timing
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Dec 2023 06:05:18 +0100] rev 51198
test: use more globing for perf timing Not sure why we kept the number here.
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 51197
branching: merge with stable
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 51196
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 51195
branching: merge stable into default
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 51194
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 51193
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 51192
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 51191
setup: make debug simpler by adding a `__repr__` to `hgcommand` This help when trying to debug this logic.
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 51190
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 51189
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 51188
rhg: refactor hg status, make the display code usable for non-dirstate status
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 51187
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 51186
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 51185
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 51184
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 51183
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 51182
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 51181
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 51180
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 51179
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 51178
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 51177
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 51176
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 51175
branching: merge stable into default
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 51174
py3: pass unicode strings to hasattr() throughout I guess we missed these instances because they're not covered by tests.
Thu, 22 Feb 2024 18:28:01 +0100 perf: support --template on perf::phases stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Feb 2024 18:28:01 +0100] rev 51173
perf: support --template on perf::phases
Wed, 21 Feb 2024 02:12:58 +0100 debugformat: fix formatting for compression level stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Feb 2024 02:12:58 +0100] rev 51172
debugformat: fix formatting for compression level `bytes(<int>)` gives a very different result as `str(<int>)` and the display of `hg debugformat` have been broken for a while as a result.
Thu, 15 Feb 2024 18:10:41 +0000 tests: tweak chg test to make it fail less often stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 15 Feb 2024 18:10:41 +0000] rev 51171
tests: tweak chg test to make it fail less often the test apparently sometimes prints the word "start" as a part of profile, so let's no longer match "start": CHGHG=/*/install/bin/hg (glob) + \x1b[90m | 50.0% 0.01s profiling.py: __enter__ line 196: self.start()\x1b[0m (esc) + \x1b[90m | 50.0% 0.01s profiling.py: start line 261: self._profiler.__enter__()\x1b[0m (esc) + \x1b[90m | 50.0% 0.01s profiling.py: statprofile line 125: statprof.start(mechanism=b'...\x1b[0m (esc) + \x1b[90m | 50.0% 0.01s statprof.py: start line 356: state.thread.start()\x1b[0m (esc) + \x1b[90m | 50.0% 0.01s threading.py: start line 852: self._started.wait()\x1b[0m (esc)
Thu, 15 Feb 2024 15:21:43 +0000 cext: fix potential memory leaks of list items appended with PyList_Append stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 15 Feb 2024 15:21:43 +0000] rev 51170
cext: fix potential memory leaks of list items appended with PyList_Append Also reduce the duplication in the tricky code that uses PyList_Append by extracting it into a function `pylist_append_owned`.
Mon, 12 Feb 2024 16:17:08 +0100 Added signature for changeset 3fd1efb3ad12 stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 12 Feb 2024 16:17:08 +0100] rev 51169
Added signature for changeset 3fd1efb3ad12
Mon, 12 Feb 2024 16:16:10 +0100 Added tag 6.6.3 for changeset 3fd1efb3ad12 stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 12 Feb 2024 16:16:10 +0100] rev 51168
Added tag 6.6.3 for changeset 3fd1efb3ad12
Mon, 12 Feb 2024 16:14:18 +0100 relnotes: add 6.6.3 stable 6.6.3
Raphaël Gomès <rgomes@octobus.net> [Mon, 12 Feb 2024 16:14:18 +0100] rev 51167
relnotes: add 6.6.3
Mon, 08 Jan 2024 15:25:33 +0000 tests: fix nondeterministic test failure in test-contrib-perf.t stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 08 Jan 2024 15:25:33 +0000] rev 51166
tests: fix nondeterministic test failure in test-contrib-perf.t It turns out (not too shockingly!) the kernel sometimes has some work to do, perhaps at the very least context-switching, so asserting the system time is 0.000000 doesn't work.
Thu, 01 Feb 2024 19:35:35 -0500 grep: restore usage of --include/--exclude options stable
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 01 Feb 2024 19:35:35 -0500] rev 51165
grep: restore usage of --include/--exclude options The refactor in 4a73df6eb67d accidentally forgot to transform the opts argument for walkopts into a byteskwargs. This resulted in its options being ignored. In particular, the -X/-I pair of options was missing. A simple fix restores its usage. Tests included, of course.
Tue, 30 Jan 2024 22:14:02 +0000 rust-changelog: don't panic on empty file lists stable
Arun Kulshreshtha <akulshreshtha@janestreet.com> [Tue, 30 Jan 2024 22:14:02 +0000] rev 51164
rust-changelog: don't panic on empty file lists
Wed, 24 Jan 2024 13:49:29 -0300 tests: use sha256line.py instead of /dev/random in test-censor.t (issue6858) stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Jan 2024 13:49:29 -0300] rev 51163
tests: use sha256line.py instead of /dev/random in test-censor.t (issue6858) Sometimes the systems that run our test suite don't have enough entropy and they cannot produce target file of the expected size using /dev/random, which results in test failures. Switching to /dev/urandom would give us way more available data at the cost of it being less "random", but we don't really need to use entropy for this task at all, since we only care if the file size after compression is big enough to not be stored inline in the revlog. So let's use something that we already have used to generate this kind of data in other tests.
Wed, 24 Jan 2024 13:35:30 -0300 tests: make sha256line.py available for all tests stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Jan 2024 13:35:30 -0300] rev 51162
tests: make sha256line.py available for all tests This was previously only used in test-revlog-delta-find.t, but it will be useful (and used) in other tests that might need to generate poorly-compressible files.
Sun, 14 Jan 2024 16:03:08 -0300 tests: don't use "status" operand of dd in test-censor.t (issue6858) stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 14 Jan 2024 16:03:08 -0300] rev 51161
tests: don't use "status" operand of dd in test-censor.t (issue6858) Some implementations don't have this operand, let's just direct stderr into /dev/null, that's pretty cross-platform. Also specify bs=512 (the default for me), because the default might be different on different systems. Other uses of dd in the tests do specify it, so this is more consistent.
Thu, 11 Jan 2024 17:49:51 +0100 Added signature for changeset 136902b3a95d stable
Raphaël Gomès <rgomes@octobus.net> [Thu, 11 Jan 2024 17:49:51 +0100] rev 51160
Added signature for changeset 136902b3a95d
Thu, 11 Jan 2024 17:49:37 +0100 Added tag 6.6.2 for changeset 136902b3a95d stable
Raphaël Gomès <rgomes@octobus.net> [Thu, 11 Jan 2024 17:49:37 +0100] rev 51159
Added tag 6.6.2 for changeset 136902b3a95d
Thu, 11 Jan 2024 17:49:04 +0100 relnotes: add 6.6.2 stable 6.6.2
Raphaël Gomès <rgomes@octobus.net> [Thu, 11 Jan 2024 17:49:04 +0100] rev 51158
relnotes: add 6.6.2
(0) -30000 -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 tip