An error occurred fetching the project authors.
  1. 26 Nov, 2020 1 commit
  2. 12 Nov, 2020 1 commit
  3. 29 Oct, 2020 1 commit
  4. 14 Oct, 2020 1 commit
  5. 14 Sep, 2020 1 commit
  6. 13 Aug, 2020 1 commit
  7. 21 Jul, 2020 1 commit
  8. 17 Jul, 2020 1 commit
  9. 15 Jul, 2020 1 commit
  10. 10 Jul, 2020 1 commit
  11. 09 Jul, 2020 1 commit
  12. 02 Jul, 2020 1 commit
  13. 29 Jun, 2020 1 commit
    • Stan Hu's avatar
      Upgrade to Grape v1.3.3 · 3a0c6dd9
      Stan Hu authored
      This brings back many of the changes in
      https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27276. This was
      reverted due to some failures in the QA tests with nil parameters.
      
      Grape v1.3.3 brings in Ruby 2.7 support and a number of fixes:
      https://github.com/ruby-grape/grape/blob/master/CHANGELOG.md
      
      1. Move all inherited `Grape::API` -> `Grape::API::Instance`
      2. Remove use of Virtus since this has been removed from Grape.
      3. Extract `Rack::Response` from API error
      4. Grape v1.2.3 pulled in a fix used in `SafeFile`:
      https://github.com/ruby-grape/grape/pull/1844, so we no longer need
      to maintain our custom type.
      5. Adapt `WorkhorseFile` with the latest changes to make custom types
      work with Grape and dry-types.
      6. Ensure `Array[String]` is coerced properly.
      
      The change from Virtus to dry-types now requires all strings to be
      coerced to arrays. Before this was done within Virtus.
      
      7. Coerce `Array[Integer]` types to arrays of integers
      
      8. Use a new helper, `coerce_nil_params_to_array!`, that coerces nil
      Array inputs to empty arrays to preserve previous behavior.
      
      If you have a parameter of type `Array[String]`, for example, Grape used
      to coerce a provided `nil` value to `[]`. Grape no longer does this for
      us, so we need a helper method that will automatically do this if the
      parameter is present.
      
      This merge request also introduces two Rubocop rules for Grape v1.3:
      
      1. `Grape::API::Instance` instead of `Grape::API` is required, unless we
      solve https://gitlab.com/gitlab-org/gitlab/-/issues/215230.
      
      2. Grape parameters defined with `Array` types (e.g. `Array[String]`,
      `Array[Integer]`) must have a `coerce_with` block or they will fail to
      parse properly. See
      https://github.com/ruby-grape/grape/blob/master/UPGRADING.md for more
      details.
      3a0c6dd9
  14. 08 Jun, 2020 1 commit
  15. 04 Jun, 2020 1 commit
    • Stan Hu's avatar
      Fix force_remove_source_branch not working in API · e175d2a1
      Stan Hu authored
      When an MR is merged via the API without `should_remove_source_branch`
      set, the branch is always retained, even if `force_remove_source_branch`
      is set to true in the MR merge params. This was happening because the
      API always passed a `should_remove_source_branch` with a `nil` value,
      and `MergeService` interpreted this as `false`.
      
      To fix this, we strip `nil` values from the `merge_params`.
      
      Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/219991
      e175d2a1
  16. 27 May, 2020 1 commit
    • Felipe Artur's avatar
      Refactor issuable metadata · 3c118b6b
      Felipe Artur authored
      Turn IssuableMetadata concern into a class.
      This refactoring allows EE only metadata to have its
      logic on ee folder.
      3c118b6b
  17. 14 May, 2020 1 commit
    • Nick Thomas's avatar
      Skip mergeability check when listing MRs in the API · 90a6c68d
      Nick Thomas authored
      This MR alters the semantics of the mergeability check so the list API
      does not enqueue rechecks by default. The previous behaviour can be
      restored by use of a REST projection (`with_merge_status_recheck`).
      
      Since the structure of the response remains the same, and even the
      content of the returned response, this is not, strictly speaking, a
      backwards-incompatible change. However, users who rely on this in the
      list API will find they get stale data; rather than going to the single
      MR endpoint, the projection gives them a way to specify that they need
      the previous behaviour.
      
      Longer-term, we should look at refreshing merge status independently of
      any frontend actions. Since we can deduplicate sidekiq jobs now, the
      best way to do that is probably to just enqueue a mergeability check
      for every affected MR on push, and place strict limits on that sidekiq
      queue's concurrency characteristics.
      90a6c68d
  18. 12 May, 2020 1 commit
  19. 27 Apr, 2020 2 commits
    • Stan Hu's avatar
      Revert "Merge branch 'sh-update-grape-gem' into 'master'" · 106dbbfb
      Stan Hu authored
      This reverts merge request !27276
      106dbbfb
    • Stan Hu's avatar
      Upgrade Grape v1.1.0 to v1.3.2 · f31bac1d
      Stan Hu authored
      This brings in Ruby 2.7 suport and a number of fixes:
      https://github.com/ruby-grape/grape/blob/master/CHANGELOG.md
      
      1. Move all inherited Grape::API -> Grape::API::Instance
      2. Remove use of Virtus since this has been removed from Grape.
      3. Extract Rack::Response from API error
      4. Grape v1.2.3 pulled in a fix used in SafeFile:
      https://github.com/ruby-grape/grape/pull/1844, so we no longer need
      to maintain our custom type.
      5. Adapt WorkhorseFile with the latest changes to make custom types work
      with Grape and dry-types.
      6. Ensure Array[String] is coerced properly.
      
      The change from Virtus to dry-types now requires all strings to be
      coerced to arrays. Before this was done within Virtus.
      
      7. Coerce Array[Integer] types to arrays of integers
      
      The change from Virtus to dry-types now requires all strings to be
      coerced to arrays of integers. Before this was done within Virtus.
      f31bac1d
  20. 16 Apr, 2020 1 commit
  21. 23 Mar, 2020 1 commit
    • Anwar Sadath's avatar
      Add arbitrary commit API backend changes · b8c69a27
      Anwar Sadath authored
      This commit moves some required entities from controller to API level, and implements a limit on the number of context commits that will be returned from the API.
      b8c69a27
  22. 05 Feb, 2020 1 commit
  23. 30 Jan, 2020 1 commit
  24. 29 Jan, 2020 1 commit
  25. 16 Jan, 2020 1 commit
  26. 13 Jan, 2020 2 commits
    • Etienne Baqué's avatar
      Added new endpoint to Deployment API · bb65dcf9
      Etienne Baqué authored
      Refactored merge request API params into module.
      Leveraged MergeRequestHelpers in Deployment API.
      Updated Deployment API documentation.
      bb65dcf9
    • Bob Van Landuyt's avatar
      MWPS merges immediately if the pipeline succeeded · b017b007
      Bob Van Landuyt authored
      When passing MWPS to the merge API, we should merge the MR immediately
      when the pipeline already succeeded.
      
      On the other hand, we should not merge the MR when passing MWPS and
      the pipeline failed, even if the project allows merging with a failing
      pipeline.
      b017b007
  27. 27 Dec, 2019 2 commits
    • Alexandru Croitor's avatar
      Expose description_html for labels · f79f6a20
      Alexandru Croitor authored
      Expose description_html field for labels when with_labels_details
      request parameter is set to true.
      f79f6a20
    • Alexandru Croitor's avatar
      Expose issuable references · 77ffac17
      Alexandru Croitor authored
      Expose issuable references in 3 options: short, relative and full.
      Short and full aways display corresponding issuable reference,
      while relative displays the reference depending on the context
      from which it was referenced.
      77ffac17
  28. 19 Nov, 2019 1 commit
    • briankabiro's avatar
      Update merge-when-pipeline-succeeds behavior on API · 33de4153
      briankabiro authored
      When the `merge_when_pipeline_succeeds` param is passed in,
      an MR can be merged even when the pipeline has failed.
      
      This change adds a check that prevents this from happening
      when attempting to merge through the API
      33de4153
  29. 15 Nov, 2019 1 commit
    • Bob Van Landuyt's avatar
      Validate the diff head sha when merging · 7d10d4aa
      Bob Van Landuyt authored
      This compares the `MergeRequest#diff_head_sha` before squashing or
      merging to a sha passed by the caller. If the `diff_head_sha` changed,
      this means that the branch was updated since the merge was scheduled.
      
      The `diff_head_sha` is the one passed to gitaly for merging or
      squashing. So validating it right before performing the merge rather
      than only in the controller would prevent the
      `MergeRequests::RefreshService` from changing it between scheduling
      the merge and actually merging.
      7d10d4aa
  30. 04 Nov, 2019 1 commit
    • Igor Drozdov's avatar
      Improve performance of commits endpoint · 93eb59c7
      Igor Drozdov authored
      Currently all the commits of a merge request is loaded
      into the memory, converted to CommitCollection and
      then paginated as an array
      
      We can dramatically improve the performance by
      paginating the diff commits first and then convert
      this smaller array into CommitCollection
      93eb59c7
  31. 21 Oct, 2019 1 commit
    • Stan Hu's avatar
      Time limit database lock when rebasing a merge request · cce486da
      Stan Hu authored
      `MergeRequest#rebase_async` can lock indefinitely with a SELECT FOR
      UPDATE call. If an update is idle in transaction or another rebase
      attempts to run, `MergeRequest#rebase_async` could queue indefinitely or
      until statement timeouts are triggered.
      
      To limit the impact of this operation, we now just bail out after 5 s if
      we can't get the lock. The user will see an error message if this
      happens.
      
      Part of https://gitlab.com/gitlab-org/gitlab/issues/30528
      cce486da
  32. 17 Sep, 2019 1 commit
  33. 11 Sep, 2019 2 commits
    • Filipa Lacerda's avatar
      Enables Run Pipeline button to be rendered · 4faccf96
      Filipa Lacerda authored
      In the Merge Request view, under pipelines tab
      the user can see a run pipeline button
      
      Adds axios post request to button click
      
      Adds the logic to handle the user click,
      refresh the table and disable the button while thee
      request is being made
      
      Updates UI for desktop and mobile
      
      Adds specs
      Regenerates potfile
      
      Follow-up after review
      
      Uses .finally to avoid code repetition
      4faccf96
    • Filipa Lacerda's avatar
      Enables Run Pipeline button to be rendered · 48b98b58
      Filipa Lacerda authored
      In the Merge Request view, under pipelines tab
      the user can see a run pipeline button
      
      Adds axios post request to button click
      
      Adds the logic to handle the user click,
      refresh the table and disable the button while thee
      request is being made
      
      Updates UI for desktop and mobile
      
      Adds specs
      Regenerates potfile
      
      Follow-up after review
      
      Uses .finally to avoid code repetition
      48b98b58
  34. 28 Aug, 2019 1 commit
  35. 04 Jul, 2019 2 commits
    • Nick Thomas's avatar
      Allow asynchronous rebase operations to be monitored · 12d8003e
      Nick Thomas authored
      This MR introduces tracking of the `rebase_jid` for merge requests. As
      with `merge_ongoing?`, `rebase_in_progress?` will now return true if a
      rebase is proceeding in sidekiq.
      
      After one release, we should remove the Gitaly-based lookup of rebases.
      It is much better to track this kind of thing via the database.
      12d8003e
    • Nick Thomas's avatar
      Allow asynchronous rebase operations to be monitored · 381468d0
      Nick Thomas authored
      This MR introduces tracking of the `rebase_jid` for merge requests. As
      with `merge_ongoing?`, `rebase_in_progress?` will now return true if a
      rebase is proceeding in sidekiq.
      
      After one release, we should remove the Gitaly-based lookup of rebases.
      It is much better to track this kind of thing via the database.
      381468d0