BigW Consortium Gitlab

  1. 13 Sep, 2016 1 commit
    • Avoid protected branches checks when verifying access without branch name · 08871cc3
      Paco Guzman authored
      GitlabShell verify access sending ‘_any’ as the changes made on the git command, in those cases Gitlab::Checks::ChangeAccess won’t receive a branch_name so we don’t need to check for access to the 
      protected branches on that repository. So we avoid some git operations in case the are not cached (empty_repo?) and some database lookups to get protected branches.
      
      These request is happening in every push.
  2. 12 Aug, 2016 1 commit
  3. 11 Aug, 2016 1 commit
    • api for generating new merge request · 6109daf4
      Scott Le authored
      DRY code + fix rubocop
      
      Add more test cases
      
      Append to changelog
      
      DRY changes list
      
      find_url service for merge_requests
      
      use GET for getting merge request links
      
      remove files
      
      rename to get_url_service
      
      reduce loop
      
      add test case for cross project
      
      refactor tiny thing
      
      update changelog
  4. 18 Jul, 2016 1 commit
  5. 13 Jul, 2016 4 commits
    • Revert "Merge branch '18193-developers-can-merge' into 'master' · 530f5158
      Robert Speicher authored
      This reverts commit 9ca633eb, reversing
      changes made to fb229bbf.
    • Implement last round of review comments from !4892. · bb81f2af
      Timothy Andrew authored
      1. Fix typos, minor styling errors.
      
      2. Use single quotes rather than double quotes in `user_access_spec`.
      
      3. Test formatting.
    • Refactor `Gitlab::GitAccess` · 60245bbe
      Timothy Andrew authored
      1. Don't use case statements for dispatch anymore. This leads to a lot
         of duplication, and makes the logic harder to follow.
      
      2. Remove duplicated logic.
      
          - For example, the `can_push_to_branch?` exists, but we also have a
            different way of checking the same condition within `change_access_check`.
      
          - This kind of duplication is removed, and the `can_push_to_branch?`
            method is used in both places.
      
      3. Move checks returning true/false to `UserAccess`.
      
          - All public methods in `GitAccess` now return an instance of
            `GitAccessStatus`. Previously, some methods would return
            true/false as well, which was confusing.
      
          - It makes sense for these kinds of checks to be at the level of a
            user, so the `UserAccess` class was repurposed for this. The prior
            `UserAccess.allowed?` classmethod is converted into an instance
            method.
      
          - All external uses of these checks have been migrated to use the
            `UserAccess` class
      
      4. Move the "change_access_check" into a separate class.
      
          - Create the `GitAccess::ChangeAccessCheck` class to run these
            checks, which are quite substantial.
      
          - `ChangeAccessCheck` returns an instance of `GitAccessStatus` as
            well.
      
      5. Break out the boolean logic in `ChangeAccessCheck` into `if/else`
         chains - this seems more readable.
      
      6. I can understand that this might look like overkill for !4892, but I
         think this is a good opportunity to clean it up.
      
          - http://martinfowler.com/bliki/OpportunisticRefactoring.html