Skip to content
Snippets Groups Projects
  1. Apr 28, 2022
    • Georges Racinet's avatar
      RepositoryService: implement RemoveRepository · 6e3106e9
      Georges Racinet authored
      Closes #95
      
      This is in advance of the HGitaly3 milestone, but needed for
      gitaly-backup (removal occurs before restoration).
      
      We don't attempt to provide the same level of locking as Gitaly
      does, both because this is not the best time to handle locking
      for mutation methods and because this is a special case, but
      we split the work into atomic rename and cleanup (cheap to
      implement).
      
      See also heptapod#534
      6e3106e9
  2. Apr 29, 2022
    • Georges Racinet's avatar
      test Repository service: using the fixture class pattern · 2abfea4c
      Georges Racinet authored
      In the process, the `ServiceFixture` class gains a few more
      utilities to handle repositories directly and the cleanup code
      paths are now covered.
      
      Also an opportunity to use mercurial_testhelpers features that
      were introduced since the writing of many of these tests,
      such as `LocalRepoWrapper.load()`.
      
      Also applying general coding style that avoids bound variables
      (when reasonable).
      2abfea4c
    • Georges Racinet's avatar
      New fixture base class for service tests · db90846f
      Georges Racinet authored
      This will help make common patterns more uniform.
      The `__init__` super dance is not the most elegant code
      ever written, but using classmethods wouldn't be so much of
      an improvement.
      db90846f
  3. Apr 28, 2022
  4. Oct 09, 2021
  5. Mar 30, 2022
  6. Oct 09, 2021
  7. Aug 28, 2021
  8. Mar 29, 2022
  9. Mar 21, 2022
  10. Mar 20, 2022
    • Georges Racinet's avatar
      Server: fixing keepalive parameter · caa532ac
      Georges Racinet authored
      Despite coincidence between the all caps name used
      in doc with the actual name of the argument in other
      cases, it seems that we need to use the corresponding
      string value in the `#define` for the all caps name.
      
      This is a case where documentation is very lacking
      (didn't find anything explicit about that in API doc
      for Python `grpcio`).
      caa532ac
  11. Mar 14, 2022
  12. Mar 13, 2022
  13. Mar 12, 2022
    • Georges Racinet's avatar
      Protocol: bumping to v14.8 · 2ca1d146
      Georges Racinet authored
      Taken from Gitaly v14.8.2, the most notable difference for us
      is the removal of the `CommitService.CommitsBetween` RPC method.
      
      As we've had problem with grpcio/grpcio-tools 1.44, we're pinning
      to 1.42, the same version used in the Rails application in GitLab
      14.8. This does change the resulting stub modules.
      2ca1d146
    • Georges Racinet's avatar
      CommitService: removing CommitsBetween implementation · 736e3b34
      Georges Racinet authored
      This RPC method was long deprecated in favor of `ListCommits`
      and will be removed in Gitaly protocol version 14.7
      736e3b34
    • Georges Racinet's avatar
      Bumping version for new method impl · b6d02857
      Georges Racinet authored
      The `CommitService.ListCommits` method is enough for a minor
      version bump.
      
      Also we're about to upgrade protocol to Gitaly 14.8
      b6d02857
  14. Feb 13, 2022
    • Georges Racinet's avatar
      CommitService.ListCommits: basic implementation · 56379b04
      Georges Racinet authored
      This is obviously very partial given the list of request options
      and the fact that this is handed straight to git-rev-list, hence
      to be complete, we should implement all possible meaning of
      revisions, including mixing the `..` and `...` notation with simple
      commit ids and refs whenever Git accepts it.
      
      Still, current usage in GitLab is limited to `Repository#between`,
      hence revisions is `[^FROM, TO]`. Of course, more advanced cases
      can appear any time, but at least we'll have the proper harness
      to implement them.
      
      The ordering options cannot match exactly Gitaly's, see the
      lengthy explanation in docstring about this.
      
      closes #72
      56379b04
  15. Mar 03, 2022
  16. Mar 02, 2022
Loading