Mercurial > evolve
view tests/test-obsolete-push.t @ 5788:961a940aef57
divergence-resolution: [patch 3] fix a messed up test case
Because of logic change in divergence resolution which causes the order change
in picking the resolution parent this test case was messed up.
It was supposed to test that it hits merge conflict while merging the
two divergent csets but because of some change in previous patches, we hit
conflict early during relocation of one of the cset.
This patch, by resolving the conflict for relocation make sure that we test
the conflict while merging the two divergent csets.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 24 Jan 2021 20:09:28 +0530 |
parents | b7b6a4524ef7 |
children | a2fdbece7ce1 a1dad44fe3da |
line wrap: on
line source
$ cat >> $HGRCPATH <<EOF > [defaults] > amend=-d "0 0" > [extensions] > EOF $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH $ echo "topic=$(echo $(dirname $TESTDIR))/hgext3rd/topic/" >> $HGRCPATH $ template='{rev}:{node|short}@{branch}({separate("/", obsolete, phase)}) {desc|firstline}\n' $ glog() { > hg log -G --template "$template" "$@" > } Test outgoing, common A is suspended, B unstable and C secret, remote has A and B, neither A or C should be in outgoing. $ hg init source $ cd source $ echo a > a $ hg ci -qAm A a $ echo b > b $ hg ci -qAm B b $ hg up 0 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ echo c > c $ hg ci -qAm C c $ hg phase --secret --force . $ hg prune 0 1 2 changesets pruned 1 new orphan changesets $ glog --hidden @ 2:244232c2222a@default(secret) C | | x 1:6c81ed0049f8@default(obsolete/draft) B |/ x 0:1994f17a630e@default(obsolete/draft) A $ hg init ../clone $ cat > ../clone/.hg/hgrc <<EOF > [phases] > publish = false > EOF $ hg outgoing ../clone --template "$template" comparing with ../clone searching for changes 0:1994f17a630e@default(obsolete/draft) A $ cd .. Test options to prevent implicite publishing of changesets ---------------------------------------------------------- $ hg clone source strict-publish-client --pull requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files 2 new obsolescence markers new changesets 1994f17a630e updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd strict-publish-client $ echo c > c $ hg ci -qAm C c abort behavior $ cat >> .hg/hgrc <<eof > [experimental] > auto-publish = abort > eof $ hg push -r . pushing to $TESTTMP/source abort: push would publish 1 changesets (* 'experimental.auto-publish' config) (glob) [255] $ hg push pushing to $TESTTMP/source abort: push would publish 1 changesets (* 'experimental.auto-publish' config) (glob) [255] warning behavior $ echo 'auto-publish = warn' >> .hg/hgrc $ hg push pushing to $TESTTMP/source 1 changesets about to be published searching for changes adding changesets adding manifests adding file changes added 0 changesets with 0 changes to 1 files --publish overrides auto-publish $ echo d > d $ hg ci -qAm D d $ hg push -r . --publish --config experimental.auto-publish=abort pushing to $TESTTMP/source searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files