annotate tests/test-topic-fold.t @ 3549:802441114400

next: prompt user to choose child in ambiguity in `hg next --evolve` This patch makes `hg next --evolve` prompt user to choose a child to evolve and update when multiple of them exists. This is improvement over previous behavior where we used to error out saying ambiguous next unstable changeset and told user to manually use `hg evolve -r rev`. While writing this patch, I am personally very happy to have this feature as I have encountered this stage many times and I wanted `next --evolve` to take care of that. It uses the revselectionprompt thing added in earlier patches.
author Pulkit Goyal <7895pulkit@gmail.com>
date Fri, 16 Mar 2018 12:14:39 +0530
parents f7129e3d5a38
children 1bc4b0807c37
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2666
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
1 test of the fold command
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
2 ------------------------
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
3
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
4 $ cat >> $HGRCPATH <<EOF
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
5 > [defaults]
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
6 > amend=-d "0 0"
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
7 > fold=-d "0 0"
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
8 > split=-d "0 0"
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
9 > amend=-d "0 0"
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
10 > [web]
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
11 > push_ssl = false
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
12 > allow_push = *
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
13 > [phases]
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
14 > publish = False
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
15 > [diff]
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
16 > git = 1
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
17 > unified = 0
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
18 > [ui]
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
19 > interactive = true
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
20 > [extensions]
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
21 > EOF
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
22 $ echo "topic=$(echo $(dirname $TESTDIR))/hgext3rd/topic/" >> $HGRCPATH
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
23 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
24 $ mkcommit() {
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
25 > echo "$1" > "$1"
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
26 > hg add "$1"
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
27 > hg ci -m "add $1" $2 $3
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
28 > }
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
29 $ logtopic() {
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
30 > hg log -G -T "{rev}:{node}\ntopics: {topics}"
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
31 > }
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
32
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
33 Check that fold keep the topic if all revisions have the topic
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
34 --------------------------------------------------------------
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
35
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
36 $ hg init testfold
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
37 $ cd testfold
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
38 $ mkcommit ROOT
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
39 $ hg topic myfeature
2985
f63c97c01f92 topics/ui: signal when the topics command creates a new (empty) topic
Aurélien Campéas
parents: 2984
diff changeset
40 marked working directory as topic: myfeature
2666
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
41 $ mkcommit feature1
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
42 active topic 'myfeature' grew its first changeset
2666
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
43 $ mkcommit feature2
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
44 $ logtopic
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
45 @ 2:d76a6166b18c835be9a487c5e21c7d260f0a1676
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
46 | topics: myfeature
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
47 o 1:39e7a938055e87615edf675c24a10997ff05bb06
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
48 | topics: myfeature
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
49 o 0:3e7df3b3b17c6deb4a1c70e790782fdf17af96a7
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
50 topics:
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
51 $ hg fold --exact -r "(tip~1)::" -m "folded"
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
52 2 changesets folded
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
53 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
54 $ hg stack
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
55 ### topic: myfeature
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
56 ### target: default (branch)
2666
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
57 t1@ folded (current)
2712
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2666
diff changeset
58 t0^ add ROOT (base)
2666
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
59 $ logtopic
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
60 @ 3:4fd43e5bdc443dc8489edffac19bd8f93ccf1a5c
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
61 | topics: myfeature
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
62 o 0:3e7df3b3b17c6deb4a1c70e790782fdf17af96a7
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
63 topics:
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
64 $ hg summary
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
65 parent: 3:4fd43e5bdc44 tip
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
66 folded
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
67 branch: default
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
68 commit: (clean)
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
69 update: (current)
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
70 phases: 2 draft
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
71 topic: myfeature
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
72
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
73 Check that fold dismis the topic if not all revisions have the topic
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
74 --------------------------------------------------------------------
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
75
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
76 (I'm not sure this behavior make senses, but now it is tested)
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
77
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
78 $ hg topic --clear
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
79 $ mkcommit feature3
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
80 created new head
3397
f7129e3d5a38 topic: suggest using topic when user creates a new head on branch
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2997
diff changeset
81 (consider using topic for lightweight branches. See 'hg help topic')
2666
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
82 $ hg topic myotherfeature
2985
f63c97c01f92 topics/ui: signal when the topics command creates a new (empty) topic
Aurélien Campéas
parents: 2984
diff changeset
83 marked working directory as topic: myotherfeature
2666
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
84 $ mkcommit feature4
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
85 active topic 'myotherfeature' grew its first changeset
2666
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
86 $ logtopic
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
87 @ 5:5ded4d6d578c37f339b0716de2e46e12ece7cbde
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
88 | topics: myotherfeature
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
89 o 4:bdf6950b9b5b7c6b377c8132667c73ec86d5734f
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
90 | topics:
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
91 o 3:4fd43e5bdc443dc8489edffac19bd8f93ccf1a5c
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
92 | topics: myfeature
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
93 o 0:3e7df3b3b17c6deb4a1c70e790782fdf17af96a7
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
94 topics:
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
95 $ hg fold --exact -r "(tip~1)::" -m "folded 2"
2986
4746b92cc1f8 topics/ui: signal when an operation entails voiding a topic
Aurélien Campéas
parents: 2985
diff changeset
96 active topic 'myotherfeature' is now empty
2666
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
97 2 changesets folded
2984
30f6030dca8f topics: signal to the end user when a topic has been forgotten
Aurélien Campéas
parents: 2776
diff changeset
98 clearing empty topic "myotherfeature"
2666
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
99 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
100 $ logtopic
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
101 @ 6:03da8f7238e9a4d708d6b8af402c91c68f271477
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
102 | topics:
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
103 o 3:4fd43e5bdc443dc8489edffac19bd8f93ccf1a5c
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
104 | topics: myfeature
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
105 o 0:3e7df3b3b17c6deb4a1c70e790782fdf17af96a7
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
106 topics:
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
107 $ hg summary
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
108 parent: 6:03da8f7238e9 tip
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
109 folded 2
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
110 branch: default
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
111 commit: (clean)
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
112 update: (current)
2d828f448081 topic: add tests for fold behavior with topics
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
113 phases: 3 draft