1. 13 Feb, 2021 1 commit
  2. 27 Jan, 2021 1 commit
    • Georges Racinet's avatar
      ref: implementation of FindRefName using the state file · 6eda441cf042
      Georges Racinet authored
      For the match logic by `/`-separated segment provided by this
      method, it would be quite unreasonable to *compute* the GitLab branches,
      hence we bite the bullet and use the state file.
      
      A comparison test makes sure the intended behaviour was well understood.
      6eda441cf042
  3. 09 Feb, 2021 1 commit
    • Georges Racinet's avatar
      branch: skip invalid state file entries in iter_gitlab_branches() · 4e1acf39b1c0
      Georges Racinet authored
      In case there is a corruption on just one line, we'll just skip it
      instead of letting the error propagate (of course with a big error
      log), so that it won't block all branch listing capabilities.
      
      Causes of error could be bugs in the state file, especially having
      an obsolete changeset there if `repo` is filtered. The state file
      is not supposed to have obsolete changesets, so that would be a bug.
      
      With this, we'll lose a bit of early bug detection, but we
      considerably reduce user impediment if something goes wrong.
      4e1acf39b1c0
  4. 27 Jan, 2021 2 commits
  5. 09 Feb, 2021 2 commits
  6. 29 Jan, 2021 4 commits
  7. 18 Jan, 2021 1 commit
  8. 14 Jan, 2021 3 commits
  9. 11 Jan, 2021 1 commit
  10. 08 Jan, 2021 1 commit
  11. 18 Dec, 2020 1 commit
  12. 13 Jan, 2021 1 commit
  13. 10 Jan, 2021 1 commit
  14. 06 Jan, 2021 1 commit
    • Georges Racinet's avatar
      Bumped Gitaly proto to 13.7.1 · 0cba916a699a
      Georges Racinet authored
      Significant change to subset implemented in HGitaly:
      
        GitCommit message now has `tree_id` to be always filled. This
        can be indicative of a serious problem to circumvent on the
        client side (or not) before we implement the tree/blob API.
      0cba916a699a
  15. 18 Dec, 2020 2 commits
  16. 20 Dec, 2020 3 commits
    • Georges Racinet's avatar
      Gitaly comparison tests: complete fixture and example · 80edfd87965c
      Georges Racinet authored
      This provides the `gitaly_comparison` fixture, which
      stores channels to both Gitaly and HGitaly servers,
      as well as a whole hg-git mirroring setup, thanks to
      the `GitLabMirrorFixture` class provided by py-heptapod.
      
      As before, the fixture is declared in `conftest.py` (with
      the docstring now making fully sense), but the main class
      if elsewhere, namely in the `comparison` module.
      
      A first comparison test is written, which already uncovers
      two differences that should be fixed.
      80edfd87965c
    • Georges Racinet's avatar
      Gitaly comparison tests: GitalyServer and gitaly_channel fixture · 49d6e778792d
      Georges Racinet authored
      The GitalyServer class is able to configure, start and shutdown
      a Gitaly server, using the binaries from the Gitaly installation.
      
      The gitaly_channel fixture starts a `GitalyServer`, opens
      a client channel to it and waits for readiness.
      
      The fixture is defined in a package-local `conftest.py`, which
      has drawbacks, but it the only way to share it in practice.
      Most of the code is in the `gitaly` submodule anyway.
      
      Finally, `test_gitaly_server` ensures that this is working.
      The test is skipped if there is not known Gitaly installation,
      thanks to the utility provided at toplevel.
      
      Neither HGitaly nor Mercurial are involved at this point.
      49d6e778792d
    • Georges Racinet's avatar
      Gitaly comparison tests: discovery of Gitaly installation · 024370a05311
      Georges Racinet authored
      The ultimate goal being to be able to compare HGitaly responses
      to Gitaly responses, this defines concepts to describe
      Gitaly installations and adds a discovery system.
      
      A Gitaly installation is at this point a directory with
      all the compiled executables and a `ruby` subdirectory for
      the gitaly-ruby side.
      
      The CI will run on a base image with an existing installation,
      which will be specified by passing the `GITALY_INSTALL_DIR`
      environment variable, interpreted by these tests as a strong
      promise, and triggering the coverage of `tests_with_gitaly`
      in the `run-all-tests` script.
      
      Otherwise, the tests are able to detect the common case where
      HGitaly is part of a HDK workspace and use the standard location
      for the Gitaly checkout (after minimal checking).
      024370a05311
  17. 19 Dec, 2020 2 commits
  18. 18 Dec, 2020 4 commits
  19. 17 Dec, 2020 6 commits
  20. 16 Dec, 2020 1 commit
  21. 12 Jan, 2021 1 commit