• Yorick Peterse's avatar
    Refactor code for protecting default branches · 52eeb56b
    Yorick Peterse authored
    This refactors some of the logic used for protecting default branches,
    in particular Project#after_create_default_branch. The logic for this
    method is moved into a separate service class. Ideally we'd get rid of
    Project#after_create_default_branch entirely, but unfortunately
    Project#after_import depends on it. This means it has to stick around
    until we also refactor Project#after_import.
    
    For branch protection levels we introduce
    Gitlab::Access::BranchProtection, which provides a small wrapper around
    Integer based branch protection levels. Using this class removes the
    need for having to constantly refer to Gitlab::Access::PROTECTION_*
    constants.
    52eeb56b