Skip to content
Snippets Groups Projects
  1. Oct 10, 2020
    • Georges Racinet's avatar
      server: moved init/start logic outside of Mercurial extension · e5d2c2bd
      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.
      e5d2c2bd
    • Georges Racinet's avatar
      grpcio: requiring at least 1.32 for exception uniformity · 3865ccd5
      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.
      3865ccd5
    • Georges Racinet's avatar
      Python 2: dropping support · edda7778
      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).
      edda7778
  2. Oct 09, 2020
  3. Sep 28, 2020
  4. Sep 14, 2020
  5. Jul 30, 2020
  6. Jul 29, 2020
    • Georges Racinet's avatar
      Server command: made --repositories-root work · 3d8700a4
      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.
      3d8700a4
  7. Jun 27, 2020
  8. Jun 28, 2020
    • Georges Racinet's avatar
      default branch: warning if fallback to the hardcoded default · 90fe8375
      Georges Racinet authored
      With the updating logic in `py-heptapod` and in the Rails app,
      we should never have to fallback to the hardcoded `branch/default`,
      except maybe on empty repos.
      
      Of course future migration of `hg_git` projects to `hgitaly` project
      will copy over the default branch information from the auxiliary
      Git repo to the Mercurial repo.
      90fe8375
    • Georges Racinet's avatar
      default branch: GitLab expects a ref · 740a9978
      Georges Racinet authored
      Despite its name, `FindDefaultBranchName` is actually expected
      to return a branch ref instead of a branch name.
      
      Given something else than a branch ref, the Rails app
      `Gitlab::Git.branch_name` returns `nil` (as of GitLab 12.10)
      740a9978
  9. Jun 23, 2020
  10. Jun 20, 2020
    • Georges Racinet's avatar
      (very partial) ref service: FindTag and FindAllTag · 16776923
      Georges Racinet authored
      This is partial because we don't have at the moment a clear way to
      get the commit responsible for the tag value, which would be
      needed to provide authorship and tag contents.
      
      In `mercurial.tags`, what is called `hist` is a list of previous
      tag *values*, hence is not what we need.
      
      Trying to reproduce the tag resolution logic, even with knowledge of
      the target changeset looks to be at best risky.
      
      Efficient extraction of that information would probably entail doing
      it along the target node information, and probably more caching.
      16776923
    • Georges Racinet's avatar
      ref service: updated comment about tags · 2ddf34a6
      Georges Racinet authored
      - decided to use the 'SPEC' marker wherever what's expected is
        not clear. Does not imply a formal specification can really
        be found.
      - tagtype() uses caches, so the comment was either obsolete
        or overblown.
      2ddf34a6
  11. Jun 23, 2020
    • Georges Racinet's avatar
      ref service: PackRefs · 5081b184
      Georges Racinet authored
      of course it does nothing. Contrary to `ListNewCommits`,
      calling it is not a hard error, as calling it by mistake
      is somewhat harmless (less critical than pre-receive checks).
      5081b184
    • Georges Racinet's avatar
      ref service: ListNewCommits/ListNewBlobs not relevant · f3297135
      Georges Racinet authored
      All explained in the docstrings, we probably never will
      implement them for Mercurial. On the client side, all
      currently existing callers must be rewritten
      anyway.
      f3297135
    • Georges Racinet's avatar
      ref service: ListTagNamesContainingCommit · 043d62f1
      Georges Racinet authored
      Same as sibling method for branches, we'll have to cope with
      ordering, but that can probably wait.
      043d62f1
    • Georges Racinet's avatar
      ref service: ListBranchNamesContainingCommits · b1dc70f8
      Georges Racinet authored
      At this point, the ordering of results is arbitrary.
      We don't expect that to be a problem until after the
      first end-to-end experiments.
      
      Implicitely expected ordering is specified in comment.
      
      Implementation is probably somewhat inefficient. It's a bit
      frustrating that in Mercurial we know right away to which
      branch a commit relates (contrary to Git) but still have to
      do all these ancestry computations.
      
      But it would be easy to be wrong if trying to be smarter.
      b1dc70f8
    • Georges Racinet's avatar
      util.chunked: with limits · 3346666b
      Georges Racinet authored
      This is a simple way to limit the number of items in responses,
      although we expect many cases to actually be better implemented
      by passing the limit down to the thing that produces the iterable
      being chunked
      3346666b
  12. Jun 20, 2020
  13. Jun 19, 2020
    • Georges Racinet's avatar
      ref service: reordering to match the proto file · 3648a95f
      Georges Racinet authored
      It's always been the intent, but some drift occurred due to
      `FindBranch` being way after `FindAllBranches`.
      3648a95f
    • Georges Racinet's avatar
      ref service: FindAllRemoteBranches · 0adfcb6f
      Georges Racinet authored
      In this first implementation, that's easy: there is no concept
      of remote branches in Mercurial.
      
      Although, on second thought, in GitLab they could be related to
      mirroring features, and we may need to have something similar
      for Mercurial at some point which would be provided by an extension,
      that we'd write ourselves if it doesn't exist already.
      0adfcb6f
    • Georges Racinet's avatar
      ref service: FindLocalBranches · bf7abe24
      Georges Racinet authored
      It looks as if the `commit` field was added last, and that
      would explain why the redundancy.
      bf7abe24
Loading