topic: add tests for fold behavior with topics
Clarify the fold behavior for keeping topics.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-topic-fold.t Tue Jun 27 09:49:35 2017 +0200
@@ -0,0 +1,107 @@
+test of the fold command
+------------------------
+
+ $ cat >> $HGRCPATH <<EOF
+ > [defaults]
+ > amend=-d "0 0"
+ > fold=-d "0 0"
+ > split=-d "0 0"
+ > amend=-d "0 0"
+ > [web]
+ > push_ssl = false
+ > allow_push = *
+ > [phases]
+ > publish = False
+ > [diff]
+ > git = 1
+ > unified = 0
+ > [ui]
+ > interactive = true
+ > [extensions]
+ > hgext.graphlog=
+ > EOF
+ $ echo "topic=$(echo $(dirname $TESTDIR))/hgext3rd/topic/" >> $HGRCPATH
+ $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
+ $ mkcommit() {
+ > echo "$1" > "$1"
+ > hg add "$1"
+ > hg ci -m "add $1" $2 $3
+ > }
+ $ logtopic() {
+ > hg log -G -T "{rev}:{node}\ntopics: {topics}"
+ > }
+
+Check that fold keep the topic if all revisions have the topic
+--------------------------------------------------------------
+
+ $ hg init testfold
+ $ cd testfold
+ $ mkcommit ROOT
+ $ hg topic myfeature
+ $ mkcommit feature1
+ $ mkcommit feature2
+ $ logtopic
+ @ 2:d76a6166b18c835be9a487c5e21c7d260f0a1676
+ | topics: myfeature
+ o 1:39e7a938055e87615edf675c24a10997ff05bb06
+ | topics: myfeature
+ o 0:3e7df3b3b17c6deb4a1c70e790782fdf17af96a7
+ topics:
+ $ hg fold --exact -r "(tip~1)::" -m "folded"
+ 2 changesets folded
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ hg stack
+ ### topic: myfeature
+ ### branch: default
+ t1@ folded (current)
+ ^ add ROOT
+ $ logtopic
+ @ 3:4fd43e5bdc443dc8489edffac19bd8f93ccf1a5c
+ | topics: myfeature
+ o 0:3e7df3b3b17c6deb4a1c70e790782fdf17af96a7
+ topics:
+ $ hg summary
+ parent: 3:4fd43e5bdc44 tip
+ folded
+ branch: default
+ commit: (clean)
+ update: (current)
+ phases: 2 draft
+ topic: myfeature
+
+Check that fold dismis the topic if not all revisions have the topic
+--------------------------------------------------------------------
+
+(I'm not sure this behavior make senses, but now it is tested)
+
+ $ hg topic --clear
+ $ mkcommit feature3
+ created new head
+ $ hg topic myotherfeature
+ $ mkcommit feature4
+ $ logtopic
+ @ 5:5ded4d6d578c37f339b0716de2e46e12ece7cbde
+ | topics: myotherfeature
+ o 4:bdf6950b9b5b7c6b377c8132667c73ec86d5734f
+ | topics:
+ o 3:4fd43e5bdc443dc8489edffac19bd8f93ccf1a5c
+ | topics: myfeature
+ o 0:3e7df3b3b17c6deb4a1c70e790782fdf17af96a7
+ topics:
+ $ hg fold --exact -r "(tip~1)::" -m "folded 2"
+ 2 changesets folded
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ logtopic
+ @ 6:03da8f7238e9a4d708d6b8af402c91c68f271477
+ | topics:
+ o 3:4fd43e5bdc443dc8489edffac19bd8f93ccf1a5c
+ | topics: myfeature
+ o 0:3e7df3b3b17c6deb4a1c70e790782fdf17af96a7
+ topics:
+ $ hg summary
+ parent: 6:03da8f7238e9 tip
+ folded 2
+ branch: default
+ commit: (clean)
+ update: (current)
+ phases: 3 draft