• Timothy Andrew's avatar
    Implement model-level changes to allow branch protection for specific users. · d78ab154
    Timothy Andrew authored
    - A protected branch now `has_many` access levels (as opposed to
      `has_one`, which CE will continue to have). Each access level
      represents either a user or a role that is allowed to access the
      protected branch.
    
    - Update `git_access_spec` to test cases where a specific user is given
      access to a protected branch.
    
    - Remove the explicit `push_check` for protected branches. This is
      because a non-developer user (such as a reporter) should be able to
      push code if they are added to a protected branch specifically.
    
    - Fix specs (git_access_spec) that were implicitly depending on a
      master push access level being created (previously, a protected
      branch's default state was "masters can push + masters can merge").
      Since the current default is "none", the dependency needs to be
      explicitly declared.
    
    - Update `git_push_service` so default branch protection (for new repos)
      works as expected.
    d78ab154
user_access_spec.rb 4.43 KB