1. 06 5月, 2016 1 次提交
  2. 30 4月, 2016 2 次提交
    • Y
      Tweak checking branches in Project#open_branches · b6a18f10
      Yorick Peterse 提交于
      This changes 4 things:
      
      1. Project#protected_branches_names has been renamed to
         Project#protected_branch_names.
      
      2. Project#open_branches uses a Set for the branch names as checking
         values in a Set is faster than checking values in a (large) Array.
      
      3. Some redundant code in Project#open_branches has been removed.
      
      4. Project#protected_branch_names now uses #pluck instead of #map,
         removing the need for loading entire DB records into memory.
      b6a18f10
    • Y
      Use a query in Project#protected_branch? · e28d1fa3
      Yorick Peterse 提交于
      This changes Project#protected_branch? to use a query to check if a
      branch is protected, instead of loading all ProtectedBranch records into
      memory just to check if the list of names includes a given branch name.
      e28d1fa3
  3. 29 4月, 2016 1 次提交
  4. 25 4月, 2016 1 次提交
  5. 19 4月, 2016 2 次提交
  6. 17 4月, 2016 1 次提交
  7. 13 4月, 2016 1 次提交
  8. 12 4月, 2016 2 次提交
  9. 07 4月, 2016 3 次提交
  10. 01 4月, 2016 3 次提交
  11. 30 3月, 2016 1 次提交
  12. 23 3月, 2016 2 次提交
  13. 22 3月, 2016 5 次提交
  14. 21 3月, 2016 6 次提交
  15. 20 3月, 2016 1 次提交
    • Y
      Cache output of Repository#exists? · 68a4c98f
      Yorick Peterse 提交于
      This caches the output of Repository#exists? in Redis while making sure
      it's flushed properly when creating new repositories, deleting them,
      etc.
      
      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.
      68a4c98f
  16. 19 3月, 2016 2 次提交
  17. 18 3月, 2016 1 次提交
    • Y
      Cache project avatars stored in Git · cd05d3f7
      Yorick Peterse 提交于
      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
      cd05d3f7
  18. 15 3月, 2016 2 次提交
    • Y
      Ignore eager loading in Project.search UNION · c7427602
      Yorick Peterse 提交于
      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:
      
          Project.all.includes(:namespace).search('foo')
      c7427602
    • K
      Return the external issue tracker even if it's null · c51c9019
      Kamil Trzcinski 提交于
      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
      c51c9019
  19. 14 3月, 2016 1 次提交
  20. 12 3月, 2016 2 次提交