Skip to content
Snippets Groups Projects
  1. May 23, 2023
  2. May 01, 2023
    • Stan Hu's avatar
      Clean up code and add tests for ancestor caching · f18df8dd
      Stan Hu authored
      The `ancestor?` check needs to be expired after the source branch is
      fetched.
      Verified
      f18df8dd
    • Phil Hughes's avatar
      Fix for the rebase merge request state being shown incorrectly · 5f61cd55
      Phil Hughes authored and Stan Hu's avatar Stan Hu committed
      Previously, the following was happening:
      
      1. Merge request form gets submitted.
      2. User gets direct to merge request page, which loads the widget.
      3. The value for `ff_merge_possible?` gets cached incorrectly.
      
      In between steps 1 and 2, the async diff creation is happening, which
      actually fetches the ref into the project. If the ref is fetched after
      the page is loaded, the widget will cache the wrong value, and the
      state won't expire until either the target branch SHA changes or the
      diff head SHA changes.
      
      Changelog: fixed
      Verified
      5f61cd55
  3. Apr 23, 2023
  4. Mar 27, 2023
  5. Mar 17, 2023
    • Vasilii Iakliushin's avatar
      Fix NoMethodError: undefined method `sha' · d2b07c92
      Vasilii Iakliushin authored and Andy Schoenen's avatar Andy Schoenen committed
      Contributes to #395480
      
      **Problem**
      
      Empty repositories can have an default branch that doesn't point
      anywhere. Attempt to access their `sha` will raise a NoMethodError.
      
      **Solution**
      
      Verify that the default branch points to an existing commit before
      requesting `sha`.
      
      Changelog: fixed
      d2b07c92
  6. Mar 15, 2023
  7. Mar 11, 2023
  8. Feb 23, 2023
  9. Feb 15, 2023
  10. Feb 06, 2023
  11. Feb 01, 2023
  12. Jan 27, 2023
    • Vasilii Iakliushin's avatar
      Optimize `head_tree` code · 27b224d6
      Vasilii Iakliushin authored
      Contributes to #386627
      
      **Problem**
      
      Each request to fetch `readme_path` or `avatar_path` causes two Gitaly
      requests: `FindCommit` and `GetTreeEntries`. It's not efficient.
      
      **Solution**
      
      Remove `FindCommit` request and rely on the default branch to fetch
      repository tree.
      27b224d6
    • Vasilii Iakliushin's avatar
      Remove experimental code for 'readme_from_gitaly' FF · c5d015c4
      Vasilii Iakliushin authored
      Contributes to #387703
      
      Unfortunately, the proposed solution was not performant enough during
      testing. `SearchFilesByName` requests cannot be cached and worsen the
      performance instead of improving it.
      
      I remove the feature flag and new experimental code, in favor of a
      different solution.
      
      Changelog: other
      c5d015c4
  13. Jan 24, 2023
  14. Jan 18, 2023
  15. Jan 16, 2023
    • Vasilii Iakliushin's avatar
      Optimization for `#readme_path` discovery · d8737a31
      Vasilii Iakliushin authored
      Contributes to #386627
      
      **Problem**
      
      `readme_path` detection is not optimized and triggers two Gitaly queries
      just to detect the readme path.
      
      **Solution**
      
      * Remove unnecessary `FindCommit` call
      * Use `SearchFileByName` API instead of `GetTreeEntries`
      d8737a31
  16. Jan 04, 2023
  17. Nov 29, 2022
  18. Nov 09, 2022
    • Quang-Minh Nguyen's avatar
      Propagate feature flag actors in Gitaly RPC calls · fb1b6f78
      Quang-Minh Nguyen authored
      Feature flags in Gitaly was in a weird state. GitLab Rails pre-evaluates
      the flags, then passes to Gitaly via gRPC metadata or indirectly through
      internal APIs and workhorse. When evaluate gRPC metadata, feature flags
      are not evaluated with any actors. In other words, all feature flags are
      global in the context of RPCs. In contrast, feature flags in other
      locations support actors partially—only Project actor is allowed. This
      inconsistency creates plenty of troubles while delivering Gitaly
      changes.
      
      This commit enhances the feature flag situation by:
      * Introduce Repository actor, dedicated for Gitaly
      * Implement a collector in Gitaly client to collect possible actors for
      pre-evaluation
      * Apply actor collector to Gitaly commit service as a POC for this
      approach
      
      Issue: gitaly#4459
      
      
      Changelog: other
      EE: true
      Signed-off-by: Quang-Minh Nguyen's avatarQuang-Minh Nguyen <qmnguyen@gitlab.com>
      fb1b6f78
  19. Oct 03, 2022
  20. Sep 22, 2022
    • Toon Claes's avatar
      Load all license details from Gitaly · a52f9574
      Toon Claes authored
      Gitaly has changed it's interface so it provides all the details about
      the software license of a repo.
      
      This change, behind a feature flag, removes the use of the Licensee gem
      for this purpose, and solely depends on Gitaly to provide all
      information on the license.
      
      Licensee is still used for license templates and linking to a license in
      for example the specs.
      
      Changelog: performance
      Roll-out-Issue: #374300
      a52f9574
    • Toon Claes's avatar
      Refactor composing License object · 7e7db84f
      Toon Claes authored
      We're about to remove the use of Licensee for license detection and
      getting all the metadata about a license.
      
      With this change we're preparing the code to support a different class
      that provides all the license data.
      7e7db84f
  21. Sep 21, 2022
    • Mayra Cabrera's avatar
      Revert "Merge branch 'toon-no-more-licensee' into 'master'" · cdebd72e
      Mayra Cabrera authored
      This reverts merge request !77041
      
      Changelog: fixed
      cdebd72e
    • Toon Claes's avatar
      Load all license details from Gitaly · b37b0d5b
      Toon Claes authored
      Gitaly has changed it's interface so it provides all the details about
      the software license of a repo.
      
      This change, behind a feature flag, removes the use of the Licensee gem
      for this purpose, and solely depends on Gitaly to provide all
      information on the license.
      
      Licensee is still used for license templates and linking to a license in
      for example the specs.
      
      Changelog: performance
      Roll-out-Issue: #374300
      b37b0d5b
    • Toon Claes's avatar
      Refactor composing License object · 549b4dad
      Toon Claes authored
      We're about to remove the use of Licensee for license detection and
      getting all the metadata about a license.
      
      With this change we're preparing the code to support a different class
      that provides all the license data.
      549b4dad
  22. Sep 17, 2022
  23. Sep 12, 2022
  24. Sep 09, 2022
    • Abhishek Kumar's avatar
      Use ListCommits rpc to fetch context commits · 2fe0dcff
      Abhishek Kumar authored
      Now that we want to fetch context commits based on author and committed
      date filters as well, fetch context commits api was updated to use
      list_commits grpc call and required parameters being passed.
      
      Changelog: added
      2fe0dcff
  25. Aug 25, 2022
  26. Aug 12, 2022
    • Vasilii Iakliushin's avatar
      Expire protected branches cache after branch cache expiration · ead0bb68
      Vasilii Iakliushin authored
      Contributes to #366724
      
      **Problem**
      
      Testing of protected branches cache discovered a missing use-case for
      expiration logic. When the new branch is created, we should expire
      cache for protected branches too.
      
      **Solution**
      
      Extend `expire_branches_cache` logic with expiration of protected
      branches cache.
      
      Changelog: fixed
      ead0bb68
  27. Aug 08, 2022
  28. Aug 05, 2022
  29. Jul 25, 2022
  30. Jul 18, 2022
  31. May 30, 2022
    • Patrick Steinhardt's avatar
      access_checks: Always enable use of quarantine directory · ff90b099
      Patrick Steinhardt authored and Sean Arnold's avatar Sean Arnold committed
      Remove the feature flag that guards the use of the quarantine directory
      when enumerating new commits for access checks. With this feature flag
      gone, enumerating new commits is going to be a lot faster in repos with
      many references given that we don't have to walk the repository's object
      graph anymore, but instead only have to take a peek into the quarantine
      directory that contains all new objects.
      
      With the feature flag gone, there are no callers of `#new_commits`
      anymore which disable use of the quarantine directory. So let's also
      drop that parameter while at it.
      
      Changelog: performance
      ff90b099
  32. May 17, 2022
    • Will Chandler (ex-GitLab)'s avatar
      Add 'tmp' to Repository namespace constants · 322b529a
      Will Chandler (ex-GitLab) authored
      Currently we list all non-standard ref namespaces, e.g.
      `refs/merge-requests` in the `Repository` model with the sole exception
      of `refs/tmp`, making the latter difficult to discover.
      
      Let's add `tmp` to this list so we have a single location that contains
      all custom ref directories used by GitLab.
      322b529a
  33. Apr 08, 2022
  34. Apr 04, 2022
  35. Apr 01, 2022
Loading