BigW Consortium Gitlab

  1. 05 Jul, 2016 7 commits
  2. 09 May, 2016 1 commit
    • 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
  3. 05 May, 2016 2 commits
    • Fix passing nil to protected_tag? · 00367120
      Yorick Peterse authored
      Previously this method would directly receive the output of tag_name().
      This method could either return a String or nil. In the previous setup
      this would somehow magically work but because Rugged::TagCollection#[]
      doesn't accept nil values it started to fail.
      
      To work around this the elsif in change_access_check() assigns the
      result of tag_name() to a local and then _only_ calls protected_tag?()
      if the tag name is not nil. The extra parenthesis are put in place to
      ensure that things are parsed correctly, without these the code would be
      parsed as follows:
      
          elsif tag_ref = (tag_name(ref) && protected_tag(tag_ref))
      
      During runtime this would basically resolve to:
      
          elsif tag_ref = (tag_name(ref) && protected_tag(nil))
      
      This is because when you refer to the variable you're assigning _in_ the
      assignment Ruby returns nil instead of raising an error.
    • Use tag_exists? in GitAccess#protected_tag? · 93ce2296
      Yorick Peterse authored
      This removes the need for retrieving the entire list of tags just to
      check if a specific one exists.
  4. 16 Nov, 2015 1 commit
  5. 13 May, 2015 2 commits
  6. 25 Mar, 2015 1 commit
  7. 24 Mar, 2015 1 commit
  8. 10 Mar, 2015 1 commit
  9. 18 Feb, 2015 1 commit
  10. 03 Feb, 2015 2 commits
  11. 29 Jan, 2015 1 commit
  12. 21 Jan, 2015 1 commit
  13. 26 Dec, 2014 3 commits
  14. 05 Dec, 2014 1 commit
  15. 02 Dec, 2014 1 commit
  16. 01 Dec, 2014 1 commit
  17. 18 Nov, 2014 1 commit
  18. 03 Nov, 2014 1 commit
  19. 07 Oct, 2014 1 commit
  20. 23 Sep, 2014 1 commit
  21. 01 Sep, 2014 1 commit
  22. 30 May, 2014 1 commit
  23. 22 May, 2014 1 commit
  24. 15 May, 2014 1 commit
  25. 14 May, 2014 1 commit
  26. 03 Apr, 2014 1 commit
  27. 25 Mar, 2014 1 commit
  28. 21 Mar, 2014 1 commit
  29. 20 Mar, 2014 1 commit