1. 30 Mar, 2016 1 commit
  2. 23 Mar, 2016 1 commit
  3. 21 Mar, 2016 1 commit
  4. 20 Mar, 2016 4 commits
  5. 19 Mar, 2016 2 commits
    • Yorick Peterse's avatar
      Cache output of Repository#exists? · 2c904501c8a2
      Yorick Peterse authored
      This caches the output of Repository#exists? in Redis while making sure
      it's flushed properly when creating new repositories, deleting them,
      For the ProjectWiki tests to work I had to make ProjectWiki#create_repo!
      public as testing private methods in RSpec is a bit of a pain.
    • Felipe Artur's avatar
      Fix specs · 27db6423b217
      Felipe Artur authored
  6. 18 Mar, 2016 1 commit
  7. 17 Mar, 2016 1 commit
    • Yorick Peterse's avatar
      Cache project avatars stored in Git · 3e38fbd7665d
      Yorick Peterse authored
      The avatar logic has been moved from Project to Repository as this makes
      caching easier. The logic itself in turn has been changed so that the
      logo file names are cached in Redis. This cache is flushed upon pushing
      a commit but _only_ if:
      1. The commit was pushed to the default branch
      2. The commit actually changes any of the logo files
      If no branch or commit is given the cache is flushed anyway, this
      ensures that calling Repository#expire_cache without any arguments still
      flushes the avatar cache (e.g. this is used when removing a project).
      Fixes gitlab-org/gitlab-ce#14363
  8. 15 Mar, 2016 2 commits
    • Yorick Peterse's avatar
      Ignore eager loading in Project.search UNION · 26b126f838c7
      Yorick Peterse authored
      The queries that are UNION'd together don't need any eager loading
      (since we really only use the resulting SQL instead of having
      ActiveRecord actually run the queries). By dropping any eager loaded
      associations queries such as the following work instead of producing a
      SQL error:
    • Kamil Trzcinski's avatar
      Return the external issue tracker even if it's null · 2f5dd62ab64d
      Kamil Trzcinski authored
      This solves the problem with caching the nil value with instance variable.
      Without this the every time we ask for external_issue_tracker we built AR and potentially do SQL query
  9. 13 Mar, 2016 1 commit
  10. 11 Mar, 2016 6 commits
  11. 10 Mar, 2016 3 commits
    • Yorick Peterse's avatar
      Optimize Project#ci_service(s) · 3065b4cfa6ae
      Yorick Peterse authored
      The method Project#ci_services would load all services into memory
      (including _all_ their columns) and then use Enumerable#select to reduce
      the list. Project#ci_service in turn would further reduce this list down
      to just 1 Service instance.
      Instead of doing all this in Ruby we can just offload the work to the
      database, reducing the amount of time spent in these methods. These
      changes reduce the time of the first call to Project#ci_services from
      around 240 ms to around 10 ms, though the final timings will vary based
      on database load. Because Project#ci_service is memoized there's no
      further overhead introduced by using a database query.
      Fixes gitlab-org/gitlab-ce#14186
    • Felipe Artur's avatar
      Prevent projects to have higher visibility than groups · 6b8b0f1a1058
      Felipe Artur authored
      Prevent Groups to have smaller visibility than projects
      Add default_group_visibility_level to configuration
      Code improvements
    • Felipe Artur's avatar
      Code improvements · b3f481b3ba07
      Felipe Artur authored
  12. 09 Mar, 2016 1 commit
  13. 08 Mar, 2016 1 commit
  14. 07 Mar, 2016 14 commits
  15. 05 Mar, 2016 1 commit