##// END OF EJS Templates
test-histedit: fix instability creation test...
Pierre-Yves David -
r18438:81e77a88 default
parent child Browse files
Show More
@@ -1,155 +1,173 b''
1 1 $ . "$TESTDIR/histedit-helpers.sh"
2 2
3 3 Enable obsolete
4 4
5 5 $ cat > ${TESTTMP}/obs.py << EOF
6 6 > import mercurial.obsolete
7 7 > mercurial.obsolete._enabled = True
8 8 > EOF
9 9
10 10 $ cat >> $HGRCPATH << EOF
11 11 > [ui]
12 12 > logtemplate= {rev}:{node|short} {desc|firstline}
13 13 > [phases]
14 14 > publish=False
15 15 > [extensions]'
16 16 > histedit=
17 > rebase=
17 18 >
18 19 > obs=${TESTTMP}/obs.py
19 20 > EOF
20 21
21 22 $ hg init base
22 23 $ cd base
23 24
24 25 $ for x in a b c d e f ; do
25 26 > echo $x > $x
26 27 > hg add $x
27 28 > hg ci -m $x
28 29 > done
29 30
30 31 $ hg log --graph
31 32 @ 5:652413bf663e f
32 33 |
33 34 o 4:e860deea161a e
34 35 |
35 36 o 3:055a42cdd887 d
36 37 |
37 38 o 2:177f92b77385 c
38 39 |
39 40 o 1:d2ae7f538514 b
40 41 |
41 42 o 0:cb9a9f314b8b a
42 43
43 44
44 45 $ HGEDITOR=cat hg histedit 1
45 46 pick d2ae7f538514 1 b
46 47 pick 177f92b77385 2 c
47 48 pick 055a42cdd887 3 d
48 49 pick e860deea161a 4 e
49 50 pick 652413bf663e 5 f
50 51
51 52 # Edit history between d2ae7f538514 and 652413bf663e
52 53 #
53 54 # Commands:
54 55 # p, pick = use commit
55 56 # e, edit = use commit, but stop for amending
56 57 # f, fold = use commit, but fold into previous commit (combines N and N-1)
57 58 # d, drop = remove commit from history
58 59 # m, mess = edit message without changing commit content
59 60 #
60 61 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
61 62 $ cat > commands.txt <<EOF
62 63 > pick 177f92b77385 2 c
63 64 > drop d2ae7f538514 1 b
64 65 > pick 055a42cdd887 3 d
65 66 > fold e860deea161a 4 e
66 67 > pick 652413bf663e 5 f
67 68 > EOF
68 69 $ hg histedit 1 --commands commands.txt --verbose | grep histedit
69 70 saved backup bundle to $TESTTMP/base/.hg/strip-backup/96e494a2d553-backup.hg (glob)
70 71 $ hg log --graph --hidden
71 72 @ 8:cacdfd884a93 f
72 73 |
73 74 o 7:59d9f330561f d
74 75 |
75 76 o 6:b346ab9a313d c
76 77 |
77 78 | x 5:652413bf663e f
78 79 | |
79 80 | x 4:e860deea161a e
80 81 | |
81 82 | x 3:055a42cdd887 d
82 83 | |
83 84 | x 2:177f92b77385 c
84 85 | |
85 86 | x 1:d2ae7f538514 b
86 87 |/
87 88 o 0:cb9a9f314b8b a
88 89
89 90 $ hg debugobsolete
90 91 d2ae7f538514cd87c17547b0de4cea71fe1af9fb 0 {'date': '* *', 'user': 'test'} (glob)
91 92 177f92b773850b59254aa5e923436f921b55483b b346ab9a313db8537ecf96fca3ca3ca984ef3bd7 0 {'date': '* *', 'user': 'test'} (glob)
92 93 055a42cdd88768532f9cf79daa407fc8d138de9b 59d9f330561fd6c88b1a6b32f0e45034d88db784 0 {'date': '* *', 'user': 'test'} (glob)
93 94 e860deea161a2f77de56603b340ebbb4536308ae 59d9f330561fd6c88b1a6b32f0e45034d88db784 0 {'date': '* *', 'user': 'test'} (glob)
94 95 652413bf663ef2a641cab26574e46d5f5a64a55a cacdfd884a9321ec4e1de275ef3949fa953a1f83 0 {'date': '* *', 'user': 'test'} (glob)
95 96
96 97
97 98 Ensure hidden revision does not prevent histedit
98 99 -------------------------------------------------
99 100
100 101 create an hidden revision
101 102
102 103 $ cat > commands.txt <<EOF
103 104 > pick b346ab9a313d 6 c
104 105 > drop 59d9f330561f 7 d
105 106 > pick cacdfd884a93 8 f
106 107 > EOF
107 108 $ hg histedit 6 --commands commands.txt
108 109 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
109 110 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
110 111 $ hg log --graph
111 112 @ 9:c13eb81022ca f
112 113 |
113 114 o 6:b346ab9a313d c
114 115 |
115 116 o 0:cb9a9f314b8b a
116 117
117 118 check hidden revision are ignored (6 have hidden children 7 and 8)
118 119
119 120 $ cat > commands.txt <<EOF
120 121 > pick b346ab9a313d 6 c
121 122 > pick c13eb81022ca 8 f
122 123 > EOF
123 124 $ hg histedit 6 --commands commands.txt
124 125 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
125 126
126 127
127 128 Check that histedit respect phases
128 129 =========================================
129 130
130 131 (not directly related to the test file but doesn't deserve it's own test case)
131 132
132 133 $ hg log -G
133 134 @ 9:c13eb81022ca f
134 135 |
135 136 o 6:b346ab9a313d c
136 137 |
137 138 o 0:cb9a9f314b8b a
138 139
139 140 $ hg ph -pv '.^'
140 141 phase changed for 2 changesets
141 142 $ hg histedit -r '.~2'
142 143 abort: cannot edit immutable changeset: cb9a9f314b8b
143 144 [255]
144 145
145 146
146 147 Test that rewriting leaving instability behind is allowed
147 148 ---------------------------------------------------------------------
148 149
149 150 $ hg up '.^'
150 151 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
151 $ hg phase --force --draft .
152 $ hg ph --force --draft '.'
152 153 $ hg log -r 'children(.)'
153 154 9:c13eb81022ca f (no-eol)
154 $ hg histedit -r '.'
155 $ cat > commands.txt <<EOF
156 > edit b346ab9a313d 6 c
157 > EOF
158 $ hg histedit -r '.' --commands commands.txt
159 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
160 adding c
161 abort: Make changes as needed, you may commit or record as needed now.
162 When you are finished, run hg histedit --continue to resume.
163 [255]
164 $ echo c >> c
165 $ hg histedit --continue
155 166 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
167
168 $ hg log -r 'unstable()'
169 9:c13eb81022ca f (no-eol)
170
171 stabilise
172
173 $ hg rebase -r 'unstable()' -d .
General Comments 0
You need to be logged in to leave comments. Login now