- Nov 10, 2020
-
-
Georges Racinet authored
-
Georges Racinet authored
We already had good enough error responses for the case when the *storage* is not found, but it was missing for the case when the repository is not found in an existing storage. This is important, because it can actually break the landing page of some users: the Rails application does not seem to expect an unspecified Gitaly error here, but it should recover from NOT_FOUND. I've been impaired by this on dev setup after with some repository removals, but don't have anything of that kind on hand any more, which would be more reassuring. We could have a better separation in concerns, as the subsequent change in `RepositoryExists()` indicates, but that's not a blocker for the imminent release.
-
- Nov 09, 2020
-
-
Georges Racinet authored
It actually fixed the Commit page right away. Direct links in Notes work as well (as expected). Error treatment is coarse: the point is to have a proper NOT_FOUND rather than a crash. Perhaps we will have eventually to ignore problematic oids instead, we'll see that later. Closes #22
-
Georges Racinet authored
As explained in the comment, we must really use `file()` here.
-
Georges Racinet authored
This relies heavily on the previously introduced `not_implemented()` helper method. Many of these look to be short forms of `FindCommits`, probably for bandwidth reduction, and should therefore be easy to implement.
-
Georges Racinet authored
Actually there was but one, in `RefService`
-
Georges Racinet authored
We're providing the `errors.not_implemented()` function with the goal to make it easy to produce proper such errors with links to tracking issues, while needing only one "no cover" pragma comment. For integration testing, we simply selected a RPC method that is unlikely to be implemented ever in HGitaly.
-
- Oct 31, 2020
-
-
Sushil Khanchi authored
For now, this doesn't support all lookups, but we plan to complete it by HGitaly1 milestone.
-
- Nov 01, 2020
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
The new script takes care of switching imports to the relative style that is needed in our context.
-
- Oct 28, 2020
-
-
Sushil Khanchi authored
For now, this doesn't support all lookups, but we plan to complete it by HGitaly1 milestone.
-
- Oct 16, 2020
-
-
Georges Racinet authored
This raises the question of homegeneity of branch naming conventions between py-heptapod and HGitaly (see long comment, with reference to heptapod#352) There was also a glitch while installing py-heptapod. The solution adopted is a path of least resistance.
-
- Oct 15, 2020
-
-
Georges Racinet authored
-
Georges Racinet authored
It is, indeed, read from `setup.py`
-
Georges Racinet authored
The usual mistake that becomes blatant at first actual production of a distribution.
-
Georges Racinet authored
HGitaly now uses some helpers that are not present in the latest released version of py-heptapod (known as `heptapod` as a Python project), hence we have to base our requirement on a pre-release distribution (which was just uploaded).
-
- Oct 13, 2020
-
-
Georges Racinet authored
In the GitLab application, this is used for download links in "subtrees" of the repository. An archival metadata file is not expected (nor is it on the Git side). I've checked that `git archive` behaves similarly, i.e., just an inclusion rule, with no re-anchoring of the files at the top of the archive.
-
Georges Racinet authored
We'll need to perform the same kind of validation on paths that Gitaly does, and Mercurial itself already provides us with utilities to re-expose.
-
- Oct 12, 2020
-
-
Georges Racinet authored
Closes #6 The `path` parameter is not interpreted yet, this will be done in a subsequent changeset.
-
- Oct 13, 2020
-
-
Georges Racinet authored
Gitaly centralizes the sizes of chunks for streaming of binary large objects, with default values and tuning possibilities from environment. We are doing the same here. First use case will be repository archive production.
-
- Oct 14, 2020
-
-
Georges Racinet authored
-
- Oct 10, 2020
-
-
Georges Racinet authored
This will in particular be a boon for HDK users, once it becomes the default in RSpec integration tests. On servers, it'll provide better insulation and reduce latency a little bit. Closes #4
-
Georges Racinet authored
There were previously no tests at all, and it wasn't in coverage report. Testing in Mercurial extension context is a bit more painful, but it's become easier now that the extension is just a thin wrapper.
-
Georges Racinet authored
This provides a more natural and easier to test setting, with the extension being now only a thin wrapper for command-line arguments, configuration and startup exceptions. This also makes inner code more natural by stopping to insist that any string must be bytes: URLs are now str in `hgitaly.server`. On the other hand, storage root paths will keep on being bytes, as is natural for file system paths.
-
Georges Racinet authored
In cases of socket bind failures, grpcio 1.31.0 returns a zero port value, whereas 1.32.0 raises RuntimeError. To avoid making special cases that seem useless, let's just make explicit that we are using at least 1.32.
-
Georges Racinet authored
See heptapod#353 for rationale. Actually, this is more along the lines of not bothering about *potential* Python 2 support, as HGitaly wasn't really working under Python 2 anyway, notably because of type annotations (granted, we could have dropped them, but it doesn't matter any more).
-
- Oct 09, 2020
-
-
Georges Racinet authored
Closes #8
-
Georges Racinet authored
With the accompanying tests, this brings the coverage to 100%
-
Georges Racinet authored
This standard way to return errors to the client is by means of `context.set_code()` and `set_details()`. Some Python exceptions are automatically converted into errors, but with potential loss of information. The new test brings the coverage of repository_service to 100%
-
Georges Racinet authored
Before the issues were created, the coverage could serve as a reminder that they have to be done. This is not useful any more, we'd prefer the coverage to be useful in itself (missing tests, code becoming unexpectedly dead…)
-
- Sep 28, 2020
-
-
Sushil Khanchi authored
-
Sushil Khanchi authored
This module will include logic to provide tag messages etc.
-
- Sep 14, 2020
-
-
Georges Racinet authored
Despite its name, the expected return value of `FindAllBranchNames` is actually full Git refs, such as `refs/heads/git_branch_name`.
-
- Jul 30, 2020
-
-
Georges Racinet authored
I can't remember why it's not been done in aaea40d0ae4a, and there's no note about that: it must have been a mistake. We currently have some unrelated failures in the 'stable' build due to Mercurial stable be apparently 5.5 now
-
- Jul 29, 2020
-
-
Georges Racinet authored
Apparently, `None` as default argument for an option is incompatible with it having a value. The only way to detect a missing string argument is to evaluate to bool. In this case, it's not a problem.
-
- Jun 27, 2020
-
-
Georges Racinet authored
These two methods are called early by the Rails application.
-
Georges Racinet authored
The catch is that CommitsBetween is not exactly what one may think: see docstring and comment in tests about checks done for the expected response in a case where `from` is not ancestor of `to`.
-