Skip to content
Snippets Groups Projects

Merged/adapted oldstable into stable for RHGitaly methods

Merged Georges Racinet requested to merge topic/stable/merge-oldstable into branch/stable
  1. Aug 07, 2023
  2. Jul 31, 2023
  3. Aug 07, 2023
    • Georges Racinet's avatar
      rhgitaly::oid: methods for tree handling · eb6763d7
      Georges Racinet authored
      There are for now completely identical to methods for blobs,
      but they could well become different (e.g, different disk caches or
      whatever).
      eb6763d7
    • Georges Racinet's avatar
      rhgitaly::mercurial::ls_path: listing a subset of manifest · 721ac5a4
      Georges Racinet authored
      This will be useful to implement `CommitService.TreeEntry`.
      There is plenty of room for performance improvement, notably:
      
      - the position of the first relevant entry could be found
        by binary search instead of a linear scan
      - we could try and clone less
      
      But it is possible that this would not be really needed, given
      the performance and scalability boost given by RHGitaly over
      HGitaly, before Mercurial manifests start using a more efficient
      layout, making this code obsolete.
      721ac5a4
    • Georges Racinet's avatar
      RHGitaly: allowing to stream TreeEntryResponse from BlobResponseChunk · 87b6970c
      Georges Racinet authored
      We will soon implement `CommitService.TreeEntry`, which has to
      behave like `GetBlobs` on one `RevisionPath` in case it turns out
      the path is a blob.
      87b6970c
  4. Jul 31, 2023
    • Georges Racinet's avatar
      rhgitaly::mercurial: preparation for CommitService.TreeEntry · 562c5d46
      Georges Racinet authored
      We split `lookup_blob()` in two functions, so that
      parts can be reused without reopening changelogs, manifests etc.
      Notably, the implementation of `TreeEntry` will use `read_blob`
      in case it is serving a blob and not a tree: in this case
      the manifest entry has already been found, no need to reopen and
      rescan anything.
      562c5d46
  5. Aug 05, 2023
    • Georges Racinet's avatar
      CI/CD: using a bigger flavor for tests-rust · 71576e6b
      Georges Racinet authored
      This job is way longer than the Python tests in the same
      stage and is needed for Comparison Tests.
      
      Most of the time being spent in Rust compilation, it should be
      worthwile to launch a worker with more CPUs.
      71576e6b
    • Georges Racinet's avatar
      Comparison tests: using a prebuilt RHGitaly, especially in CI · 677f804b
      Georges Racinet authored
      In CI, the artifact size is becoming huge (~1.6G), and it's not so useful
      to rebuild in the `comparison` job, as this is not caching.
      
      We introduce the option to take a path to a prebuilt RHGitaly from
      environment variables, and use it in CI, which allows us to
      restrict the artifact to the (much smaller) final executable, provided
      we actually run `cargo build`.
      677f804b
  6. Aug 01, 2023
  7. Jul 31, 2023
    • Georges Racinet's avatar
      RHGitaly implement HasLocalBranches · e0fbe488
      Georges Racinet authored
      This method is mostly used to check if the repository is emtpy (and
      that is in the case of Mercurial logically equivalent),
      but it's better to implement it using the GitLab branches file as it
      avoids actually opening the repository, spawning a thread for
      blocking iteration etc.
      e0fbe488
Loading