- Mar 02, 2022
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
explicitely asserting obsolescence of the changeset, because it is a bit less obvious in this case why it works.
-
Georges Racinet authored
as with CountDivergingCommits, we take the cautious approach.
-
Georges Racinet authored
-
Georges Racinet authored
Thanks to the `do_rpc` pattern, some comments have become useless. Also regrouping the calls by category
-
Georges Racinet authored
another very old test
-
Georges Racinet authored
Here I prefer to be cautious, because it should be uncommon that this method is called with a full changeset id. This method is not a case of hot loop, so that it should be perfomance-wise acceptable to call `obsolete()` twice.
-
Georges Racinet authored
As usual, I prefer not to have variables with semantically poor names, and use comprehensions instead when reasonable. Also not using `pycompat` when we know exactly what we want (here anything non ASCII would be a surprise, hence a wanted test breakage)
-
Georges Racinet authored
This is actually the oldest gRPC test in HGitaly, it was originally written before I started encapsulating boilerplate in `do_rpc` nested functions. Usefulness of the encapsulation is further underlined by the fact that it detected the tautological (and wrong) test of parent changeset.
-
Georges Racinet authored
At least since fb705af664d0, we don't have a fallback when default GitLab branch is not set. The test was actually testing nothing, because of the missing call (found while preparing a refactoring that should be next). Added comparison with Gitaly cases with HEAD to check as much as possible that behaviour is right: - empty repo (notice the invalidation) - and normal case where the mirroring to Git has set the default GitLab branch.
-
Georges Racinet authored
-
Georges Racinet authored
As usual, should work if an obsolete changeset is given by full node id.
-
Georges Racinet authored
was not previously tested.
-
Georges Racinet authored
-
- Mar 01, 2022
-
-
Georges Racinet authored
Our general principle being that obsolete changesets must be returned if queried by exact node id, this method whose inputs are exact node id must operate on the unfiltered repo view.
-
- Feb 26, 2022
-
-
Georges Racinet authored
-
- Feb 15, 2022
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
yes, the dev version should have been 0.21.0dev0
-
Georges Racinet authored
All the changes seem to be related to praefect, except in FetchBundleRequest (probably for pull mirrors) // UpdateHead will update HEAD if there is a HEAD reference listed in the bundle bool update_head = 3; Reminder: HEAD is used in Git to record the default GitLab branch.
-
Georges Racinet authored
This is actually a good example to explain my take on this, which is not shared by all developers around. This is more readable in my mind because - the single statement (outlined by further indentations) goes straight to the point, which is to return some explicit error, rather than distracting attention of the reader with preparations about secondary aspects (error message). - name of variables in preparations tend to have very generic semantics (`msg`, `value`, `res`) and to be reused a lot. That is, in Python, a source of bugs that can be hard to track. OTOH using something more specific like `already_exists_msg` would be overkill. - `repr` or `%r` is a great way to make the messages understandable even if there are empty strings or whitespaces. In this specific case, f-strings would be appropriate, too. Should write this in a coding style somewhere…
-
Georges Racinet authored
In version 14.6, Gitaly makes it an error to attempt to create a repository if anything already exists at the target path (even broken symlinks). This is worth a minor version change. This deprives us of the way we were triggering actual repository creation errors in tests. To maintain coverage, we're now using the broken symlink trick one step higher in the file hierarchy: on the storage itself. Playing with permissions would not work in CI.
-
Georges Racinet authored
This gRPC error code was not used yet. We will need it for upcoming changes related to Gitaly 14.6
-
- Jan 23, 2022
-
-
Georges Racinet authored
-
Georges Racinet authored
In our CI image, the `gitaly` executable sits right at the top. Moving it back there was an actual choice of ours that we could have reverted, but it feels actually right for the Gitaly home directory in the CI image not to be necessarily a source checkout or carry build intermediate results (to keep it slim). For better flexibility, we introduce a simple discovery that can take care of both. Also, in CI, we have `/usr/local/bin/git`, with the right version: no reason to use the one that Gitaly can build.
-
- Jan 21, 2022
-
-
Georges Racinet authored
The path to the Gitaly executable has changed. Not sure where the built Git with the exact good version was before, but now it is in `_build/deps`. [skip ci]
-
Georges Racinet authored
The `ancestor` revset primitive supports them readily.
-
Georges Racinet authored
Either the arguments (if passed by their SHAs) or the found ancestor (in case of instability) can be obsolete. This method is usually called at Merge Request creation, where obsolescence is uncommon, but it can also be called after export/import and migrations that clear caches, and then the probabilities are much higher.
-
Georges Racinet authored
The separate root was missing
-
- Jan 03, 2022
-
-
Georges Racinet authored
-
Georges Racinet authored
-
- Dec 26, 2021
-
-
Georges Racinet authored
This should not be called on a Mercurial repo, at least until we provide general support for signatures. If that ever happens we'll be happy to have the explicit reference to the issue.
-
Georges Racinet authored
See #90
-
Georges Racinet authored
This makes it easier to check that we don't miss any method (and we do miss two)
-
Georges Racinet authored
This is enough to bump the minor version, underlining the divergence with Heptapod 0.27. A few Git-centric disappear and the only significant change for us is the new `RefService.FindRefsByOID` method (see #89). On the Rails side, `FindRefsByOID` is exposed as `Repository#refs_by_oid` whose only caller is `Commit#first_ref_by_oid`, itself used in v14.5.2 only in the Jira integration and behind a feature flag.
-
- Nov 26, 2021
-
-
Georges Racinet authored
-