BigW Consortium Gitlab

  1. 09 May, 2016 2 commits
    • Remove the annotate gem and delete old annotations · f1479b56
      Jeroen van Baarsen authored
      In 8278b763 the default behaviour of annotation
      has changes, which was causing a lot of noise in diffs. We decided in #17382
      that it is better to get rid of the whole annotate gem, and instead let people
      look at schema.rb for the columns in a table.
      
      Fixes: #17382
    • Improve multiple branch push performance by memoizing permission checking · 4be77d0b
      Stan Hu authored
      If you attempt to push thousands of branches at once, the 60-second timeout
      will occur because GitAccess checking does a lot of work to check if the
      user has permission to push to a branch. This changes does two things:
      
      1. Instead of making 1 DB query per branch push, use a memoized list of protected branches to check
      2. Memoize what permissions the user has to perform on this project
      
      On a test of 10,000 branch pushes, this prevents gitlab-shell from hitting the 60-second
      timeout.
      
      Closes #17225
  2. 08 May, 2016 1 commit
  3. 07 May, 2016 1 commit
  4. 06 May, 2016 1 commit
  5. 29 Apr, 2016 3 commits
    • Tweak checking branches in Project#open_branches · b6a18f10
      Yorick Peterse authored
      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.
    • Use a query in Project#protected_branch? · e28d1fa3
      Yorick Peterse authored
      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.
    • Support supressing text file diffs on the default branch with .gitattributes · 28dcdb27
      Matt Oakes authored
      This is a combination of 3 commits.
      
      - Update the bare repositories info/attributes if the default branch is updated
      - Check the diff attributes of a file before showing a diff
      - Update CHANGELOG
  6. 25 Apr, 2016 1 commit
  7. 19 Apr, 2016 2 commits
  8. 16 Apr, 2016 1 commit
  9. 13 Apr, 2016 1 commit
  10. 12 Apr, 2016 1 commit
  11. 11 Apr, 2016 1 commit
  12. 07 Apr, 2016 3 commits
  13. 01 Apr, 2016 2 commits
  14. 31 Mar, 2016 1 commit
  15. 30 Mar, 2016 1 commit
  16. 23 Mar, 2016 1 commit
  17. 22 Mar, 2016 2 commits
  18. 21 Mar, 2016 6 commits
  19. 20 Mar, 2016 4 commits
  20. 19 Mar, 2016 2 commits
    • Cache output of Repository#exists? · 68a4c98f
      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,
      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.
    • Fix specs · 8b830b8c
      Felipe Artur authored
  21. 18 Mar, 2016 1 commit
  22. 17 Mar, 2016 1 commit
    • Cache project avatars stored in Git · cd05d3f7
      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
  23. 15 Mar, 2016 1 commit
    • Ignore eager loading in Project.search UNION · c7427602
      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:
      
          Project.all.includes(:namespace).search('foo')