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