Fix cherry picking commits with trailers
When picking commits into a stable release, we now pick commits such that any changelog trailers are retained. This ensures that patch releases still produce changelogs, instead of empty changelogs.
This works as follows:
When a merge request includes no changelog commits, we just cherry pick the merge commit.
When a merge request includes a single changelog commit, we pick that commit directly and retain the Git trailers in the new commit message. This depends on gitlab!62481 (merged) and on gitlab!63228 (merged).
When a merge request includes multiple changelog commits, we cherry pick all merge request commits individually in the correct order.
This fixes https://gitlab.com/gitlab-org/release-tools/-/issues/500.
Edited by Yorick Peterse