- Mar 09, 2024
-
-
Georges Racinet authored
All error cases in this function were actually `StateFileError`. It is true it can be transparently converted to `RefError` but the latter will be inappropriate in the upcoming `ListRefs` inner implementation, where `StateFileError` is the only considered one.
-
Georges Racinet authored
…and a performance note.
-
Georges Racinet authored
They can be useful besides for concatenation purposes.
-
Georges Racinet authored
Up to know, all the streaming gRPC methods we implemented have been using the `spawn_blocking` pattern, but some `RefService` methods will not need to actually open repositories, changelogs etc, hence will be implemented with async tasks (`tokio::spawn`). This defines types shortcuts and reexposes `send()` with the only possible error treatment in case the channel is broken: logging it.
-
- Mar 08, 2024
-
-
Georges Racinet authored
Some motivation for making a macro or something.
-
- Mar 07, 2024
-
-
Georges Racinet authored
Closes #53
-
- Sep 18, 2023
-
-
Georges Racinet authored
Not so much to test, but that is better than nothing.
-
- Apr 01, 2021
-
-
Raphaël Gomès authored
Both where it's defined and in the test that uses this path.
-
- Mar 07, 2024
-
-
Georges Racinet authored
This reduces duplication in error treatment for Node prefixes that do not resolve, an area in which we hope `hg-core` will change.
-
Georges Racinet authored
This helps reduce the duplication in service code a bit, as the error treatment always turns out to be the same. It seems unlikely anything other than `Internal` could be useful if the changelog cannot be opened. It also uncovers that methods returning several blob or trees were reopening the changelog for each returned value and reduces that partially (not true in case of `get_blobs`). This is probably not much anyway for anything making use of the manifest, given how inefficient it is, but it may help in the future.
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
This is essentially trivial, since we are returning a constant. The Comparison test looks silly, but it is still useful, as it is the only thing proving that it actually works, and it forced us to return the same errors as Gitaly, which is obviously a good thing. We might want a direct HGitay vs RHGitaly comparison at some point, though. Closes #187
-
Georges Racinet authored
This could be important if upstream were to perform some optimization based on it.
-
Georges Racinet authored
Because we need to release ASAP as part of Heptapod 1.1.2 (also has an upstream security release), we won't deduplicate the fetching of the target commit, but it should be done shortly after the release. Closes #186
-
Georges Racinet authored
It is hard imagining converting this Heptapod-specific error into something else than `Internal`. Anyway, such shortcuts do not preclude performing manual error treatment.
-
Georges Racinet authored
Expected to be used more than once across the code base, like its older sibling for branches.
-
- Mar 03, 2024
-
-
Georges Racinet authored
Closes #156. This is the first concrete use of the new facilities provided by `rhgitaly::errors`. These latter do not spare so much typing, but they help main service methods such as in this case `inner_get_tree_entries` not to lose too much focus.
-
Georges Racinet authored
Made a submodule in order to be able to explain the conventions, see the doc-comment about that.
-
Georges Racinet authored
This is heavily inspired by (and partially duplicated from) `tonic_types`, which cares only about the standard set of errors defined by Google's "richer errors".
-
- Mar 02, 2024
-
-
Georges Racinet authored
This is the Python part of #156, and it also serves to prepare the Comparison test that will validate the Rust side. In ordinary integration tests, we do not assert the exact value of the structured error: the Comparison tests will be much better to make sure they are correct, so we content ourselves with maintaining coverage in them.
-
- Feb 28, 2024
-
-
Georges Racinet authored
Sadly HGitaly will not see any boost except in bandwidth. Closes #165
-
Georges Racinet authored
-
- Feb 27, 2024
-
-
Georges Racinet authored
-
- Feb 26, 2024
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
This should help understanding heptapod#1365, which is reproduced only by the call from Rails to HGitaly on the production server (direct Mercurial CLI or from a Python intercepter on the production server works, HGitaly call on a dev machine also works). Thankfully, that was already covered.
-
- Feb 14, 2024
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
This is nicer when running `rhgitaly --help`
-
Georges Racinet authored
Turns out this is a clap builtin. Closes #180
-
- Feb 13, 2024
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
With the bump to Gitaly 16.7 and the implementation of `GetPatchID`, it is well worth a minor version bump
-
Georges Racinet authored
-
Georges Racinet authored
We were tempted for a while not to implement it, as almost everything it does can be done by `ListRefs`, but there were enough subtle differences (and the prefix matching) than finally it should be the simplest. Of course, heavy factorization occurred
-
Georges Racinet authored
It contains an important fix for `ChangelogRevisionData.files`. We don't seem to use that method yet, but are prone to, as it would be the main backing data access for the likes of `LastCommitForPath`
-
- Feb 12, 2024
-
-
Georges Racinet authored
Main motivation was external executables, but being comprehensive is expected.
-