Skip to content
Snippets Groups Projects
  1. Mar 12, 2020
  2. Mar 11, 2020
  3. Feb 21, 2020
  4. Feb 13, 2020
  5. Feb 07, 2020
  6. Feb 04, 2020
  7. Jan 29, 2020
  8. Dec 11, 2019
  9. Dec 10, 2019
  10. Dec 07, 2019
  11. Nov 28, 2019
  12. Oct 14, 2019
  13. Oct 09, 2019
  14. Sep 30, 2019
  15. Sep 17, 2019
  16. Aug 28, 2019
    • Stan Hu's avatar
      Fix moving issues API failing when text includes commit URLs · 29ce13e9
      Stan Hu authored
      When a issue is moved from one project to another, all associated
      Markdown text is rewritten in the context of the new project. If the
      note contained a link to a commit URL, `CommitRewriter#rewrite` would
      fail because `Commit#link_reference_pattern` would match `nil` `commit`
      values in the HTML generated from the Markdown. These `nil` values were
      passed along to `Project#commits_by` because `Commit#reference_valid?`
      was always returning `true`.
      
      To prevent this issue from happening, we tighten up the check for
      `Commit#reference_valid?` to look for valid SHA values.
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/66666
      29ce13e9
  17. Jul 24, 2019
    • Stan Hu's avatar
      Enable Rubocop Performance/ReverseEach · 07a308ad
      Stan Hu authored
      `Array.reverse_each` is faster than `Array.reverse.each` because:
      
      * reverse.each creates a new array then loops each element
      * reverse_each loops in reverse order (no intermediate array created)
      07a308ad
  18. Jun 13, 2019
  19. Jun 05, 2019
    • Patrick Bajao's avatar
      Use Redis for CacheMarkDownField on non AR models · 2eecfd8f
      Patrick Bajao authored
      This allows using `CacheMarkdownField` for models that are not backed
      by ActiveRecord.
      
      When the including class inherits `ActiveRecord::Base` we include
      `Gitlab::MarkdownCache::ActiveRecord::Extension`. This will cause the
      markdown fields to be rendered and the generated HTML stored in a
      `<field>_html` attribute on the record. We also store the version
      used for generating the markdown.
      
      All other classes that include this model will include the
      `Gitlab::MarkdownCache::Redis::Extension`. This add the `<field>_html`
      attributes to that model and will generate the html in them. The
      generated HTML will be cached in redis under the key
      `markdown_cache:<class>:<id>`. The class this included in must
      therefore respond to `id`.
      2eecfd8f
  20. Feb 06, 2019
  21. Jan 31, 2019
  22. Jan 28, 2019
  23. Dec 28, 2018
  24. Dec 07, 2018
  25. Dec 05, 2018
  26. Nov 19, 2018
  27. Nov 07, 2018
    • Tiago Botelho's avatar
      User can keep their commit email private · c239452b
      Tiago Botelho authored
      The private commit email is automatically generated in the format:
      id-username@noreply.HOSTNAME
      
      GitLab instance admins are able to change the HOSTNAME portion,
      that defaults to Gitlab's hostname, to whatever they prefer.
      Unverified
      c239452b
  28. Oct 03, 2018
  29. Sep 06, 2018
  30. Aug 21, 2018
  31. Aug 10, 2018
  32. Jul 26, 2018
  33. May 17, 2018
    • Yorick Peterse's avatar
      Preload pipeline data for project pipelines · 19428e80
      Yorick Peterse authored
      When displaying the pipelines of a project we now preload the following
      data:
      
      1. Authors of the commits that belong to these pipelines
      2. The number of warnings per pipeline, which is used by
         Ci::Pipeline#has_warnings?
      
      == Commit Authors
      
      Previously this data was queried for every Commit separately, leading to
      20 SQL queries being executed in the worst case. With an average of 3 to
      5 milliseconds per SQL query this could result in 100 milliseconds being
      spent in _just_ getting Commit authors.
      
      To preload this data Commit#author now uses BatchLoader (through
      Commit#lazy_author), and a separate module
      Gitlab::Ci::Pipeline::Preloader is used to ensure all authors are loaded
      before they are used.
      
      == Number of warnings
      
      This changes Ci::Pipeline#has_warnings? so it supports preloading of the
      number of warnings per pipeline. This removes the need for executing a
      COUNT(*) query for every pipeline just to see if it has any warnings or
      not.
      Unverified
      19428e80
  34. May 01, 2018
  35. Apr 29, 2018
    • blackst0ne's avatar
      [Rails5] Add `touch_later` to `Commit` model · 68c75bc0
      blackst0ne authored
      This commit fixes errors like:
      
      ```
      1) API::Todos GET /todos when unauthenticated returns authentication error
          Failure/Error: @raw.__send__(method, *args, &block) # rubocop:disable GitlabSecurity/PublicSend
      
          NoMethodError:
            undefined method `touch_later' for #<Gitlab::Git::Commit:0x00005573f5196270>
          # ./app/models/commit.rb:259:in `method_missing'
          # ./spec/requests/api/todos_spec.rb:12:in `block (2 levels) in <top (required)>'
      ```
      68c75bc0
  36. Apr 19, 2018
    • Stan Hu's avatar
      Fix N+1 queries when loading participants for a commit note · 775211bc
      Stan Hu authored
      We saw about 10,000 SQL queries for some commits in the NewNoteWorker,
      which stalled the Sidekiq queue for other new notes. The notification
      service took up to 8 minutes to process the commits. Avoiding this
      N+1 query brings the time down significantly.
      
      Closes #45526
      775211bc
  37. Apr 06, 2018
Loading