Tue, 14 Feb 2023 22:46:26 +0100 dirstate: pre-indent some of the backup code
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Feb 2023 22:46:26 +0100] rev 50057
dirstate: pre-indent some of the backup code This will make the next changeset clearer.
Tue, 14 Feb 2023 22:27:24 +0100 debugrebuilddirstate: double check that no transaction is open
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Feb 2023 22:27:24 +0100] rev 50056
debugrebuilddirstate: double check that no transaction is open Since transaction impact dirstate write, we make sure nobody is trying anything strange with this internal command.
Tue, 14 Feb 2023 22:26:23 +0100 dirstate: explicitly write the dirstate after `debugrebuilddirstate`
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Feb 2023 22:26:23 +0100] rev 50055
dirstate: explicitly write the dirstate after `debugrebuilddirstate` I am working on making the dirstate write patterns more predictable. This patch is part of a small series of similar patches that adds a explicit dirstate write in a handful of location where the dirstate is updated "a bit in a strange way". With this explicit write, we are no longer relying on implicite write of the dirstate on `wlock` release. This make the world a better place.
Mon, 13 Feb 2023 22:53:54 +0100 dirstate: explicitly write the dirstate after `keyword` "overwrite"
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 13 Feb 2023 22:53:54 +0100] rev 50054
dirstate: explicitly write the dirstate after `keyword` "overwrite" I am working on making the dirstate write patterns more predictable. This patch is part of a small series of similar patches that adds a explicit dirstate write in a handful of location where the dirstate is updated "a bit in a strange way". With this explicit write, we are no longer relying on implicite write of the dirstate on `wlock` release. This make the world a better place.
Mon, 13 Feb 2023 23:33:27 +0100 dirstate: explicitly write the dirstate after `eol` dirstate manipulation
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 13 Feb 2023 23:33:27 +0100] rev 50053
dirstate: explicitly write the dirstate after `eol` dirstate manipulation I am working on making the dirstate write patterns more predictable. This patch is part of a small series of similar patches that adds a explicit dirstate write in a handful of location where the dirstate is updated "a bit in a strange way". With this explicit write, we are no longer relying on implicite write of the dirstate on `wlock` release. This make the world a better place.
Mon, 13 Feb 2023 23:49:52 +0100 dirstate: explicitly write the dirstate after mq dirstate rebuild
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 13 Feb 2023 23:49:52 +0100] rev 50052
dirstate: explicitly write the dirstate after mq dirstate rebuild I am working on making the dirstate write patterns more predictable. This patch is part of a small series of similar patches that adds a explicit dirstate write in a handful of location where the dirstate is updated "a bit in a strange way". With this explicit write, we are no longer relying on implicite write of the dirstate on `wlock` release. This make the world a better place.
Tue, 14 Feb 2023 20:09:39 +0100 transaction: quietly rollback if no other changes than temporary files
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Feb 2023 20:09:39 +0100] rev 50051
transaction: quietly rollback if no other changes than temporary files If no actual change have been made, we don't really need to roll them back. We only have to cleanup some temporary files and it seems reasonable to do that quietly. This will help us to use the transaction in wider context¹ without impacting the user experience. [1] as in Python context managers that lives longer.
Tue, 14 Feb 2023 20:04:17 +0100 transaction: run abort callback in all cases
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Feb 2023 20:04:17 +0100] rev 50050
transaction: run abort callback in all cases Previously, these possibly important callback were "forgotten" when running a quick rollback. This is now fixed, as the tests shown.
Tue, 14 Feb 2023 18:59:04 +0100 transaction: clarify the "quick abort" scenario
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Feb 2023 18:59:04 +0100] rev 50049
transaction: clarify the "quick abort" scenario Right now, the transaction has a code-pass to do a "quick abort" that skip most¹ (too much) of the logic when the right condition are detected² We are about to improve this logic in multiple aspect. We clarify the code first. The conditional return in `_can_quick_abort` looks a bit weird because we are about to make them more complex very soon. [1] actually too much [2] actually not often enough
Tue, 07 Feb 2023 15:27:37 +0100 test: use a more direct form of interruption in fncache "recover" testing
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Feb 2023 15:27:37 +0100] rev 50048
test: use a more direct form of interruption in fncache "recover" testing The previous test was relying on implementation details and harder to maintain. The new version is closer to the initial intend : "What happens if the process die without cleanup". This change is motivated by further changes around the transaction and dirstate logic that would break the fragile equilibrium that existed before this patch. Making this change early make it easier to review on its own and remove noise in future larger changes.
Tue, 07 Feb 2023 13:14:59 +0100 test: use a more direct approach to test racy mutation
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Feb 2023 13:14:59 +0100] rev 50047
test: use a more direct approach to test racy mutation The previous test was relying on implementation details and harder to maintain. The new version is closer to the initial intend : "What happens the file get overwritten from under the current process" This change is motivated by further changes around the transaction and dirstate logic that would break the fragile equilibrium that existed before this patch. Making this change early make it easier to review on its own and remove noise in future larger changes.
Mon, 13 Feb 2023 23:56:13 +0100 test: create some history in test-dirstate-backup
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 13 Feb 2023 23:56:13 +0100] rev 50046
test: create some history in test-dirstate-backup An empty repository, based on `null` is quite a corner cases. We create a more "natural" setup for this tests to make sure it can keep testing what it intend to test in the future.
Tue, 07 Feb 2023 12:42:45 +0100 test: explicitly "add" file before some commit in test-keyword.t
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Feb 2023 12:42:45 +0100] rev 50045
test: explicitly "add" file before some commit in test-keyword.t `hg commit -A` will revert the `hg addremove` step if the commit fails. However `hg rollback` currently does not. We are about to improve internal consistency around transaction and dirstate and the behavior of `hg rollback` will align on the other behavior in the process. Before doing so, we make sure the test is using a separate call to `hg add` to avoid the test scenario to be affected by that future change. note: the behavior change for `hg rollback` seems fine as it affect a niche usecase and `hg rollback` usage have been strongly discouraged for a while.
Mon, 13 Feb 2023 19:46:39 +0100 test: explicitly "add" file before some commit in test-filecache.py
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 13 Feb 2023 19:46:39 +0100] rev 50044
test: explicitly "add" file before some commit in test-filecache.py `hg commit -A` will revert the `hg addremove` step if the commit fails. However `hg rollback` currently does not. We are about to improve internal consistency around transaction and dirstate and the behavior of `hg rollback` will align on the other behavior in the process. Before doing so, we make sure the test is using a separate call to `hg add` to avoid the test scenario to be affected by that future change. note: the behavior change for `hg rollback` seems fine as it affect a niche usecase and `hg rollback` usage have been strongly discouraged for a while.
Mon, 13 Feb 2023 17:42:10 +0100 test: explicitly "add" file before some commit in test-bookmark.t
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 13 Feb 2023 17:42:10 +0100] rev 50043
test: explicitly "add" file before some commit in test-bookmark.t `hg commit -A` will revert the `hg addremove` step if the commit fails. However `hg rollback` currently does not. We are about to improve internal consistency around transaction and dirstate and the behavior of `hg rollback` will align on the other behavior in the process. Before doing so, we make sure the test is using a separate call to `hg add` to avoid the test scenario to be affected by that future change. note: the behavior change for `hg rollback` seems fine as it affect a niche usecase and `hg rollback` usage have been strongly discouraged for a while.
Mon, 13 Feb 2023 17:42:32 +0100 test: explicitly "add" file before some commit in test-rollback.t
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 13 Feb 2023 17:42:32 +0100] rev 50042
test: explicitly "add" file before some commit in test-rollback.t `hg commit -A` will revert the `hg addremove` step if the commit fails. However `hg rollback` currently does not. We are about to improve internal consistency around transaction and dirstate and the behavior of `hg rollback` will align on the other behavior in the process. Before doing so, we make sure the test is using a separate call to `hg add` to avoid the test scenario to be affected by that future change. note: the behavior change for `hg rollback` seems fine as it affect a niche usecase and `hg rollback` usage have been strongly discouraged for a while.
Wed, 11 Jan 2023 17:30:55 +0100 rhg-files: add support for narrow when specifying a revision
Raphaël Gomès <rgomes@octobus.net> [Wed, 11 Jan 2023 17:30:55 +0100] rev 50041
rhg-files: add support for narrow when specifying a revision This makes it so that `rhg files -r NODE` works properly when using narrow.
Wed, 11 Jan 2023 17:08:23 +0100 rust-narrow: enable narrow support for plain `rhg files`
Raphaël Gomès <rgomes@octobus.net> [Wed, 11 Jan 2023 17:08:23 +0100] rev 50040
rust-narrow: enable narrow support for plain `rhg files` Support for `rhg files -r NODE` in a future changeset.
Wed, 11 Jan 2023 17:28:48 +0100 rhg-files: make signature of `display_files` more flexible
Raphaël Gomès <rgomes@octobus.net> [Wed, 11 Jan 2023 17:28:48 +0100] rev 50039
rhg-files: make signature of `display_files` more flexible This allows the callers to use any error type that converts to `CommandError` instead of a particular concrete type.
Thu, 12 Jan 2023 10:28:56 +0100 rhg: fix user-facing error message so it matches Python implementation
Raphaël Gomès <rgomes@octobus.net> [Thu, 12 Jan 2023 10:28:56 +0100] rev 50038
rhg: fix user-facing error message so it matches Python implementation
Wed, 11 Jan 2023 16:42:29 +0100 rust-ui: refactor ui code for printing narrow/sparse warnings
Raphaël Gomès <rgomes@octobus.net> [Wed, 11 Jan 2023 16:42:29 +0100] rev 50037
rust-ui: refactor ui code for printing narrow/sparse warnings This will be used elsewhere in the code, starting from the next commit.
Wed, 11 Jan 2023 16:29:29 +0100 rhg-files: reuse centralized dirstate logic
Raphaël Gomès <rgomes@octobus.net> [Wed, 11 Jan 2023 16:29:29 +0100] rev 50036
rhg-files: reuse centralized dirstate logic The `files` logic predates the centralized dirstate logic. It was duplicated, an didn't receive bugfixes along the way.
Wed, 11 Jan 2023 17:27:19 +0100 rust: move `filter_map_results` to public util
Raphaël Gomès <rgomes@octobus.net> [Wed, 11 Jan 2023 17:27:19 +0100] rev 50035
rust: move `filter_map_results` to public util This is a useful general-purpose function. It will be used in the next changesets.
Wed, 11 Jan 2023 15:44:21 +0100 rhg: fix typo
Raphaël Gomès <rgomes@octobus.net> [Wed, 11 Jan 2023 15:44:21 +0100] rev 50034
rhg: fix typo
Fri, 03 Feb 2023 17:31:54 -0500 run-tests: stop ignoring venv-installed packages
Matt Harbison <matt_harbison@yahoo.com> [Fri, 03 Feb 2023 17:31:54 -0500] rev 50033
run-tests: stop ignoring venv-installed packages This will allow test dependencies to be installed within a venv, instead of tampering with sys/user sites. One thing to note here is that the `VIRTUAL_ENV` path takes precedence over system-site, unlike when run directly with an activated `venv`. For example, `sys.path` as viewed from a feature test in `hghave.py`, when running `hghave vcr` directly with an activated `venv`: sys.path: [ '/home/jenkins/hg-committed/tests', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/jenkins/test_venv/lib/python3.8/site-packages' ] vs `sys.path` from the same feature test, when run by `run-tests.py` with this change: sys.path: [ '/home/jenkins/hg-committed/tests', '/home/jenkins/hg-committed', '/home/jenkins/hg-committed/tests', '/home/jenkins/test_venv/lib/python3.8/site-packages', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/jenkins/.local/lib/python3.8/site-packages', '/usr/local/lib/python3.8/dist-packages', '/usr/lib/python3/dist-packages' ]
Mon, 30 Jan 2023 16:59:15 -0500 bundlerepo: raise `error.LookupError` instead of `LookupError`
Matt Harbison <matt_harbison@yahoo.com> [Mon, 30 Jan 2023 16:59:15 -0500] rev 50032
bundlerepo: raise `error.LookupError` instead of `LookupError` I'm pretty sure that this was the intention, given `error.LookupError` is raised a few lines above with the same arguments. Note that PyCharm complains about `self.display_id` (and the use above this too) being `() -> Any` instead of `bytes`, but it may be confused about the `util.propertycache` annotation on it.
Mon, 30 Jan 2023 16:49:41 -0500 unionrepo: resync several methods to actually override superclass methods
Matt Harbison <matt_harbison@yahoo.com> [Mon, 30 Jan 2023 16:49:41 -0500] rev 50031
unionrepo: resync several methods to actually override superclass methods Not sure how/when these skewed, but these were flagged by PyCharm as having different signatures.
Tue, 31 Jan 2023 11:41:59 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jan 2023 11:41:59 +0100] rev 50030
branching: merge with stable
Thu, 29 Apr 2021 22:01:04 +0200 storageutil: match node length with repository
Joerg Sonnenberger <joerg@bec.de> [Thu, 29 Apr 2021 22:01:04 +0200] rev 50029
storageutil: match node length with repository
Tue, 13 Dec 2022 12:50:52 +0100 dirstate: enforce holding the lock while doing any changes
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 13 Dec 2022 12:50:52 +0100] rev 50028
dirstate: enforce holding the lock while doing any changes This seems like a sensible sanity check. This already caught the issue in largefile. This will catch more issue when we start using similar context manager for operation other than the parent changes.
Fri, 27 Jan 2023 00:45:07 +0100 largefile: make sure we hold the lock when updating the second dirstate
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Jan 2023 00:45:07 +0100] rev 50027
largefile: make sure we hold the lock when updating the second dirstate The largefile extension uses a second dirstate file (and object) to track some states. In some situations, it is lazily updated when needed. These operations might not have the lock taken. This means they might conflict and race with other ongoing operations. So we now take the lock to do these operations. This was caught by the next commit.
Thu, 26 Jan 2023 15:19:39 +0100 dirstate: rename `@requires_no_parents_change` too
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Jan 2023 15:19:39 +0100] rev 50026
dirstate: rename `@requires_no_parents_change` too This match the rename of the context manager.
Thu, 26 Jan 2023 15:17:29 +0100 dirstate: rename `@requires_parents_change` to `@requires_changing_parents`
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Jan 2023 15:17:29 +0100] rev 50025
dirstate: rename `@requires_parents_change` to `@requires_changing_parents` This match the rename of the context manager.
Tue, 13 Dec 2022 12:10:37 +0100 dirstate: write dirstate on successful exit of changing_parents context
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 13 Dec 2022 12:10:37 +0100] rev 50024
dirstate: write dirstate on successful exit of changing_parents context This is the first step toward having more sensible and predicatable write patterns for the dirstate. Having better write/rollback patterns will greatly reduce and clarify the needs to backup the dirstate.
Wed, 25 Jan 2023 19:12:31 +0100 dirstate: rename parentchange to changing_parents
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Jan 2023 19:12:31 +0100] rev 50023
dirstate: rename parentchange to changing_parents Since the new argument breaks the API anyway, we can rename it to a better name. The previous name `parentchange` might be seen as something active, a function that would directly change the parents, however this is just a context manager to frame the operation that will change the parents and adjust the dirstate content accordingly. In addition, the future sister method that will be about changes to tracking and files would have a hard time fitting in the same naming scheme in a clear way. The new naming uses a clear prefix will make it more distinct from other dirstate methods and easier to extend with other similar contexts.
Wed, 25 Jan 2023 18:46:20 +0100 dirstate: pass the repo to the `changeparent` method
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Jan 2023 18:46:20 +0100] rev 50022
dirstate: pass the repo to the `changeparent` method If we want the context to be responsible for writing (and we want it), we need to have access to a localrepository object. So we now requires a localrepository object as an argument to this context manager.
Tue, 13 Dec 2022 10:00:04 +0100 dirstate: warn about non-explicitly rolledback parent-change
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 13 Dec 2022 10:00:04 +0100] rev 50021
dirstate: warn about non-explicitly rolledback parent-change Now that the invalidation is dealt with by the context manager itself, we should no longer need this in the unlocking code. We start with issuing a warning if this is the case before actually dropping this code later.
Tue, 13 Dec 2022 11:39:44 +0100 dirstate: invalidate changes when parent-change fails
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 13 Dec 2022 11:39:44 +0100] rev 50020
dirstate: invalidate changes when parent-change fails When an error occurs during changing parents, we should invalidate all dirstate modifications and reload the dirstate. This is currently done by a `unlock` callback on the `wlock`. To fix this anomaly, we start dealing with the error directly in the context manager and its potential nesting. The "hard" part is to make sure that, when the parent-change context are nested, we and higher level nesting do not continue to use the invalidated dirstate. We introduce dedicated code to enforce that.
Sat, 28 Jan 2023 20:08:57 +0100 setup: Ensure target directory exists with building rust extension
Cédric Krier <ced@b2ck.com> [Sat, 28 Jan 2023 20:08:57 +0100] rev 50019
setup: Ensure target directory exists with building rust extension When the rust extension is the first to be build, the target directory may not exist so the copy fails.
Thu, 26 Jan 2023 00:23:07 +0100 filemerge: add union-other-first as internal merge tool
Cédric Krier <ced@b2ck.com> [Thu, 26 Jan 2023 00:23:07 +0100] rev 50018
filemerge: add union-other-first as internal merge tool See inline documentation for details.
Fri, 13 Jan 2023 00:07:07 +0100 rust: use `peek_mut` from the standard lib now that it's stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 13 Jan 2023 00:07:07 +0100] rev 50017
rust: use `peek_mut` from the standard lib now that it's stable Just a little cleanup of a TODO found along the way.
Wed, 25 Jan 2023 18:45:38 +0100 clippy: actually fail if there are any warnings
Raphaël Gomès <rgomes@octobus.net> [Wed, 25 Jan 2023 18:45:38 +0100] rev 50016
clippy: actually fail if there are any warnings So far, only errors would trip the CI, this makes it so all warnings are elevated to errors, making it a CI fail if any warnings are present. This was the intended behavior, I just missed this when adding clippy.
Wed, 25 Jan 2023 18:44:09 +0100 rust-clippy: fix warning about nested ifs
Raphaël Gomès <rgomes@octobus.net> [Wed, 25 Jan 2023 18:44:09 +0100] rev 50015
rust-clippy: fix warning about nested ifs
Thu, 19 Jan 2023 11:12:20 -0500 debugshell: allow commands to be specified as a CLI argument
Arun Kulshreshtha <akulshreshtha@janestreet.com> [Thu, 19 Jan 2023 11:12:20 -0500] rev 50014
debugshell: allow commands to be specified as a CLI argument Add a `--command` option to `hg debugshell` that allows the user to pass in Python code to evaluate directly from the command line. This was inspired by the `--command` option present in Facebook's Sapling fork of Mercurial, which in turn was inspired by the `-c` option of the Python interpreter itself. It is particularly useful for writing tests, especially for getting visibility into things that otherwise aren't exposed via debug commands.
Tue, 10 Jan 2023 11:40:19 +0100 heptapod-ci: add `clippy` to the CI
Raphaël Gomès <rgomes@octobus.net> [Tue, 10 Jan 2023 11:40:19 +0100] rev 50013
heptapod-ci: add `clippy` to the CI This linter mostly makes our code more idiomatic, less surprising, has good suggestions and catches bugs. It's widely used in the Rust community and now part of the default toolchain when using `rustup`.
Tue, 10 Jan 2023 11:39:53 +0100 makefile: add `cargo clippy` to tests if cargo is available
Raphaël Gomès <rgomes@octobus.net> [Tue, 10 Jan 2023 11:39:53 +0100] rev 50012
makefile: add `cargo clippy` to tests if cargo is available This linter mostly makes our code more idiomatic, less surprising, has good suggestions and catches bugs. It's widely used in the Rust community and now part of the default toolchain when using `rustup`.
Tue, 10 Jan 2023 11:25:24 +0100 rust-tests: run `cargo` tests inside the `rust` folder
Raphaël Gomès <rgomes@octobus.net> [Tue, 10 Jan 2023 11:25:24 +0100] rev 50011
rust-tests: run `cargo` tests inside the `rust` folder There is no reason to only run inside the `rust/hg-cpython` folder, even if the `cargo test --all` behavior ends up being the same.
Tue, 10 Jan 2023 11:20:54 +0100 rust-clippy: merge "revlog" module definition and struct implementation
Raphaël Gomès <rgomes@octobus.net> [Tue, 10 Jan 2023 11:20:54 +0100] rev 50010
rust-clippy: merge "revlog" module definition and struct implementation Module inception is confusing when looking for code and almost never the right choice.
Tue, 10 Jan 2023 10:57:15 +0100 rust-clippy: merge "config" module definition and struct implementation
Raphaël Gomès <rgomes@octobus.net> [Tue, 10 Jan 2023 10:57:15 +0100] rev 50009
rust-clippy: merge "config" module definition and struct implementation Module inception is confusing when looking for code and almost never the right choice.
Tue, 10 Jan 2023 10:45:38 +0100 rust-clippy: upgrade `bytes-cast` dependency
Raphaël Gomès <rgomes@octobus.net> [Tue, 10 Jan 2023 10:45:38 +0100] rev 50008
rust-clippy: upgrade `bytes-cast` dependency I released a new version of `bytes-cast` to get rid of the clippy warning, and bump to edition 2021, so let's use it.
Tue, 10 Jan 2023 10:41:52 +0100 rust-clippy: remove redundant suffix from enum
Raphaël Gomès <rgomes@octobus.net> [Tue, 10 Jan 2023 10:41:52 +0100] rev 50007
rust-clippy: remove redundant suffix from enum Same as last time, this makes the code clearer in this instance.
Mon, 09 Jan 2023 19:37:05 +0100 rust-clippy: fix remaining warnings in `hg-cpython`
Raphaël Gomès <rgomes@octobus.net> [Mon, 09 Jan 2023 19:37:05 +0100] rev 50006
rust-clippy: fix remaining warnings in `hg-cpython`
Mon, 09 Jan 2023 19:36:41 +0100 rust-clippy: disable some lints crate-wide for `hg-cpython`
Raphaël Gomès <rgomes@octobus.net> [Mon, 09 Jan 2023 19:36:41 +0100] rev 50005
rust-clippy: disable some lints crate-wide for `hg-cpython` `rust-cpython` creates some pretty funky code that also needs to be compatible with pretty old Rust. This makes clippy quite useless in `hg-cpython` unless you disable the lints that are always triggered by `py_class!` and related. Maybe `clippy` will allow one day to exclude a dependency from its linting, but this seems quite unlikely, so this is the best we've got at the moment.
Mon, 09 Jan 2023 19:32:35 +0100 rust-clippy: fix remaining warnings in `rhg`
Raphaël Gomès <rgomes@octobus.net> [Mon, 09 Jan 2023 19:32:35 +0100] rev 50004
rust-clippy: fix remaining warnings in `rhg` All of these are simple changes that for the most part are clear improvements and the rest are at most equivalent.
Mon, 09 Jan 2023 19:18:43 +0100 rust-clippy: fix most warnings in `hg-core`
Raphaël Gomès <rgomes@octobus.net> [Mon, 09 Jan 2023 19:18:43 +0100] rev 50003
rust-clippy: fix most warnings in `hg-core` All of these are simple changes that for the most part are clear improvements and the rest are at most equivalent. The remaining warnings have to be fixed either with a bigger refactor like for the nested "revlog" module, or in the dependency `bytes-cast`, which we own. This will be done sometime in the future.
Mon, 09 Jan 2023 19:14:14 +0100 rust-utils: strip redundant prefix from enum
Raphaël Gomès <rgomes@octobus.net> [Mon, 09 Jan 2023 19:14:14 +0100] rev 50002
rust-utils: strip redundant prefix from enum This was highlighted by `clippy`, I think this makes the code cleaner.
Mon, 09 Jan 2023 19:07:44 +0100 rust-filepatterns: don't `Box` subincludes unnecessarily
Raphaël Gomès <rgomes@octobus.net> [Mon, 09 Jan 2023 19:07:44 +0100] rev 50001
rust-filepatterns: don't `Box` subincludes unnecessarily This was caught by `clippy`.
Mon, 09 Jan 2023 18:58:18 +0100 rust-nodemap: implement `PartialEq` without allocation
Raphaël Gomès <rgomes@octobus.net> [Mon, 09 Jan 2023 18:58:18 +0100] rev 50000
rust-nodemap: implement `PartialEq` without allocation This was caught by `clippy`. It's probable that this ends up optimized out by the compiler, but let's not rely on that.
Mon, 09 Jan 2023 18:54:57 +0100 rust-clippy: tell `clippy` we don't need to declare a default here
Raphaël Gomès <rgomes@octobus.net> [Mon, 09 Jan 2023 18:54:57 +0100] rev 49999
rust-clippy: tell `clippy` we don't need to declare a default here This is a struct only useful for tests.
Mon, 09 Jan 2023 18:50:29 +0100 rust-clippy: refactor complex type
Raphaël Gomès <rgomes@octobus.net> [Mon, 09 Jan 2023 18:50:29 +0100] rev 49998
rust-clippy: refactor complex type This makes reading the signature a bit less tiring.
(0) -30000 -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 tip