Merge Queue Feedback: Support for semi-linear merge #14863
Replies: 6 comments 4 replies
-
Maybe tying it to a "user right" would be a good solution to the problem. |
Beta Was this translation helpful? Give feedback.
-
AFAIK this shape of git history can be enforced in a non-queue branch with regular merge commits (not squashed, not rebased) and the "Require branches to be up to date before merging" option set to true. It would be quite nice if Merge Queue could help achieve the same (Rebase and Merge). |
Beta Was this translation helpful? Give feedback.
-
Related discussion #8940 |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Adding our upvote for this. We have a semi-linear commit history as described above and want to make use of the merge queue to replicate it. Rebase branch. Merge to |
Beta Was this translation helpful? Give feedback.
-
Gitlab has offered support for semi-linear merge for PRs for a while, but has also added support for it to "Merge Trains" (their Merge Queue) this week. https://gitlab.com/gitlab-org/gitlab/-/commit/d353265111691fcabf2abe39403a94b01b6f1ecc Anyone on the Github team who has any updates on this one? It's the one thing blocking us from using the merge queue, and semi-linear merge is supported by other big SCMs (Azure DevOps, Gitlab, etc), so it's somewhat surprising that Github doesn't support it. |
Beta Was this translation helpful? Give feedback.
-
We'd like to use the semi-linear merge strategy for our git repo (rebase on master before merge & keep merge commit). This is what we want our Git log to look like (below).
The benefit with this structure is that you can use any Git tool to list only merge commits[1] (show a summary of only the PRs), but still opt to see all individual commits where needed.
The merge queue should produce this same result in our master branch.
[1] For example
git log --merges --decorate --oneline
and most Git UIs and e.g. VS Code Git UI has the same thing.Another way of visualizing semi-linear merge is this illustration (semi-linear merge is the rightmost alternative).
This functionality exists in Azure DevOps and Gitlab:
Beta Was this translation helpful? Give feedback.
All reactions