|
1 $ cat >> $HGRCPATH <<EOF |
|
2 > [extensions] |
|
3 > graphlog= |
|
4 > rebase= |
|
5 > mq= |
|
6 > |
|
7 > [mq] |
|
8 > plain=true |
|
9 > |
|
10 > [alias] |
|
11 > tglog = log -G --template "{rev}: '{desc}' tags: {tags}\n" |
|
12 > EOF |
|
13 |
|
14 |
|
15 $ hg init a |
|
16 $ cd a |
|
17 $ hg qinit -c |
|
18 |
|
19 $ echo c1 > f |
|
20 $ hg add f |
|
21 $ hg ci -m C1 |
|
22 |
|
23 $ echo r1 > f |
|
24 $ hg ci -m R1 |
|
25 |
|
26 $ hg up -q 0 |
|
27 |
|
28 $ hg qnew f.patch |
|
29 $ echo mq1 > f |
|
30 $ hg qref -m P0 |
|
31 |
|
32 $ hg qnew f2.patch |
|
33 $ echo mq2 > f |
|
34 $ hg qref -m P1 |
|
35 |
|
36 $ hg tglog |
|
37 @ 3: 'P1' tags: f2.patch qtip tip |
|
38 | |
|
39 o 2: 'P0' tags: f.patch qbase |
|
40 | |
|
41 | o 1: 'R1' tags: |
|
42 |/ |
|
43 o 0: 'C1' tags: qparent |
|
44 |
|
45 |
|
46 Rebase - try to rebase on an applied mq patch: |
|
47 |
|
48 $ hg rebase -s 1 -d 3 |
|
49 abort: cannot rebase onto an applied mq patch |
|
50 [255] |
|
51 |
|
52 Rebase - same thing, but mq patch is default dest: |
|
53 |
|
54 $ hg up -q 1 |
|
55 $ hg rebase |
|
56 abort: cannot rebase onto an applied mq patch |
|
57 [255] |
|
58 $ hg up -q qtip |
|
59 |
|
60 Rebase - generate a conflict: |
|
61 |
|
62 $ hg rebase -s 2 -d 1 |
|
63 merging f |
|
64 warning: conflicts during merge. |
|
65 merging f failed! |
|
66 abort: fix unresolved conflicts with hg resolve then run hg rebase --continue |
|
67 [255] |
|
68 |
|
69 Fix the 1st conflict: |
|
70 |
|
71 $ echo mq1r1 > f |
|
72 $ hg resolve -m f |
|
73 $ hg rebase -c |
|
74 merging f |
|
75 warning: conflicts during merge. |
|
76 merging f failed! |
|
77 abort: fix unresolved conflicts with hg resolve then run hg rebase --continue |
|
78 [255] |
|
79 |
|
80 Fix the 2nd conflict: |
|
81 |
|
82 $ echo mq1r1mq2 > f |
|
83 $ hg resolve -m f |
|
84 $ hg rebase -c |
|
85 saved backup bundle to */.hg/strip-backup/*-backup.hg (glob) |
|
86 |
|
87 $ hg tglog |
|
88 @ 3: 'P1' tags: f2.patch qtip tip |
|
89 | |
|
90 o 2: 'P0' tags: f.patch qbase |
|
91 | |
|
92 o 1: 'R1' tags: qparent |
|
93 | |
|
94 o 0: 'C1' tags: |
|
95 |
|
96 $ hg up -q qbase |
|
97 |
|
98 $ cat f |
|
99 mq1r1 |
|
100 |
|
101 $ cat .hg/patches/f.patch |
|
102 # HG changeset patch |
|
103 # User test |
|
104 # Date ?????????? ? (glob) |
|
105 # Node ID ???????????????????????????????????????? (glob) |
|
106 # Parent bac9ed9960d8992bcad75864a879fa76cadaf1b0 |
|
107 P0 |
|
108 |
|
109 diff -r bac9ed9960d8 -r ???????????? f (glob) |
|
110 --- a/f Thu Jan 01 00:00:00 1970 +0000 |
|
111 +++ b/f ??? ??? ?? ??:??:?? ???? ????? (glob) |
|
112 @@ -1,1 +1,1 @@ |
|
113 -r1 |
|
114 +mq1r1 |
|
115 |
|
116 Update to qtip: |
|
117 |
|
118 $ hg up -q qtip |
|
119 |
|
120 $ cat f |
|
121 mq1r1mq2 |
|
122 |
|
123 $ cat .hg/patches/f2.patch |
|
124 # HG changeset patch |
|
125 # User test |
|
126 # Date ?????????? ? (glob) |
|
127 # Node ID ???????????????????????????????????????? (glob) |
|
128 # Parent ???????????????????????????????????????? (glob) |
|
129 P1 |
|
130 |
|
131 diff -r ???????????? -r ???????????? f (glob) |
|
132 --- a/f ??? ??? ?? ??:??:?? ???? ????? (glob) |
|
133 +++ b/f ??? ??? ?? ??:??:?? ???? ????? (glob) |
|
134 @@ -1,1 +1,1 @@ |
|
135 -mq1r1 |
|
136 +mq1r1mq2 |
|
137 |
|
138 Adding one git-style patch and one normal: |
|
139 |
|
140 $ hg qpop -a |
|
141 popping f2.patch |
|
142 popping f.patch |
|
143 patch queue now empty |
|
144 |
|
145 $ rm -fr .hg/patches |
|
146 $ hg qinit -c |
|
147 |
|
148 $ hg up -q 0 |
|
149 |
|
150 $ hg qnew --git f_git.patch |
|
151 $ echo mq1 > p |
|
152 $ hg add p |
|
153 $ hg qref --git -m 'P0 (git)' |
|
154 |
|
155 $ hg qnew f.patch |
|
156 $ echo mq2 > p |
|
157 $ hg qref -m P1 |
|
158 $ hg qci -m 'save patch state' |
|
159 |
|
160 $ hg qseries -s |
|
161 f_git.patch: P0 (git) |
|
162 f.patch: P1 |
|
163 |
|
164 $ hg -R .hg/patches manifest |
|
165 .hgignore |
|
166 f.patch |
|
167 f_git.patch |
|
168 series |
|
169 |
|
170 $ cat .hg/patches/f_git.patch |
|
171 P0 (git) |
|
172 |
|
173 diff --git a/p b/p |
|
174 new file mode 100644 |
|
175 --- /dev/null |
|
176 +++ b/p |
|
177 @@ -0,0 +1,1 @@ |
|
178 +mq1 |
|
179 |
|
180 $ cat .hg/patches/f.patch |
|
181 P1 |
|
182 |
|
183 diff -r ???????????? p (glob) |
|
184 --- a/p ??? ??? ?? ??:??:?? ???? ????? (glob) |
|
185 +++ b/p ??? ??? ?? ??:??:?? ???? ????? (glob) |
|
186 @@ -1,1 +1,1 @@ |
|
187 -mq1 |
|
188 +mq2 |
|
189 |
|
190 |
|
191 Rebase the applied mq patches: |
|
192 |
|
193 $ hg rebase -s 2 -d 1 |
|
194 saved backup bundle to */.hg/strip-backup/*-backup.hg (glob) |
|
195 |
|
196 $ hg qci -m 'save patch state' |
|
197 |
|
198 $ hg qseries -s |
|
199 f_git.patch: P0 (git) |
|
200 f.patch: P1 |
|
201 |
|
202 $ hg -R .hg/patches manifest |
|
203 .hgignore |
|
204 f.patch |
|
205 f_git.patch |
|
206 series |
|
207 |
|
208 $ cat .hg/patches/f_git.patch |
|
209 # HG changeset patch |
|
210 # User test |
|
211 # Date ?????????? ? (glob) |
|
212 # Node ID ???????????????????????????????????????? (glob) |
|
213 # Parent bac9ed9960d8992bcad75864a879fa76cadaf1b0 |
|
214 P0 (git) |
|
215 |
|
216 diff --git a/p b/p |
|
217 new file mode 100644 |
|
218 --- /dev/null |
|
219 +++ b/p |
|
220 @@ -0,0 +1,1 @@ |
|
221 +mq1 |
|
222 |
|
223 $ cat .hg/patches/f.patch |
|
224 # HG changeset patch |
|
225 # User test |
|
226 # Date ?????????? ? (glob) |
|
227 # Node ID ???????????????????????????????????????? (glob) |
|
228 # Parent ???????????????????????????????????????? (glob) |
|
229 P1 |
|
230 |
|
231 diff -r ???????????? -r ???????????? p (glob) |
|
232 --- a/p ??? ??? ?? ??:??:?? ???? ????? (glob) |
|
233 +++ b/p ??? ??? ?? ??:??:?? ???? ????? (glob) |
|
234 @@ -1,1 +1,1 @@ |
|
235 -mq1 |
|
236 +mq2 |
|
237 |