Mercurial native mode: notifying GitLab with Mercurial SHAs
This is the first part of heptapod#364 (closed)
If the new heptapod.native
config flag is set, payloads of
GitLab hooks will be made of Mercurial SHAs instead of Git
SHAs.
This will be used for native Mercurial projects, for which obviously GitLab notification hooks must contain Mercurial SHAs, since these are the only ones the Rails app is supposed to be aware of.
For now, there's no facility to set this flag automatically
but it can be used for testing in developer setups (by putting
it in hdk.hgrc
).
Implementation details:
Instead of going over all the places were a SHA is recorded that will end up in a hook call, we convert back to Mercurial right before we send the hook. This is perhaps good enough, while we are in the transitional way of operation of still converting to Git. Things will be very different anyway when we don't do that any more.