• lulalala's avatar
    Add cannot_be_merged_recheck merge_status · 75171053
    lulalala authored
    First, transitions between can_be_merged & cannot_be_merged are removed,
    as they are currently blocked in `check_if_can_be_merged`.
    `can_be_merge` always returns to `unchecked` first,
    before it can transition to `cannot_be_merged` (and vice versa).
    
    We want to avoid repeated notification triggered by repeated transition
    between `cannot_be_merged` & `unchecked`.
    
    So we added `cannot_be_merged_recheck` state, similar to `unchecked`,
    but as a mean to remember it’s from cannot_be_merged.
    
    See https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/18042/#note_65945407
    
    Since `unchecked` and `cannot_be_merged_recheck` both mean
    “we are in the middle of checking if it is mergeable”,
    quite often we need to see if merge_status is in either one of them,
    so `check_state?` is added to achieve this.
    75171053
merge_request.rb 30.7 KB