1. 23 Feb, 2017 1 commit
  2. 27 Jan, 2017 1 commit
  3. 24 Jan, 2017 1 commit
  4. 19 Jan, 2017 1 commit
  5. 17 Jan, 2017 1 commit
  6. 03 Jan, 2017 1 commit
  7. 14 Dec, 2016 1 commit
  8. 09 Dec, 2016 1 commit
  9. 02 Dec, 2016 1 commit
  10. 01 Dec, 2016 1 commit
    • Yorick Peterse's avatar
      Pass commit data to ProcessCommitWorker · 22942061ddc3
      Yorick Peterse authored
      By passing commit data to this worker we remove the need for querying
      the Git repository for every job. This in turn reduces the time spent
      processing each job.
      
      The migration included migrates jobs from the old format to the new
      format. For this to work properly it requires downtime as otherwise
      workers may start producing errors until they're using a newer version
      of the worker code.
      22942061ddc3
  11. 24 Nov, 2016 1 commit
  12. 21 Nov, 2016 1 commit
  13. 07 Nov, 2016 1 commit
  14. 03 Nov, 2016 2 commits
  15. 27 Oct, 2016 1 commit
  16. 26 Oct, 2016 1 commit
  17. 24 Oct, 2016 1 commit
  18. 13 Sep, 2016 1 commit
  19. 12 Sep, 2016 1 commit
  20. 31 Aug, 2016 1 commit
  21. 19 Aug, 2016 1 commit
  22. 03 Aug, 2016 4 commits
  23. 02 Aug, 2016 1 commit
  24. 27 Jul, 2016 2 commits
  25. 26 Jul, 2016 1 commit
  26. 06 Jul, 2016 1 commit
  27. 21 Jun, 2016 1 commit
    • Alejandro Rodríguez's avatar
      Optimize Banzai::Filter::RelativeLinkFilter · 679d9090e9f3
      Alejandro Rodríguez authored
          A lot of git operations were being repeated, for example, to build a url
          you would ask if the path was a Tree, which would call a recursive routine
          in Gitlab::Git::Tree#where, then ask if the path was a Blob, which would
          call a recursive routine at Gitlab::Git::Blob#find, making reference to
          the same git objects several times. Now we call Rugged::Tree#path, which
          allows us to determine the type of the path in one pass.
      
          Some other minor improvement added, like saving commonly used references
          instead of calculating them each time.
      679d9090e9f3
  28. 08 Jun, 2016 1 commit
    • Alejandro Rodríguez's avatar
      Remove `projects` inclusion in `notes_with_associations` to skip some unnecessary queries · 8afcc028b35e
      Alejandro Rodríguez authored
      `notes_with_associations` are used for `participant` declarations, but `Participable`
      only really cares about the target entity project, and not the participants
      projects.
      
      `notes_with_associations` are also used in `Commit::has_been_reverted?` which
      employs the reference extractor of the commit, so no references to the notes
      projects are made there (`Mentionable::all_references` cares only about the
      `author` and other `attr_mentionable`). A paralel situation occurs on
      `Issue::referenced_merge_requests`.
      8afcc028b35e
  29. 03 Jun, 2016 2 commits
  30. 02 Jun, 2016 1 commit
  31. 01 Jun, 2016 1 commit
    • Yorick Peterse's avatar
      Refactor Participable · 8f2d80473517
      Yorick Peterse authored
      There are several changes to this module:
      
      1. The use of an explicit stack in Participable#participants
      2. Proc behaviour has been changed
      3. Batch permissions checking
      
      == Explicit Stack
      
      Participable#participants no longer uses recursion to process "self" and
      all child objects, instead it uses an Array and processes objects in
      breadth-first order. This allows us to for example create a single
      Gitlab::ReferenceExtractor instance and pass this to any Procs. Re-using
      a ReferenceExtractor removes the need for running potentially many SQL
      queries every time a Proc is called on a new object.
      
      == Proc Behaviour Changed
      
      Previously a Proc in Participable was expected to return an Array of
      User instances. This has been changed and instead it's now expected that
      a Proc modifies the Gitlab::ReferenceExtractor passed to it. The return
      value of the Proc is ignored.
      
      == Permissions Checking
      
      The method Participable#participants uses
      Ability.users_that_can_read_project to check if the returned users have
      access to the project of "self" _without_ running multiple SQL queries
      for every user.
      8f2d80473517
  32. 19 Apr, 2016 2 commits
  33. 18 Apr, 2016 1 commit