Mercurial pushvars: only the last one is taken into account
Because of a serialization mismatch in the internal notification from Mercurial to the Rails application (#509), when specifying multiple pushvars, only the last one goes through.
Example bad consequence (already reported in #225 (closed)):
hg push -r . \
--pushvars merge_request.create= \
--pushvars merge_request.title="Release 0.21.5" \
--pushvars merge_request.description="" \
--pushvars merge_request.merge_when_pipeline_succeeds=
pushing to ssh://foss.heptapod.net/heptapod/heptapod
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 3 changes to 3 files
remote: To create a merge request for topic/heptapod-0-21/release, visit:
remote: https://foss.heptapod.net/heptapod/heptapod/-/merge_requests/new?merge_request%5Bsource_branch%5D=topic%2Fheptapod-0-21%2Frelease&merge_request%5Btarget_branch%5D=branch%2Fheptapod-0-21
remote:
remote: ========================================================================
remote:
remote: WARNINGS: Error encountered with push options
remote: 'merge_request.merge_when_pipeline_succeeds': A merge_request.create push option is required to create a merge
remote: request for branch topic/heptapod-0-21/release
remote:
remote: ========================================================================