Support fast forward methods for merge train ref operation for semi-linear history
Release notes
In 16.4, we released Fast-forward merge trains, and as a continuation we want to ensure we support all merge methods. Now, if you want to ensure your semi-linear commit history is maintained you can use Semi-linear fast-forward merge trains.
Problem to solve
If I checkout the merge train ref for a merge request refs/merge-requests/$iid/train
for a project that uses a fast forward or semi-linear merge strategy, the ref is not representative of the the change because it will actually contain commits that cannot be merged in a fast forward arrangement with master.
This means that the merge train-ref isn't an accurate representation of the resultant state of the target branch should the merge occur.
Proposal
All of the pre-requisite work has been completed as part of fast-forward merge trains. The only remaining work is to:
- Expand this check to projects with semi-linear merges enabled.
- Update the tests
Links / references
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.