Skip to content
Snippets Groups Projects
  1. Feb 21, 2020
  2. Feb 13, 2020
  3. Feb 07, 2020
  4. Feb 04, 2020
  5. Jan 29, 2020
  6. Dec 11, 2019
  7. Dec 10, 2019
  8. Dec 07, 2019
  9. Nov 28, 2019
  10. Oct 14, 2019
  11. Oct 09, 2019
  12. Sep 30, 2019
  13. Sep 17, 2019
  14. 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
  15. 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
  16. Jun 13, 2019
  17. 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
  18. Feb 06, 2019
  19. Jan 31, 2019
  20. Jan 28, 2019
  21. Dec 28, 2018
  22. Dec 07, 2018
  23. Dec 05, 2018
  24. Nov 19, 2018
  25. 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
  26. Oct 03, 2018
  27. Sep 06, 2018
  28. Aug 21, 2018
  29. Aug 10, 2018
  30. Jul 26, 2018
  31. 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
  32. May 01, 2018
  33. 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
  34. 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
  35. Apr 06, 2018
  36. Apr 04, 2018
  37. Mar 26, 2018
Loading