Mercurial > evolve
view tests/testlib/push-checkheads-util.sh @ 5601:3946ee4ee3ae
topic: add a `exp….topic.linear-merge` option to allow some oedipus
If this option is set to `from-branch`, a user can call `hg merge some-topic`
from a bare branch even if `some-topic` is a direct descendant of the current
working copy parents. This was previously denied if the changesets was on the
same branch, since the result would be an "oedipus merge".
Some user have been requesting this, and this type of merge is one of Gitlab
standard way of merging a "Merge Request". That new option will unlock issue
`heptapod#200` and make this mode available for those who wants it.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 14 Oct 2020 15:48:37 +0200 |
parents | 1227553f82c6 |
children | fc60328270ac |
line wrap: on
line source
# setup config and various utility to test new heads checks on push . $TESTDIR/testlib/common.sh cat >> $HGRCPATH <<EOF [ui] # simpler log output logtemplate ="{node|short} ({phase}){if(topic, "[{topic}]")}: {desc}\n" [phases] # non publishing server publish=False [extensions] # we need to strip some changeset for some test cases strip= evolve= EOF setuprepos() { echo creating basic server and client repo hg init server cd server mkcommit root hg phase --public . mkcommit A0 cd .. hg clone server client if [ "$1" = "single-head" ]; then echo >> "server/.hg/hgrc" "[experimental]" echo >> "server/.hg/hgrc" "# enforce a single name per branch" echo >> "server/.hg/hgrc" "single-head-per-branch = yes" echo >> "client/.hg/hgrc" "[ui]" echo >> "client/.hg/hgrc" "# simpler log output" printf >> "client/.hg/hgrc" "%s" 'logtemplate = "{node|short} [{branch}{if(topic, ":{topic}")}] ({phase}): {desc}\n"' fi }