Skip to content

Cannot use EE 'rebase' feature if 'Check whether author is a GitLab user' enabled

Summary

We cannot use the GitLab EE 'rebase' feature of 'Check whether author is a GitLab user' is setup in push rules for the repo being rebased.

Steps to reproduce

  1. Create a fork of a main repo
  2. Set 'Check whether author is a GitLab user' in fork (we also have it set in main repo, but don't think this matters)
  3. Create a branch from a point behind upstream
  4. Add a commit to branch
  5. Create a merge request to send upstream
  6. Press 'rebase' button on merge request

What is the current bug behavior?

Shows the 'spinner' for a bit, then goes back to saying 'Fast-forward merge is not possible. Rebase the source branch onto the target branch or merge target branch into source branch to allow this merge request to be merged.'. No matter how many times you hit 'rebase' it never works.

What is the expected correct behavior?

  1. Rebase should work (I guess either a: the internal user should be implicitly added to the allowed list, or b: the check should be on 'author', not 'committer')

  2. If rebase fails, it should say so within the merge request

Relevant logs and/or screenshots

March 10, 2017 14:21 -> ERROR -> MergeRequests::RebaseService error (smartoffice/sot!201): Failed to push rebased branch with `/opt/gitlab/embedded/bin/git push -f origin master`:
March 10, 2017 14:21 -> ERROR -> MergeRequests::RebaseService error (smartoffice/sot!201): remote: GitLab: Committer 'gitlab@artifex.githost.io' is not a member of team
To /var/opt/gitlab/git-data/repositories/Jin/sot.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '/var/opt/gitlab/git-data/repositories/Jin/sot.git'

Output of checks

This bug happens on our githost.io instance. GitLab Enterprise Edition 8.17.2-ee 474978de

Results of GitLab environment info

Can't run this on githost.io.

Results of GitLab application Check

Can't run this on githost.io.

Edited by Coung Ngo