##// END OF EJS Templates
py3: fix test-shelve.t on Python 3...
Augie Fackler -
r37760:89d82d2b default
parent child Browse files
Show More
@@ -1,448 +1,449
1 test-abort-checkin.t
1 test-abort-checkin.t
2 test-add.t
2 test-add.t
3 test-addremove-similar.t
3 test-addremove-similar.t
4 test-addremove.t
4 test-addremove.t
5 test-amend-subrepo.t
5 test-amend-subrepo.t
6 test-amend.t
6 test-amend.t
7 test-ancestor.py
7 test-ancestor.py
8 test-annotate.py
8 test-annotate.py
9 test-annotate.t
9 test-annotate.t
10 test-archive-symlinks.t
10 test-archive-symlinks.t
11 test-atomictempfile.py
11 test-atomictempfile.py
12 test-audit-path.t
12 test-audit-path.t
13 test-audit-subrepo.t
13 test-audit-subrepo.t
14 test-automv.t
14 test-automv.t
15 test-backout.t
15 test-backout.t
16 test-backwards-remove.t
16 test-backwards-remove.t
17 test-basic.t
17 test-basic.t
18 test-bheads.t
18 test-bheads.t
19 test-bisect.t
19 test-bisect.t
20 test-bisect2.t
20 test-bisect2.t
21 test-bisect3.t
21 test-bisect3.t
22 test-blackbox.t
22 test-blackbox.t
23 test-bookmarks-current.t
23 test-bookmarks-current.t
24 test-bookmarks-merge.t
24 test-bookmarks-merge.t
25 test-bookmarks-rebase.t
25 test-bookmarks-rebase.t
26 test-bookmarks-strip.t
26 test-bookmarks-strip.t
27 test-bookmarks.t
27 test-bookmarks.t
28 test-branch-change.t
28 test-branch-change.t
29 test-branch-option.t
29 test-branch-option.t
30 test-branch-tag-confict.t
30 test-branch-tag-confict.t
31 test-branches.t
31 test-branches.t
32 test-bundle-phases.t
32 test-bundle-phases.t
33 test-bundle-type.t
33 test-bundle-type.t
34 test-bundle-vs-outgoing.t
34 test-bundle-vs-outgoing.t
35 test-bundle2-multiple-changegroups.t
35 test-bundle2-multiple-changegroups.t
36 test-cappedreader.py
36 test-cappedreader.py
37 test-casecollision.t
37 test-casecollision.t
38 test-cat.t
38 test-cat.t
39 test-censor.t
39 test-censor.t
40 test-changelog-exec.t
40 test-changelog-exec.t
41 test-check-commit.t
41 test-check-commit.t
42 test-check-execute.t
42 test-check-execute.t
43 test-check-module-imports.t
43 test-check-module-imports.t
44 test-check-pyflakes.t
44 test-check-pyflakes.t
45 test-check-pylint.t
45 test-check-pylint.t
46 test-check-shbang.t
46 test-check-shbang.t
47 test-children.t
47 test-children.t
48 test-clone-pull-corruption.t
48 test-clone-pull-corruption.t
49 test-clone-r.t
49 test-clone-r.t
50 test-clone-update-order.t
50 test-clone-update-order.t
51 test-command-template.t
51 test-command-template.t
52 test-commit-amend.t
52 test-commit-amend.t
53 test-commit-interactive.t
53 test-commit-interactive.t
54 test-commit-multiple.t
54 test-commit-multiple.t
55 test-commit-unresolved.t
55 test-commit-unresolved.t
56 test-commit.t
56 test-commit.t
57 test-committer.t
57 test-committer.t
58 test-completion.t
58 test-completion.t
59 test-config-env.py
59 test-config-env.py
60 test-config.t
60 test-config.t
61 test-conflict.t
61 test-conflict.t
62 test-confused-revert.t
62 test-confused-revert.t
63 test-contrib-check-code.t
63 test-contrib-check-code.t
64 test-contrib-check-commit.t
64 test-contrib-check-commit.t
65 test-convert-authormap.t
65 test-convert-authormap.t
66 test-convert-clonebranches.t
66 test-convert-clonebranches.t
67 test-convert-datesort.t
67 test-convert-datesort.t
68 test-convert-filemap.t
68 test-convert-filemap.t
69 test-convert-hg-sink.t
69 test-convert-hg-sink.t
70 test-convert-hg-source.t
70 test-convert-hg-source.t
71 test-convert-hg-startrev.t
71 test-convert-hg-startrev.t
72 test-convert-splicemap.t
72 test-convert-splicemap.t
73 test-convert-tagsbranch-topology.t
73 test-convert-tagsbranch-topology.t
74 test-copy-move-merge.t
74 test-copy-move-merge.t
75 test-copy.t
75 test-copy.t
76 test-copytrace-heuristics.t
76 test-copytrace-heuristics.t
77 test-debugbuilddag.t
77 test-debugbuilddag.t
78 test-debugbundle.t
78 test-debugbundle.t
79 test-debugextensions.t
79 test-debugextensions.t
80 test-debugindexdot.t
80 test-debugindexdot.t
81 test-debugrename.t
81 test-debugrename.t
82 test-default-push.t
82 test-default-push.t
83 test-diff-binary-file.t
83 test-diff-binary-file.t
84 test-diff-change.t
84 test-diff-change.t
85 test-diff-copy-depth.t
85 test-diff-copy-depth.t
86 test-diff-hashes.t
86 test-diff-hashes.t
87 test-diff-ignore-whitespace.t
87 test-diff-ignore-whitespace.t
88 test-diff-indent-heuristic.t
88 test-diff-indent-heuristic.t
89 test-diff-issue2761.t
89 test-diff-issue2761.t
90 test-diff-newlines.t
90 test-diff-newlines.t
91 test-diff-reverse.t
91 test-diff-reverse.t
92 test-diff-subdir.t
92 test-diff-subdir.t
93 test-diff-unified.t
93 test-diff-unified.t
94 test-diff-upgrade.t
94 test-diff-upgrade.t
95 test-diffdir.t
95 test-diffdir.t
96 test-diffstat.t
96 test-diffstat.t
97 test-directaccess.t
97 test-directaccess.t
98 test-dirstate-backup.t
98 test-dirstate-backup.t
99 test-dirstate-nonnormalset.t
99 test-dirstate-nonnormalset.t
100 test-dirstate.t
100 test-dirstate.t
101 test-doctest.py
101 test-doctest.py
102 test-double-merge.t
102 test-double-merge.t
103 test-drawdag.t
103 test-drawdag.t
104 test-duplicateoptions.py
104 test-duplicateoptions.py
105 test-editor-filename.t
105 test-editor-filename.t
106 test-empty-dir.t
106 test-empty-dir.t
107 test-empty-file.t
107 test-empty-file.t
108 test-empty-group.t
108 test-empty-group.t
109 test-empty.t
109 test-empty.t
110 test-encode.t
110 test-encode.t
111 test-encoding-func.py
111 test-encoding-func.py
112 test-encoding.t
112 test-encoding.t
113 test-eol-add.t
113 test-eol-add.t
114 test-eol-clone.t
114 test-eol-clone.t
115 test-eol-hook.t
115 test-eol-hook.t
116 test-eol-tag.t
116 test-eol-tag.t
117 test-eol-update.t
117 test-eol-update.t
118 test-excessive-merge.t
118 test-excessive-merge.t
119 test-exchange-obsmarkers-case-A1.t
119 test-exchange-obsmarkers-case-A1.t
120 test-exchange-obsmarkers-case-A2.t
120 test-exchange-obsmarkers-case-A2.t
121 test-exchange-obsmarkers-case-A3.t
121 test-exchange-obsmarkers-case-A3.t
122 test-exchange-obsmarkers-case-A4.t
122 test-exchange-obsmarkers-case-A4.t
123 test-exchange-obsmarkers-case-A5.t
123 test-exchange-obsmarkers-case-A5.t
124 test-exchange-obsmarkers-case-A6.t
124 test-exchange-obsmarkers-case-A6.t
125 test-exchange-obsmarkers-case-A7.t
125 test-exchange-obsmarkers-case-A7.t
126 test-exchange-obsmarkers-case-B1.t
126 test-exchange-obsmarkers-case-B1.t
127 test-exchange-obsmarkers-case-B2.t
127 test-exchange-obsmarkers-case-B2.t
128 test-exchange-obsmarkers-case-B3.t
128 test-exchange-obsmarkers-case-B3.t
129 test-exchange-obsmarkers-case-B4.t
129 test-exchange-obsmarkers-case-B4.t
130 test-exchange-obsmarkers-case-B5.t
130 test-exchange-obsmarkers-case-B5.t
131 test-exchange-obsmarkers-case-B6.t
131 test-exchange-obsmarkers-case-B6.t
132 test-exchange-obsmarkers-case-B7.t
132 test-exchange-obsmarkers-case-B7.t
133 test-exchange-obsmarkers-case-C1.t
133 test-exchange-obsmarkers-case-C1.t
134 test-exchange-obsmarkers-case-C2.t
134 test-exchange-obsmarkers-case-C2.t
135 test-exchange-obsmarkers-case-C3.t
135 test-exchange-obsmarkers-case-C3.t
136 test-exchange-obsmarkers-case-C4.t
136 test-exchange-obsmarkers-case-C4.t
137 test-exchange-obsmarkers-case-D1.t
137 test-exchange-obsmarkers-case-D1.t
138 test-exchange-obsmarkers-case-D2.t
138 test-exchange-obsmarkers-case-D2.t
139 test-exchange-obsmarkers-case-D3.t
139 test-exchange-obsmarkers-case-D3.t
140 test-exchange-obsmarkers-case-D4.t
140 test-exchange-obsmarkers-case-D4.t
141 test-execute-bit.t
141 test-execute-bit.t
142 test-export.t
142 test-export.t
143 test-extdata.t
143 test-extdata.t
144 test-extdiff.t
144 test-extdiff.t
145 test-extra-filelog-entry.t
145 test-extra-filelog-entry.t
146 test-filebranch.t
146 test-filebranch.t
147 test-fileset-generated.t
147 test-fileset-generated.t
148 test-flags.t
148 test-flags.t
149 test-generaldelta.t
149 test-generaldelta.t
150 test-getbundle.t
150 test-getbundle.t
151 test-git-export.t
151 test-git-export.t
152 test-glog-topological.t
152 test-glog-topological.t
153 test-gpg.t
153 test-gpg.t
154 test-graft.t
154 test-graft.t
155 test-hg-parseurl.py
155 test-hg-parseurl.py
156 test-hghave.t
156 test-hghave.t
157 test-hgignore.t
157 test-hgignore.t
158 test-hgk.t
158 test-hgk.t
159 test-hgweb-bundle.t
159 test-hgweb-bundle.t
160 test-hgweb-descend-empties.t
160 test-hgweb-descend-empties.t
161 test-hgweb-empty.t
161 test-hgweb-empty.t
162 test-hgweb-removed.t
162 test-hgweb-removed.t
163 test-histedit-arguments.t
163 test-histedit-arguments.t
164 test-histedit-base.t
164 test-histedit-base.t
165 test-histedit-bookmark-motion.t
165 test-histedit-bookmark-motion.t
166 test-histedit-commute.t
166 test-histedit-commute.t
167 test-histedit-drop.t
167 test-histedit-drop.t
168 test-histedit-edit.t
168 test-histedit-edit.t
169 test-histedit-fold-non-commute.t
169 test-histedit-fold-non-commute.t
170 test-histedit-fold.t
170 test-histedit-fold.t
171 test-histedit-no-change.t
171 test-histedit-no-change.t
172 test-histedit-non-commute-abort.t
172 test-histedit-non-commute-abort.t
173 test-histedit-non-commute.t
173 test-histedit-non-commute.t
174 test-histedit-obsolete.t
174 test-histedit-obsolete.t
175 test-histedit-outgoing.t
175 test-histedit-outgoing.t
176 test-histedit-templates.t
176 test-histedit-templates.t
177 test-http-branchmap.t
177 test-http-branchmap.t
178 test-http-bundle1.t
178 test-http-bundle1.t
179 test-http-clone-r.t
179 test-http-clone-r.t
180 test-http.t
180 test-http.t
181 test-identify.t
181 test-identify.t
182 test-import-unknown.t
182 test-import-unknown.t
183 test-import.t
183 test-import.t
184 test-imports-checker.t
184 test-imports-checker.t
185 test-incoming-outgoing.t
185 test-incoming-outgoing.t
186 test-inherit-mode.t
186 test-inherit-mode.t
187 test-issue1089.t
187 test-issue1089.t
188 test-issue1102.t
188 test-issue1102.t
189 test-issue1175.t
189 test-issue1175.t
190 test-issue1306.t
190 test-issue1306.t
191 test-issue1438.t
191 test-issue1438.t
192 test-issue1502.t
192 test-issue1502.t
193 test-issue1802.t
193 test-issue1802.t
194 test-issue1877.t
194 test-issue1877.t
195 test-issue1993.t
195 test-issue1993.t
196 test-issue2137.t
196 test-issue2137.t
197 test-issue3084.t
197 test-issue3084.t
198 test-issue4074.t
198 test-issue4074.t
199 test-issue522.t
199 test-issue522.t
200 test-issue586.t
200 test-issue586.t
201 test-issue612.t
201 test-issue612.t
202 test-issue619.t
202 test-issue619.t
203 test-issue660.t
203 test-issue660.t
204 test-issue672.t
204 test-issue672.t
205 test-issue842.t
205 test-issue842.t
206 test-journal-exists.t
206 test-journal-exists.t
207 test-journal-share.t
207 test-journal-share.t
208 test-journal.t
208 test-journal.t
209 test-largefiles-cache.t
209 test-largefiles-cache.t
210 test-largefiles-misc.t
210 test-largefiles-misc.t
211 test-largefiles-small-disk.t
211 test-largefiles-small-disk.t
212 test-largefiles-update.t
212 test-largefiles-update.t
213 test-lfs-largefiles.t
213 test-lfs-largefiles.t
214 test-linerange.py
214 test-linerange.py
215 test-locate.t
215 test-locate.t
216 test-lock-badness.t
216 test-lock-badness.t
217 test-log-linerange.t
217 test-log-linerange.t
218 test-log.t
218 test-log.t
219 test-logexchange.t
219 test-logexchange.t
220 test-lrucachedict.py
220 test-lrucachedict.py
221 test-mactext.t
221 test-mactext.t
222 test-mailmap.t
222 test-mailmap.t
223 test-manifest-merging.t
223 test-manifest-merging.t
224 test-manifest.py
224 test-manifest.py
225 test-manifest.t
225 test-manifest.t
226 test-match.py
226 test-match.py
227 test-mdiff.py
227 test-mdiff.py
228 test-merge-changedelete.t
228 test-merge-changedelete.t
229 test-merge-closedheads.t
229 test-merge-closedheads.t
230 test-merge-commit.t
230 test-merge-commit.t
231 test-merge-criss-cross.t
231 test-merge-criss-cross.t
232 test-merge-default.t
232 test-merge-default.t
233 test-merge-force.t
233 test-merge-force.t
234 test-merge-halt.t
234 test-merge-halt.t
235 test-merge-internal-tools-pattern.t
235 test-merge-internal-tools-pattern.t
236 test-merge-local.t
236 test-merge-local.t
237 test-merge-remove.t
237 test-merge-remove.t
238 test-merge-revert.t
238 test-merge-revert.t
239 test-merge-revert2.t
239 test-merge-revert2.t
240 test-merge-subrepos.t
240 test-merge-subrepos.t
241 test-merge-symlinks.t
241 test-merge-symlinks.t
242 test-merge-tools.t
242 test-merge-tools.t
243 test-merge-types.t
243 test-merge-types.t
244 test-merge1.t
244 test-merge1.t
245 test-merge10.t
245 test-merge10.t
246 test-merge2.t
246 test-merge2.t
247 test-merge4.t
247 test-merge4.t
248 test-merge5.t
248 test-merge5.t
249 test-merge6.t
249 test-merge6.t
250 test-merge7.t
250 test-merge7.t
251 test-merge8.t
251 test-merge8.t
252 test-merge9.t
252 test-merge9.t
253 test-mq-git.t
253 test-mq-git.t
254 test-mq-header-date.t
254 test-mq-header-date.t
255 test-mq-header-from.t
255 test-mq-header-from.t
256 test-mq-merge.t
256 test-mq-merge.t
257 test-mq-pull-from-bundle.t
257 test-mq-pull-from-bundle.t
258 test-mq-qdelete.t
258 test-mq-qdelete.t
259 test-mq-qdiff.t
259 test-mq-qdiff.t
260 test-mq-qfold.t
260 test-mq-qfold.t
261 test-mq-qgoto.t
261 test-mq-qgoto.t
262 test-mq-qimport-fail-cleanup.t
262 test-mq-qimport-fail-cleanup.t
263 test-mq-qnew.t
263 test-mq-qnew.t
264 test-mq-qpush-exact.t
264 test-mq-qpush-exact.t
265 test-mq-qqueue.t
265 test-mq-qqueue.t
266 test-mq-qrefresh-interactive.t
266 test-mq-qrefresh-interactive.t
267 test-mq-qrefresh-replace-log-message.t
267 test-mq-qrefresh-replace-log-message.t
268 test-mq-qrefresh.t
268 test-mq-qrefresh.t
269 test-mq-qrename.t
269 test-mq-qrename.t
270 test-mq-qsave.t
270 test-mq-qsave.t
271 test-mq-safety.t
271 test-mq-safety.t
272 test-mq-subrepo.t
272 test-mq-subrepo.t
273 test-mq-symlinks.t
273 test-mq-symlinks.t
274 test-mv-cp-st-diff.t
274 test-mv-cp-st-diff.t
275 test-narrow-archive.t
275 test-narrow-archive.t
276 test-narrow-clone-no-ellipsis.t
276 test-narrow-clone-no-ellipsis.t
277 test-narrow-clone-non-narrow-server.t
277 test-narrow-clone-non-narrow-server.t
278 test-narrow-clone-nonlinear.t
278 test-narrow-clone-nonlinear.t
279 test-narrow-clone.t
279 test-narrow-clone.t
280 test-narrow-commit.t
280 test-narrow-commit.t
281 test-narrow-copies.t
281 test-narrow-copies.t
282 test-narrow-debugcommands.t
282 test-narrow-debugcommands.t
283 test-narrow-debugrebuilddirstate.t
283 test-narrow-debugrebuilddirstate.t
284 test-narrow-exchange-merges.t
284 test-narrow-exchange-merges.t
285 test-narrow-exchange.t
285 test-narrow-exchange.t
286 test-narrow-expanddirstate.t
286 test-narrow-expanddirstate.t
287 test-narrow-merge.t
287 test-narrow-merge.t
288 test-narrow-patch.t
288 test-narrow-patch.t
289 test-narrow-patterns.t
289 test-narrow-patterns.t
290 test-narrow-pull.t
290 test-narrow-pull.t
291 test-narrow-rebase.t
291 test-narrow-rebase.t
292 test-narrow-shallow-merges.t
292 test-narrow-shallow-merges.t
293 test-narrow-shallow.t
293 test-narrow-shallow.t
294 test-narrow-strip.t
294 test-narrow-strip.t
295 test-narrow-update.t
295 test-narrow-update.t
296 test-nested-repo.t
296 test-nested-repo.t
297 test-newbranch.t
297 test-newbranch.t
298 test-obshistory.t
298 test-obshistory.t
299 test-obsmarker-template.t
299 test-obsmarker-template.t
300 test-obsmarkers-effectflag.t
300 test-obsmarkers-effectflag.t
301 test-obsolete-bundle-strip.t
301 test-obsolete-bundle-strip.t
302 test-obsolete-changeset-exchange.t
302 test-obsolete-changeset-exchange.t
303 test-obsolete-checkheads.t
303 test-obsolete-checkheads.t
304 test-obsolete-distributed.t
304 test-obsolete-distributed.t
305 test-obsolete-tag-cache.t
305 test-obsolete-tag-cache.t
306 test-parents.t
306 test-parents.t
307 test-pathconflicts-merge.t
307 test-pathconflicts-merge.t
308 test-pathconflicts-update.t
308 test-pathconflicts-update.t
309 test-pending.t
309 test-pending.t
310 test-permissions.t
310 test-permissions.t
311 test-phases.t
311 test-phases.t
312 test-pull-branch.t
312 test-pull-branch.t
313 test-pull-http.t
313 test-pull-http.t
314 test-pull-permission.t
314 test-pull-permission.t
315 test-pull-pull-corruption.t
315 test-pull-pull-corruption.t
316 test-pull-r.t
316 test-pull-r.t
317 test-pull-update.t
317 test-pull-update.t
318 test-purge.t
318 test-purge.t
319 test-push-checkheads-partial-C1.t
319 test-push-checkheads-partial-C1.t
320 test-push-checkheads-partial-C2.t
320 test-push-checkheads-partial-C2.t
321 test-push-checkheads-partial-C3.t
321 test-push-checkheads-partial-C3.t
322 test-push-checkheads-partial-C4.t
322 test-push-checkheads-partial-C4.t
323 test-push-checkheads-pruned-B1.t
323 test-push-checkheads-pruned-B1.t
324 test-push-checkheads-pruned-B2.t
324 test-push-checkheads-pruned-B2.t
325 test-push-checkheads-pruned-B3.t
325 test-push-checkheads-pruned-B3.t
326 test-push-checkheads-pruned-B4.t
326 test-push-checkheads-pruned-B4.t
327 test-push-checkheads-pruned-B5.t
327 test-push-checkheads-pruned-B5.t
328 test-push-checkheads-pruned-B6.t
328 test-push-checkheads-pruned-B6.t
329 test-push-checkheads-pruned-B7.t
329 test-push-checkheads-pruned-B7.t
330 test-push-checkheads-pruned-B8.t
330 test-push-checkheads-pruned-B8.t
331 test-push-checkheads-superceed-A1.t
331 test-push-checkheads-superceed-A1.t
332 test-push-checkheads-superceed-A2.t
332 test-push-checkheads-superceed-A2.t
333 test-push-checkheads-superceed-A3.t
333 test-push-checkheads-superceed-A3.t
334 test-push-checkheads-superceed-A4.t
334 test-push-checkheads-superceed-A4.t
335 test-push-checkheads-superceed-A5.t
335 test-push-checkheads-superceed-A5.t
336 test-push-checkheads-superceed-A6.t
336 test-push-checkheads-superceed-A6.t
337 test-push-checkheads-superceed-A7.t
337 test-push-checkheads-superceed-A7.t
338 test-push-checkheads-superceed-A8.t
338 test-push-checkheads-superceed-A8.t
339 test-push-checkheads-unpushed-D1.t
339 test-push-checkheads-unpushed-D1.t
340 test-push-checkheads-unpushed-D2.t
340 test-push-checkheads-unpushed-D2.t
341 test-push-checkheads-unpushed-D3.t
341 test-push-checkheads-unpushed-D3.t
342 test-push-checkheads-unpushed-D4.t
342 test-push-checkheads-unpushed-D4.t
343 test-push-checkheads-unpushed-D5.t
343 test-push-checkheads-unpushed-D5.t
344 test-push-checkheads-unpushed-D6.t
344 test-push-checkheads-unpushed-D6.t
345 test-push-checkheads-unpushed-D7.t
345 test-push-checkheads-unpushed-D7.t
346 test-push-http.t
346 test-push-http.t
347 test-push-warn.t
347 test-push-warn.t
348 test-pushvars.t
348 test-pushvars.t
349 test-rebase-abort.t
349 test-rebase-abort.t
350 test-rebase-base-flag.t
350 test-rebase-base-flag.t
351 test-rebase-bookmarks.t
351 test-rebase-bookmarks.t
352 test-rebase-brute-force.t
352 test-rebase-brute-force.t
353 test-rebase-cache.t
353 test-rebase-cache.t
354 test-rebase-check-restore.t
354 test-rebase-check-restore.t
355 test-rebase-collapse.t
355 test-rebase-collapse.t
356 test-rebase-conflicts.t
356 test-rebase-conflicts.t
357 test-rebase-dest.t
357 test-rebase-dest.t
358 test-rebase-detach.t
358 test-rebase-detach.t
359 test-rebase-emptycommit.t
359 test-rebase-emptycommit.t
360 test-rebase-inmemory.t
360 test-rebase-inmemory.t
361 test-rebase-interruptions.t
361 test-rebase-interruptions.t
362 test-rebase-issue-noparam-single-rev.t
362 test-rebase-issue-noparam-single-rev.t
363 test-rebase-legacy.t
363 test-rebase-legacy.t
364 test-rebase-mq-skip.t
364 test-rebase-mq-skip.t
365 test-rebase-mq.t
365 test-rebase-mq.t
366 test-rebase-named-branches.t
366 test-rebase-named-branches.t
367 test-rebase-newancestor.t
367 test-rebase-newancestor.t
368 test-rebase-obsolete.t
368 test-rebase-obsolete.t
369 test-rebase-parameters.t
369 test-rebase-parameters.t
370 test-rebase-partial.t
370 test-rebase-partial.t
371 test-rebase-pull.t
371 test-rebase-pull.t
372 test-rebase-rename.t
372 test-rebase-rename.t
373 test-rebase-scenario-global.t
373 test-rebase-scenario-global.t
374 test-rebase-templates.t
374 test-rebase-templates.t
375 test-rebase-transaction.t
375 test-rebase-transaction.t
376 test-record.t
376 test-record.t
377 test-relink.t
377 test-relink.t
378 test-remove.t
378 test-remove.t
379 test-rename-after-merge.t
379 test-rename-after-merge.t
380 test-rename-dir-merge.t
380 test-rename-dir-merge.t
381 test-rename-merge1.t
381 test-rename-merge1.t
382 test-rename.t
382 test-rename.t
383 test-repair-strip.t
383 test-repair-strip.t
384 test-repo-compengines.t
384 test-repo-compengines.t
385 test-resolve.t
385 test-resolve.t
386 test-revert-flags.t
386 test-revert-flags.t
387 test-revert-unknown.t
387 test-revert-unknown.t
388 test-revlog-ancestry.py
388 test-revlog-ancestry.py
389 test-revlog-group-emptyiter.t
389 test-revlog-group-emptyiter.t
390 test-revlog-mmapindex.t
390 test-revlog-mmapindex.t
391 test-revlog-packentry.t
391 test-revlog-packentry.t
392 test-revset-dirstate-parents.t
392 test-revset-dirstate-parents.t
393 test-revset-outgoing.t
393 test-revset-outgoing.t
394 test-rollback.t
394 test-rollback.t
395 test-run-tests.py
395 test-run-tests.py
396 test-run-tests.t
396 test-run-tests.t
397 test-schemes.t
397 test-schemes.t
398 test-serve.t
398 test-serve.t
399 test-setdiscovery.t
399 test-setdiscovery.t
400 test-share.t
400 test-share.t
401 test-shelve.t
401 test-show-stack.t
402 test-show-stack.t
402 test-show-work.t
403 test-show-work.t
403 test-show.t
404 test-show.t
404 test-simple-update.t
405 test-simple-update.t
405 test-single-head.t
406 test-single-head.t
406 test-sparse-clear.t
407 test-sparse-clear.t
407 test-sparse-import.t
408 test-sparse-import.t
408 test-sparse-merges.t
409 test-sparse-merges.t
409 test-sparse-profiles.t
410 test-sparse-profiles.t
410 test-sparse-requirement.t
411 test-sparse-requirement.t
411 test-sparse-verbose-json.t
412 test-sparse-verbose-json.t
412 test-ssh-clone-r.t
413 test-ssh-clone-r.t
413 test-ssh-proto.t
414 test-ssh-proto.t
414 test-sshserver.py
415 test-sshserver.py
415 test-stack.t
416 test-stack.t
416 test-status-rev.t
417 test-status-rev.t
417 test-status-terse.t
418 test-status-terse.t
418 test-strip-cross.t
419 test-strip-cross.t
419 test-strip.t
420 test-strip.t
420 test-subrepo-deep-nested-change.t
421 test-subrepo-deep-nested-change.t
421 test-subrepo-missing.t
422 test-subrepo-missing.t
422 test-subrepo.t
423 test-subrepo.t
423 test-symlinks.t
424 test-symlinks.t
424 test-tag.t
425 test-tag.t
425 test-tags.t
426 test-tags.t
426 test-template-engine.t
427 test-template-engine.t
427 test-treemanifest.t
428 test-treemanifest.t
428 test-unamend.t
429 test-unamend.t
429 test-uncommit.t
430 test-uncommit.t
430 test-unified-test.t
431 test-unified-test.t
431 test-unrelated-pull.t
432 test-unrelated-pull.t
432 test-up-local-change.t
433 test-up-local-change.t
433 test-update-branches.t
434 test-update-branches.t
434 test-update-dest.t
435 test-update-dest.t
435 test-update-issue1456.t
436 test-update-issue1456.t
436 test-update-names.t
437 test-update-names.t
437 test-update-reverse.t
438 test-update-reverse.t
438 test-upgrade-repo.t
439 test-upgrade-repo.t
439 test-url-download.t
440 test-url-download.t
440 test-url-rev.t
441 test-url-rev.t
441 test-username-newline.t
442 test-username-newline.t
442 test-verify.t
443 test-verify.t
443 test-websub.t
444 test-websub.t
444 test-win32text.t
445 test-win32text.t
445 test-wireproto-clientreactor.py
446 test-wireproto-clientreactor.py
446 test-wireproto-framing.py
447 test-wireproto-framing.py
447 test-wireproto-serverreactor.py
448 test-wireproto-serverreactor.py
448 test-xdg.t
449 test-xdg.t
@@ -1,1805 +1,1805
1 $ cat <<EOF >> $HGRCPATH
1 $ cat <<EOF >> $HGRCPATH
2 > [extensions]
2 > [extensions]
3 > mq =
3 > mq =
4 > shelve =
4 > shelve =
5 > [defaults]
5 > [defaults]
6 > diff = --nodates --git
6 > diff = --nodates --git
7 > qnew = --date '0 0'
7 > qnew = --date '0 0'
8 > [shelve]
8 > [shelve]
9 > maxbackups = 2
9 > maxbackups = 2
10 > EOF
10 > EOF
11
11
12 $ hg init repo
12 $ hg init repo
13 $ cd repo
13 $ cd repo
14 $ mkdir a b
14 $ mkdir a b
15 $ echo a > a/a
15 $ echo a > a/a
16 $ echo b > b/b
16 $ echo b > b/b
17 $ echo c > c
17 $ echo c > c
18 $ echo d > d
18 $ echo d > d
19 $ echo x > x
19 $ echo x > x
20 $ hg addremove -q
20 $ hg addremove -q
21
21
22 shelve has a help message
22 shelve has a help message
23 $ hg shelve -h
23 $ hg shelve -h
24 hg shelve [OPTION]... [FILE]...
24 hg shelve [OPTION]... [FILE]...
25
25
26 save and set aside changes from the working directory
26 save and set aside changes from the working directory
27
27
28 Shelving takes files that "hg status" reports as not clean, saves the
28 Shelving takes files that "hg status" reports as not clean, saves the
29 modifications to a bundle (a shelved change), and reverts the files so
29 modifications to a bundle (a shelved change), and reverts the files so
30 that their state in the working directory becomes clean.
30 that their state in the working directory becomes clean.
31
31
32 To restore these changes to the working directory, using "hg unshelve";
32 To restore these changes to the working directory, using "hg unshelve";
33 this will work even if you switch to a different commit.
33 this will work even if you switch to a different commit.
34
34
35 When no files are specified, "hg shelve" saves all not-clean files. If
35 When no files are specified, "hg shelve" saves all not-clean files. If
36 specific files or directories are named, only changes to those files are
36 specific files or directories are named, only changes to those files are
37 shelved.
37 shelved.
38
38
39 In bare shelve (when no files are specified, without interactive, include
39 In bare shelve (when no files are specified, without interactive, include
40 and exclude option), shelving remembers information if the working
40 and exclude option), shelving remembers information if the working
41 directory was on newly created branch, in other words working directory
41 directory was on newly created branch, in other words working directory
42 was on different branch than its first parent. In this situation
42 was on different branch than its first parent. In this situation
43 unshelving restores branch information to the working directory.
43 unshelving restores branch information to the working directory.
44
44
45 Each shelved change has a name that makes it easier to find later. The
45 Each shelved change has a name that makes it easier to find later. The
46 name of a shelved change defaults to being based on the active bookmark,
46 name of a shelved change defaults to being based on the active bookmark,
47 or if there is no active bookmark, the current named branch. To specify a
47 or if there is no active bookmark, the current named branch. To specify a
48 different name, use "--name".
48 different name, use "--name".
49
49
50 To see a list of existing shelved changes, use the "--list" option. For
50 To see a list of existing shelved changes, use the "--list" option. For
51 each shelved change, this will print its name, age, and description; use "
51 each shelved change, this will print its name, age, and description; use "
52 --patch" or "--stat" for more details.
52 --patch" or "--stat" for more details.
53
53
54 To delete specific shelved changes, use "--delete". To delete all shelved
54 To delete specific shelved changes, use "--delete". To delete all shelved
55 changes, use "--cleanup".
55 changes, use "--cleanup".
56
56
57 (use 'hg help -e shelve' to show help for the shelve extension)
57 (use 'hg help -e shelve' to show help for the shelve extension)
58
58
59 options ([+] can be repeated):
59 options ([+] can be repeated):
60
60
61 -A --addremove mark new/missing files as added/removed before
61 -A --addremove mark new/missing files as added/removed before
62 shelving
62 shelving
63 -u --unknown store unknown files in the shelve
63 -u --unknown store unknown files in the shelve
64 --cleanup delete all shelved changes
64 --cleanup delete all shelved changes
65 --date DATE shelve with the specified commit date
65 --date DATE shelve with the specified commit date
66 -d --delete delete the named shelved change(s)
66 -d --delete delete the named shelved change(s)
67 -e --edit invoke editor on commit messages
67 -e --edit invoke editor on commit messages
68 -l --list list current shelves
68 -l --list list current shelves
69 -m --message TEXT use text as shelve message
69 -m --message TEXT use text as shelve message
70 -n --name NAME use the given name for the shelved commit
70 -n --name NAME use the given name for the shelved commit
71 -p --patch show patch
71 -p --patch show patch
72 -i --interactive interactive mode, only works while creating a shelve
72 -i --interactive interactive mode, only works while creating a shelve
73 --stat output diffstat-style summary of changes
73 --stat output diffstat-style summary of changes
74 -I --include PATTERN [+] include names matching the given patterns
74 -I --include PATTERN [+] include names matching the given patterns
75 -X --exclude PATTERN [+] exclude names matching the given patterns
75 -X --exclude PATTERN [+] exclude names matching the given patterns
76 --mq operate on patch repository
76 --mq operate on patch repository
77
77
78 (some details hidden, use --verbose to show complete help)
78 (some details hidden, use --verbose to show complete help)
79
79
80 shelving in an empty repo should be possible
80 shelving in an empty repo should be possible
81 (this tests also that editor is not invoked, if '--edit' is not
81 (this tests also that editor is not invoked, if '--edit' is not
82 specified)
82 specified)
83
83
84 $ HGEDITOR=cat hg shelve
84 $ HGEDITOR=cat hg shelve
85 shelved as default
85 shelved as default
86 0 files updated, 0 files merged, 5 files removed, 0 files unresolved
86 0 files updated, 0 files merged, 5 files removed, 0 files unresolved
87
87
88 $ hg unshelve
88 $ hg unshelve
89 unshelving change 'default'
89 unshelving change 'default'
90
90
91 $ hg commit -q -m 'initial commit'
91 $ hg commit -q -m 'initial commit'
92
92
93 $ hg shelve
93 $ hg shelve
94 nothing changed
94 nothing changed
95 [1]
95 [1]
96
96
97 make sure shelve files were backed up
97 make sure shelve files were backed up
98
98
99 $ ls .hg/shelve-backup
99 $ ls .hg/shelve-backup
100 default.hg
100 default.hg
101 default.patch
101 default.patch
102
102
103 checks to make sure we dont create a directory or
103 checks to make sure we dont create a directory or
104 hidden file while choosing a new shelve name
104 hidden file while choosing a new shelve name
105
105
106 when we are given a name
106 when we are given a name
107
107
108 $ hg shelve -n foo/bar
108 $ hg shelve -n foo/bar
109 abort: shelved change names can not contain slashes
109 abort: shelved change names can not contain slashes
110 [255]
110 [255]
111 $ hg shelve -n .baz
111 $ hg shelve -n .baz
112 abort: shelved change names can not start with '.'
112 abort: shelved change names can not start with '.'
113 [255]
113 [255]
114 $ hg shelve -n foo\\bar
114 $ hg shelve -n foo\\bar
115 abort: shelved change names can not contain slashes
115 abort: shelved change names can not contain slashes
116 [255]
116 [255]
117
117
118 when shelve has to choose itself
118 when shelve has to choose itself
119
119
120 $ hg branch x/y -q
120 $ hg branch x/y -q
121 $ hg commit -q -m "Branch commit 0"
121 $ hg commit -q -m "Branch commit 0"
122 $ hg shelve
122 $ hg shelve
123 nothing changed
123 nothing changed
124 [1]
124 [1]
125 $ hg branch .x -q
125 $ hg branch .x -q
126 $ hg commit -q -m "Branch commit 1"
126 $ hg commit -q -m "Branch commit 1"
127 $ hg shelve
127 $ hg shelve
128 nothing changed
128 nothing changed
129 [1]
129 [1]
130 $ hg branch x\\y -q
130 $ hg branch x\\y -q
131 $ hg commit -q -m "Branch commit 2"
131 $ hg commit -q -m "Branch commit 2"
132 $ hg shelve
132 $ hg shelve
133 nothing changed
133 nothing changed
134 [1]
134 [1]
135
135
136 cleaning the branches made for name checking tests
136 cleaning the branches made for name checking tests
137
137
138 $ hg up default -q
138 $ hg up default -q
139 $ hg strip 3 -q
139 $ hg strip 3 -q
140 $ hg strip 2 -q
140 $ hg strip 2 -q
141 $ hg strip 1 -q
141 $ hg strip 1 -q
142
142
143 create an mq patch - shelving should work fine with a patch applied
143 create an mq patch - shelving should work fine with a patch applied
144
144
145 $ echo n > n
145 $ echo n > n
146 $ hg add n
146 $ hg add n
147 $ hg commit n -m second
147 $ hg commit n -m second
148 $ hg qnew second.patch
148 $ hg qnew second.patch
149
149
150 shelve a change that we will delete later
150 shelve a change that we will delete later
151
151
152 $ echo a >> a/a
152 $ echo a >> a/a
153 $ hg shelve
153 $ hg shelve
154 shelved as default
154 shelved as default
155 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
155 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
156
156
157 set up some more complex changes to shelve
157 set up some more complex changes to shelve
158
158
159 $ echo a >> a/a
159 $ echo a >> a/a
160 $ hg mv b b.rename
160 $ hg mv b b.rename
161 moving b/b to b.rename/b
161 moving b/b to b.rename/b
162 $ hg cp c c.copy
162 $ hg cp c c.copy
163 $ hg status -C
163 $ hg status -C
164 M a/a
164 M a/a
165 A b.rename/b
165 A b.rename/b
166 b/b
166 b/b
167 A c.copy
167 A c.copy
168 c
168 c
169 R b/b
169 R b/b
170
170
171 the common case - no options or filenames
171 the common case - no options or filenames
172
172
173 $ hg shelve
173 $ hg shelve
174 shelved as default-01
174 shelved as default-01
175 2 files updated, 0 files merged, 2 files removed, 0 files unresolved
175 2 files updated, 0 files merged, 2 files removed, 0 files unresolved
176 $ hg status -C
176 $ hg status -C
177
177
178 ensure that our shelved changes exist
178 ensure that our shelved changes exist
179
179
180 $ hg shelve -l
180 $ hg shelve -l
181 default-01 (*)* changes to: [mq]: second.patch (glob)
181 default-01 (*)* changes to: [mq]: second.patch (glob)
182 default (*)* changes to: [mq]: second.patch (glob)
182 default (*)* changes to: [mq]: second.patch (glob)
183
183
184 $ hg shelve -l -p default
184 $ hg shelve -l -p default
185 default (*)* changes to: [mq]: second.patch (glob)
185 default (*)* changes to: [mq]: second.patch (glob)
186
186
187 diff --git a/a/a b/a/a
187 diff --git a/a/a b/a/a
188 --- a/a/a
188 --- a/a/a
189 +++ b/a/a
189 +++ b/a/a
190 @@ -1,1 +1,2 @@
190 @@ -1,1 +1,2 @@
191 a
191 a
192 +a
192 +a
193
193
194 $ hg shelve --list --addremove
194 $ hg shelve --list --addremove
195 abort: options '--list' and '--addremove' may not be used together
195 abort: options '--list' and '--addremove' may not be used together
196 [255]
196 [255]
197
197
198 delete our older shelved change
198 delete our older shelved change
199
199
200 $ hg shelve -d default
200 $ hg shelve -d default
201 $ hg qfinish -a -q
201 $ hg qfinish -a -q
202
202
203 ensure shelve backups aren't overwritten
203 ensure shelve backups aren't overwritten
204
204
205 $ ls .hg/shelve-backup/
205 $ ls .hg/shelve-backup/
206 default-1.hg
206 default-1.hg
207 default-1.patch
207 default-1.patch
208 default.hg
208 default.hg
209 default.patch
209 default.patch
210
210
211 local edits should not prevent a shelved change from applying
211 local edits should not prevent a shelved change from applying
212
212
213 $ printf "z\na\n" > a/a
213 $ printf "z\na\n" > a/a
214 $ hg unshelve --keep
214 $ hg unshelve --keep
215 unshelving change 'default-01'
215 unshelving change 'default-01'
216 temporarily committing pending changes (restore with 'hg unshelve --abort')
216 temporarily committing pending changes (restore with 'hg unshelve --abort')
217 rebasing shelved changes
217 rebasing shelved changes
218 rebasing 4:32c69314e062 "changes to: [mq]: second.patch" (tip)
218 rebasing 4:32c69314e062 "changes to: [mq]: second.patch" (tip)
219 merging a/a
219 merging a/a
220
220
221 $ hg revert --all -q
221 $ hg revert --all -q
222 $ rm a/a.orig b.rename/b c.copy
222 $ rm a/a.orig b.rename/b c.copy
223
223
224 apply it and make sure our state is as expected
224 apply it and make sure our state is as expected
225
225
226 (this also tests that same timestamp prevents backups from being
226 (this also tests that same timestamp prevents backups from being
227 removed, even though there are more than 'maxbackups' backups)
227 removed, even though there are more than 'maxbackups' backups)
228
228
229 $ f -t .hg/shelve-backup/default.patch
229 $ f -t .hg/shelve-backup/default.patch
230 .hg/shelve-backup/default.patch: file
230 .hg/shelve-backup/default.patch: file
231 $ touch -t 200001010000 .hg/shelve-backup/default.patch
231 $ touch -t 200001010000 .hg/shelve-backup/default.patch
232 $ f -t .hg/shelve-backup/default-1.patch
232 $ f -t .hg/shelve-backup/default-1.patch
233 .hg/shelve-backup/default-1.patch: file
233 .hg/shelve-backup/default-1.patch: file
234 $ touch -t 200001010000 .hg/shelve-backup/default-1.patch
234 $ touch -t 200001010000 .hg/shelve-backup/default-1.patch
235
235
236 $ hg unshelve
236 $ hg unshelve
237 unshelving change 'default-01'
237 unshelving change 'default-01'
238 $ hg status -C
238 $ hg status -C
239 M a/a
239 M a/a
240 A b.rename/b
240 A b.rename/b
241 b/b
241 b/b
242 A c.copy
242 A c.copy
243 c
243 c
244 R b/b
244 R b/b
245 $ hg shelve -l
245 $ hg shelve -l
246
246
247 (both of default.hg and default-1.hg should be still kept, because it
247 (both of default.hg and default-1.hg should be still kept, because it
248 is difficult to decide actual order of them from same timestamp)
248 is difficult to decide actual order of them from same timestamp)
249
249
250 $ ls .hg/shelve-backup/
250 $ ls .hg/shelve-backup/
251 default-01.hg
251 default-01.hg
252 default-01.patch
252 default-01.patch
253 default-1.hg
253 default-1.hg
254 default-1.patch
254 default-1.patch
255 default.hg
255 default.hg
256 default.patch
256 default.patch
257
257
258 $ hg unshelve
258 $ hg unshelve
259 abort: no shelved changes to apply!
259 abort: no shelved changes to apply!
260 [255]
260 [255]
261 $ hg unshelve foo
261 $ hg unshelve foo
262 abort: shelved change 'foo' not found
262 abort: shelved change 'foo' not found
263 [255]
263 [255]
264
264
265 named shelves, specific filenames, and "commit messages" should all work
265 named shelves, specific filenames, and "commit messages" should all work
266 (this tests also that editor is invoked, if '--edit' is specified)
266 (this tests also that editor is invoked, if '--edit' is specified)
267
267
268 $ hg status -C
268 $ hg status -C
269 M a/a
269 M a/a
270 A b.rename/b
270 A b.rename/b
271 b/b
271 b/b
272 A c.copy
272 A c.copy
273 c
273 c
274 R b/b
274 R b/b
275 $ HGEDITOR=cat hg shelve -q -n wibble -m wat -e a
275 $ HGEDITOR=cat hg shelve -q -n wibble -m wat -e a
276 wat
276 wat
277
277
278
278
279 HG: Enter commit message. Lines beginning with 'HG:' are removed.
279 HG: Enter commit message. Lines beginning with 'HG:' are removed.
280 HG: Leave message empty to abort commit.
280 HG: Leave message empty to abort commit.
281 HG: --
281 HG: --
282 HG: user: shelve@localhost
282 HG: user: shelve@localhost
283 HG: branch 'default'
283 HG: branch 'default'
284 HG: changed a/a
284 HG: changed a/a
285
285
286 expect "a" to no longer be present, but status otherwise unchanged
286 expect "a" to no longer be present, but status otherwise unchanged
287
287
288 $ hg status -C
288 $ hg status -C
289 A b.rename/b
289 A b.rename/b
290 b/b
290 b/b
291 A c.copy
291 A c.copy
292 c
292 c
293 R b/b
293 R b/b
294 $ hg shelve -l --stat
294 $ hg shelve -l --stat
295 wibble (*) wat (glob)
295 wibble (*) wat (glob)
296 a/a | 1 +
296 a/a | 1 +
297 1 files changed, 1 insertions(+), 0 deletions(-)
297 1 files changed, 1 insertions(+), 0 deletions(-)
298
298
299 and now "a/a" should reappear
299 and now "a/a" should reappear
300
300
301 $ cd a
301 $ cd a
302 $ hg unshelve -q wibble
302 $ hg unshelve -q wibble
303 $ cd ..
303 $ cd ..
304 $ hg status -C
304 $ hg status -C
305 M a/a
305 M a/a
306 A b.rename/b
306 A b.rename/b
307 b/b
307 b/b
308 A c.copy
308 A c.copy
309 c
309 c
310 R b/b
310 R b/b
311
311
312 ensure old shelve backups are being deleted automatically
312 ensure old shelve backups are being deleted automatically
313
313
314 $ ls .hg/shelve-backup/
314 $ ls .hg/shelve-backup/
315 default-01.hg
315 default-01.hg
316 default-01.patch
316 default-01.patch
317 wibble.hg
317 wibble.hg
318 wibble.patch
318 wibble.patch
319
319
320 cause unshelving to result in a merge with 'a' conflicting
320 cause unshelving to result in a merge with 'a' conflicting
321
321
322 $ hg shelve -q
322 $ hg shelve -q
323 $ echo c>>a/a
323 $ echo c>>a/a
324 $ hg commit -m second
324 $ hg commit -m second
325 $ hg tip --template '{files}\n'
325 $ hg tip --template '{files}\n'
326 a/a
326 a/a
327
327
328 add an unrelated change that should be preserved
328 add an unrelated change that should be preserved
329
329
330 $ mkdir foo
330 $ mkdir foo
331 $ echo foo > foo/foo
331 $ echo foo > foo/foo
332 $ hg add foo/foo
332 $ hg add foo/foo
333
333
334 force a conflicted merge to occur
334 force a conflicted merge to occur
335
335
336 $ hg unshelve
336 $ hg unshelve
337 unshelving change 'default'
337 unshelving change 'default'
338 temporarily committing pending changes (restore with 'hg unshelve --abort')
338 temporarily committing pending changes (restore with 'hg unshelve --abort')
339 rebasing shelved changes
339 rebasing shelved changes
340 rebasing 5:32c69314e062 "changes to: [mq]: second.patch" (tip)
340 rebasing 5:32c69314e062 "changes to: [mq]: second.patch" (tip)
341 merging a/a
341 merging a/a
342 warning: conflicts while merging a/a! (edit, then use 'hg resolve --mark')
342 warning: conflicts while merging a/a! (edit, then use 'hg resolve --mark')
343 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
343 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
344 [1]
344 [1]
345 $ hg status -v
345 $ hg status -v
346 M a/a
346 M a/a
347 M b.rename/b
347 M b.rename/b
348 M c.copy
348 M c.copy
349 R b/b
349 R b/b
350 ? a/a.orig
350 ? a/a.orig
351 # The repository is in an unfinished *unshelve* state.
351 # The repository is in an unfinished *unshelve* state.
352
352
353 # Unresolved merge conflicts:
353 # Unresolved merge conflicts:
354 #
354 #
355 # a/a
355 # a/a
356 #
356 #
357 # To mark files as resolved: hg resolve --mark FILE
357 # To mark files as resolved: hg resolve --mark FILE
358
358
359 # To continue: hg unshelve --continue
359 # To continue: hg unshelve --continue
360 # To abort: hg unshelve --abort
360 # To abort: hg unshelve --abort
361
361
362
362
363 ensure that we have a merge with unresolved conflicts
363 ensure that we have a merge with unresolved conflicts
364
364
365 $ hg heads -q --template '{rev}\n'
365 $ hg heads -q --template '{rev}\n'
366 5
366 5
367 4
367 4
368 $ hg parents -q --template '{rev}\n'
368 $ hg parents -q --template '{rev}\n'
369 4
369 4
370 5
370 5
371 $ hg status
371 $ hg status
372 M a/a
372 M a/a
373 M b.rename/b
373 M b.rename/b
374 M c.copy
374 M c.copy
375 R b/b
375 R b/b
376 ? a/a.orig
376 ? a/a.orig
377 $ hg diff
377 $ hg diff
378 diff --git a/a/a b/a/a
378 diff --git a/a/a b/a/a
379 --- a/a/a
379 --- a/a/a
380 +++ b/a/a
380 +++ b/a/a
381 @@ -1,2 +1,6 @@
381 @@ -1,2 +1,6 @@
382 a
382 a
383 +<<<<<<< dest: * - shelve: pending changes temporary commit (glob)
383 +<<<<<<< dest: * - shelve: pending changes temporary commit (glob)
384 c
384 c
385 +=======
385 +=======
386 +a
386 +a
387 +>>>>>>> source: 32c69314e062 - shelve: changes to: [mq]: second.patch
387 +>>>>>>> source: 32c69314e062 - shelve: changes to: [mq]: second.patch
388 diff --git a/b/b b/b.rename/b
388 diff --git a/b/b b/b.rename/b
389 rename from b/b
389 rename from b/b
390 rename to b.rename/b
390 rename to b.rename/b
391 diff --git a/c b/c.copy
391 diff --git a/c b/c.copy
392 copy from c
392 copy from c
393 copy to c.copy
393 copy to c.copy
394 $ hg resolve -l
394 $ hg resolve -l
395 U a/a
395 U a/a
396
396
397 $ hg shelve
397 $ hg shelve
398 abort: unshelve already in progress
398 abort: unshelve already in progress
399 (use 'hg unshelve --continue' or 'hg unshelve --abort')
399 (use 'hg unshelve --continue' or 'hg unshelve --abort')
400 [255]
400 [255]
401
401
402 abort the unshelve and be happy
402 abort the unshelve and be happy
403
403
404 $ hg status
404 $ hg status
405 M a/a
405 M a/a
406 M b.rename/b
406 M b.rename/b
407 M c.copy
407 M c.copy
408 R b/b
408 R b/b
409 ? a/a.orig
409 ? a/a.orig
410 $ hg unshelve -a
410 $ hg unshelve -a
411 rebase aborted
411 rebase aborted
412 unshelve of 'default' aborted
412 unshelve of 'default' aborted
413 $ hg heads -q
413 $ hg heads -q
414 3:2e69b451d1ea
414 3:2e69b451d1ea
415 $ hg parents
415 $ hg parents
416 changeset: 3:2e69b451d1ea
416 changeset: 3:2e69b451d1ea
417 tag: tip
417 tag: tip
418 user: test
418 user: test
419 date: Thu Jan 01 00:00:00 1970 +0000
419 date: Thu Jan 01 00:00:00 1970 +0000
420 summary: second
420 summary: second
421
421
422 $ hg resolve -l
422 $ hg resolve -l
423 $ hg status
423 $ hg status
424 A foo/foo
424 A foo/foo
425 ? a/a.orig
425 ? a/a.orig
426
426
427 try to continue with no unshelve underway
427 try to continue with no unshelve underway
428
428
429 $ hg unshelve -c
429 $ hg unshelve -c
430 abort: no unshelve in progress
430 abort: no unshelve in progress
431 [255]
431 [255]
432 $ hg status
432 $ hg status
433 A foo/foo
433 A foo/foo
434 ? a/a.orig
434 ? a/a.orig
435
435
436 redo the unshelve to get a conflict
436 redo the unshelve to get a conflict
437
437
438 $ hg unshelve -q
438 $ hg unshelve -q
439 warning: conflicts while merging a/a! (edit, then use 'hg resolve --mark')
439 warning: conflicts while merging a/a! (edit, then use 'hg resolve --mark')
440 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
440 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
441 [1]
441 [1]
442
442
443 attempt to continue
443 attempt to continue
444
444
445 $ hg unshelve -c
445 $ hg unshelve -c
446 abort: unresolved conflicts, can't continue
446 abort: unresolved conflicts, can't continue
447 (see 'hg resolve', then 'hg unshelve --continue')
447 (see 'hg resolve', then 'hg unshelve --continue')
448 [255]
448 [255]
449
449
450 $ hg revert -r . a/a
450 $ hg revert -r . a/a
451 $ hg resolve -m a/a
451 $ hg resolve -m a/a
452 (no more unresolved files)
452 (no more unresolved files)
453 continue: hg unshelve --continue
453 continue: hg unshelve --continue
454
454
455 $ hg commit -m 'commit while unshelve in progress'
455 $ hg commit -m 'commit while unshelve in progress'
456 abort: unshelve already in progress
456 abort: unshelve already in progress
457 (use 'hg unshelve --continue' or 'hg unshelve --abort')
457 (use 'hg unshelve --continue' or 'hg unshelve --abort')
458 [255]
458 [255]
459
459
460 $ hg graft --continue
460 $ hg graft --continue
461 abort: no graft in progress
461 abort: no graft in progress
462 (continue: hg unshelve --continue)
462 (continue: hg unshelve --continue)
463 [255]
463 [255]
464 $ hg unshelve -c
464 $ hg unshelve -c
465 rebasing 5:32c69314e062 "changes to: [mq]: second.patch" (tip)
465 rebasing 5:32c69314e062 "changes to: [mq]: second.patch" (tip)
466 unshelve of 'default' complete
466 unshelve of 'default' complete
467
467
468 ensure the repo is as we hope
468 ensure the repo is as we hope
469
469
470 $ hg parents
470 $ hg parents
471 changeset: 3:2e69b451d1ea
471 changeset: 3:2e69b451d1ea
472 tag: tip
472 tag: tip
473 user: test
473 user: test
474 date: Thu Jan 01 00:00:00 1970 +0000
474 date: Thu Jan 01 00:00:00 1970 +0000
475 summary: second
475 summary: second
476
476
477 $ hg heads -q
477 $ hg heads -q
478 3:2e69b451d1ea
478 3:2e69b451d1ea
479
479
480 $ hg status -C
480 $ hg status -C
481 A b.rename/b
481 A b.rename/b
482 b/b
482 b/b
483 A c.copy
483 A c.copy
484 c
484 c
485 A foo/foo
485 A foo/foo
486 R b/b
486 R b/b
487 ? a/a.orig
487 ? a/a.orig
488
488
489 there should be no shelves left
489 there should be no shelves left
490
490
491 $ hg shelve -l
491 $ hg shelve -l
492
492
493 #if execbit
493 #if execbit
494
494
495 ensure that metadata-only changes are shelved
495 ensure that metadata-only changes are shelved
496
496
497 $ chmod +x a/a
497 $ chmod +x a/a
498 $ hg shelve -q -n execbit a/a
498 $ hg shelve -q -n execbit a/a
499 $ hg status a/a
499 $ hg status a/a
500 $ hg unshelve -q execbit
500 $ hg unshelve -q execbit
501 $ hg status a/a
501 $ hg status a/a
502 M a/a
502 M a/a
503 $ hg revert a/a
503 $ hg revert a/a
504
504
505 #endif
505 #endif
506
506
507 #if symlink
507 #if symlink
508
508
509 $ rm a/a
509 $ rm a/a
510 $ ln -s foo a/a
510 $ ln -s foo a/a
511 $ hg shelve -q -n symlink a/a
511 $ hg shelve -q -n symlink a/a
512 $ hg status a/a
512 $ hg status a/a
513 $ hg unshelve -q -n symlink
513 $ hg unshelve -q -n symlink
514 $ hg status a/a
514 $ hg status a/a
515 M a/a
515 M a/a
516 $ hg revert a/a
516 $ hg revert a/a
517
517
518 #endif
518 #endif
519
519
520 set up another conflict between a commit and a shelved change
520 set up another conflict between a commit and a shelved change
521
521
522 $ hg revert -q -C -a
522 $ hg revert -q -C -a
523 $ rm a/a.orig b.rename/b c.copy
523 $ rm a/a.orig b.rename/b c.copy
524 $ echo a >> a/a
524 $ echo a >> a/a
525 $ hg shelve -q
525 $ hg shelve -q
526 $ echo x >> a/a
526 $ echo x >> a/a
527 $ hg ci -m 'create conflict'
527 $ hg ci -m 'create conflict'
528 $ hg add foo/foo
528 $ hg add foo/foo
529
529
530 if we resolve a conflict while unshelving, the unshelve should succeed
530 if we resolve a conflict while unshelving, the unshelve should succeed
531
531
532 $ hg unshelve --tool :merge-other --keep
532 $ hg unshelve --tool :merge-other --keep
533 unshelving change 'default'
533 unshelving change 'default'
534 temporarily committing pending changes (restore with 'hg unshelve --abort')
534 temporarily committing pending changes (restore with 'hg unshelve --abort')
535 rebasing shelved changes
535 rebasing shelved changes
536 rebasing 6:2f694dd83a13 "changes to: second" (tip)
536 rebasing 6:2f694dd83a13 "changes to: second" (tip)
537 merging a/a
537 merging a/a
538 $ hg parents -q
538 $ hg parents -q
539 4:33f7f61e6c5e
539 4:33f7f61e6c5e
540 $ hg shelve -l
540 $ hg shelve -l
541 default (*)* changes to: second (glob)
541 default (*)* changes to: second (glob)
542 $ hg status
542 $ hg status
543 M a/a
543 M a/a
544 A foo/foo
544 A foo/foo
545 $ cat a/a
545 $ cat a/a
546 a
546 a
547 c
547 c
548 a
548 a
549 $ cat > a/a << EOF
549 $ cat > a/a << EOF
550 > a
550 > a
551 > c
551 > c
552 > x
552 > x
553 > EOF
553 > EOF
554
554
555 $ HGMERGE=true hg unshelve
555 $ HGMERGE=true hg unshelve
556 unshelving change 'default'
556 unshelving change 'default'
557 temporarily committing pending changes (restore with 'hg unshelve --abort')
557 temporarily committing pending changes (restore with 'hg unshelve --abort')
558 rebasing shelved changes
558 rebasing shelved changes
559 rebasing 6:2f694dd83a13 "changes to: second" (tip)
559 rebasing 6:2f694dd83a13 "changes to: second" (tip)
560 merging a/a
560 merging a/a
561 note: rebase of 6:2f694dd83a13 created no changes to commit
561 note: rebase of 6:2f694dd83a13 created no changes to commit
562 $ hg parents -q
562 $ hg parents -q
563 4:33f7f61e6c5e
563 4:33f7f61e6c5e
564 $ hg shelve -l
564 $ hg shelve -l
565 $ hg status
565 $ hg status
566 A foo/foo
566 A foo/foo
567 $ cat a/a
567 $ cat a/a
568 a
568 a
569 c
569 c
570 x
570 x
571
571
572 test keep and cleanup
572 test keep and cleanup
573
573
574 $ hg shelve
574 $ hg shelve
575 shelved as default
575 shelved as default
576 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
576 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
577 $ hg shelve --list
577 $ hg shelve --list
578 default (*)* changes to: create conflict (glob)
578 default (*)* changes to: create conflict (glob)
579 $ hg unshelve -k
579 $ hg unshelve -k
580 unshelving change 'default'
580 unshelving change 'default'
581 $ hg shelve --list
581 $ hg shelve --list
582 default (*)* changes to: create conflict (glob)
582 default (*)* changes to: create conflict (glob)
583 $ hg shelve --cleanup
583 $ hg shelve --cleanup
584 $ hg shelve --list
584 $ hg shelve --list
585
585
586 $ hg shelve --cleanup --delete
586 $ hg shelve --cleanup --delete
587 abort: options '--cleanup' and '--delete' may not be used together
587 abort: options '--cleanup' and '--delete' may not be used together
588 [255]
588 [255]
589 $ hg shelve --cleanup --patch
589 $ hg shelve --cleanup --patch
590 abort: options '--cleanup' and '--patch' may not be used together
590 abort: options '--cleanup' and '--patch' may not be used together
591 [255]
591 [255]
592 $ hg shelve --cleanup --message MESSAGE
592 $ hg shelve --cleanup --message MESSAGE
593 abort: options '--cleanup' and '--message' may not be used together
593 abort: options '--cleanup' and '--message' may not be used together
594 [255]
594 [255]
595
595
596 test bookmarks
596 test bookmarks
597
597
598 $ hg bookmark test
598 $ hg bookmark test
599 $ hg bookmark
599 $ hg bookmark
600 * test 4:33f7f61e6c5e
600 * test 4:33f7f61e6c5e
601 $ hg shelve
601 $ hg shelve
602 shelved as test
602 shelved as test
603 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
603 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
604 $ hg bookmark
604 $ hg bookmark
605 * test 4:33f7f61e6c5e
605 * test 4:33f7f61e6c5e
606 $ hg unshelve
606 $ hg unshelve
607 unshelving change 'test'
607 unshelving change 'test'
608 $ hg bookmark
608 $ hg bookmark
609 * test 4:33f7f61e6c5e
609 * test 4:33f7f61e6c5e
610
610
611 shelve should still work even if mq is disabled
611 shelve should still work even if mq is disabled
612
612
613 $ hg --config extensions.mq=! shelve
613 $ hg --config extensions.mq=! shelve
614 shelved as test
614 shelved as test
615 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
615 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
616 $ hg --config extensions.mq=! shelve --list
616 $ hg --config extensions.mq=! shelve --list
617 test (*)* changes to: create conflict (glob)
617 test (*)* changes to: create conflict (glob)
618 $ hg bookmark
618 $ hg bookmark
619 * test 4:33f7f61e6c5e
619 * test 4:33f7f61e6c5e
620 $ hg --config extensions.mq=! unshelve
620 $ hg --config extensions.mq=! unshelve
621 unshelving change 'test'
621 unshelving change 'test'
622 $ hg bookmark
622 $ hg bookmark
623 * test 4:33f7f61e6c5e
623 * test 4:33f7f61e6c5e
624
624
625 shelve should leave dirstate clean (issue4055)
625 shelve should leave dirstate clean (issue4055)
626
626
627 $ cd ..
627 $ cd ..
628 $ hg init shelverebase
628 $ hg init shelverebase
629 $ cd shelverebase
629 $ cd shelverebase
630 $ printf 'x\ny\n' > x
630 $ printf 'x\ny\n' > x
631 $ echo z > z
631 $ echo z > z
632 $ hg commit -Aqm xy
632 $ hg commit -Aqm xy
633 $ echo z >> x
633 $ echo z >> x
634 $ hg commit -Aqm z
634 $ hg commit -Aqm z
635 $ hg up 0
635 $ hg up 0
636 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
636 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
637 $ printf 'a\nx\ny\nz\n' > x
637 $ printf 'a\nx\ny\nz\n' > x
638 $ hg commit -Aqm xyz
638 $ hg commit -Aqm xyz
639 $ echo c >> z
639 $ echo c >> z
640 $ hg shelve
640 $ hg shelve
641 shelved as default
641 shelved as default
642 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
642 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
643 $ hg rebase -d 1 --config extensions.rebase=
643 $ hg rebase -d 1 --config extensions.rebase=
644 rebasing 2:323bfa07f744 "xyz" (tip)
644 rebasing 2:323bfa07f744 "xyz" (tip)
645 merging x
645 merging x
646 saved backup bundle to $TESTTMP/shelverebase/.hg/strip-backup/323bfa07f744-78114325-rebase.hg
646 saved backup bundle to $TESTTMP/shelverebase/.hg/strip-backup/323bfa07f744-78114325-rebase.hg
647 $ hg unshelve
647 $ hg unshelve
648 unshelving change 'default'
648 unshelving change 'default'
649 rebasing shelved changes
649 rebasing shelved changes
650 rebasing 4:82a0d7d6ba61 "changes to: xyz" (tip)
650 rebasing 4:82a0d7d6ba61 "changes to: xyz" (tip)
651 $ hg status
651 $ hg status
652 M z
652 M z
653
653
654 $ cd ..
654 $ cd ..
655
655
656 shelve should only unshelve pending changes (issue4068)
656 shelve should only unshelve pending changes (issue4068)
657
657
658 $ hg init onlypendingchanges
658 $ hg init onlypendingchanges
659 $ cd onlypendingchanges
659 $ cd onlypendingchanges
660 $ touch a
660 $ touch a
661 $ hg ci -Aqm a
661 $ hg ci -Aqm a
662 $ touch b
662 $ touch b
663 $ hg ci -Aqm b
663 $ hg ci -Aqm b
664 $ hg up -q 0
664 $ hg up -q 0
665 $ touch c
665 $ touch c
666 $ hg ci -Aqm c
666 $ hg ci -Aqm c
667
667
668 $ touch d
668 $ touch d
669 $ hg add d
669 $ hg add d
670 $ hg shelve
670 $ hg shelve
671 shelved as default
671 shelved as default
672 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
672 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
673 $ hg up -q 1
673 $ hg up -q 1
674 $ hg unshelve
674 $ hg unshelve
675 unshelving change 'default'
675 unshelving change 'default'
676 rebasing shelved changes
676 rebasing shelved changes
677 rebasing 3:958bcbd1776e "changes to: c" (tip)
677 rebasing 3:958bcbd1776e "changes to: c" (tip)
678 $ hg status
678 $ hg status
679 A d
679 A d
680
680
681 unshelve should work on an ancestor of the original commit
681 unshelve should work on an ancestor of the original commit
682
682
683 $ hg shelve
683 $ hg shelve
684 shelved as default
684 shelved as default
685 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
685 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
686 $ hg up 0
686 $ hg up 0
687 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
687 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
688 $ hg unshelve
688 $ hg unshelve
689 unshelving change 'default'
689 unshelving change 'default'
690 rebasing shelved changes
690 rebasing shelved changes
691 rebasing 3:013284d9655e "changes to: b" (tip)
691 rebasing 3:013284d9655e "changes to: b" (tip)
692 $ hg status
692 $ hg status
693 A d
693 A d
694
694
695 test bug 4073 we need to enable obsolete markers for it
695 test bug 4073 we need to enable obsolete markers for it
696
696
697 $ cat >> $HGRCPATH << EOF
697 $ cat >> $HGRCPATH << EOF
698 > [experimental]
698 > [experimental]
699 > evolution.createmarkers=True
699 > evolution.createmarkers=True
700 > EOF
700 > EOF
701 $ hg shelve
701 $ hg shelve
702 shelved as default
702 shelved as default
703 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
703 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
704 $ hg debugobsolete `hg --debug id -i -r 1`
704 $ hg debugobsolete `hg --debug id -i -r 1`
705 obsoleted 1 changesets
705 obsoleted 1 changesets
706 $ hg unshelve
706 $ hg unshelve
707 unshelving change 'default'
707 unshelving change 'default'
708
708
709 unshelve should leave unknown files alone (issue4113)
709 unshelve should leave unknown files alone (issue4113)
710
710
711 $ echo e > e
711 $ echo e > e
712 $ hg shelve
712 $ hg shelve
713 shelved as default
713 shelved as default
714 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
714 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
715 $ hg status
715 $ hg status
716 ? e
716 ? e
717 $ hg unshelve
717 $ hg unshelve
718 unshelving change 'default'
718 unshelving change 'default'
719 $ hg status
719 $ hg status
720 A d
720 A d
721 ? e
721 ? e
722 $ cat e
722 $ cat e
723 e
723 e
724
724
725 unshelve should keep a copy of unknown files
725 unshelve should keep a copy of unknown files
726
726
727 $ hg add e
727 $ hg add e
728 $ hg shelve
728 $ hg shelve
729 shelved as default
729 shelved as default
730 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
730 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
731 $ echo z > e
731 $ echo z > e
732 $ hg unshelve
732 $ hg unshelve
733 unshelving change 'default'
733 unshelving change 'default'
734 $ cat e
734 $ cat e
735 e
735 e
736 $ cat e.orig
736 $ cat e.orig
737 z
737 z
738
738
739
739
740 unshelve and conflicts with tracked and untracked files
740 unshelve and conflicts with tracked and untracked files
741
741
742 preparing:
742 preparing:
743
743
744 $ rm *.orig
744 $ rm *.orig
745 $ hg ci -qm 'commit stuff'
745 $ hg ci -qm 'commit stuff'
746 $ hg phase -p null:
746 $ hg phase -p null:
747
747
748 no other changes - no merge:
748 no other changes - no merge:
749
749
750 $ echo f > f
750 $ echo f > f
751 $ hg add f
751 $ hg add f
752 $ hg shelve
752 $ hg shelve
753 shelved as default
753 shelved as default
754 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
754 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
755 $ echo g > f
755 $ echo g > f
756 $ hg unshelve
756 $ hg unshelve
757 unshelving change 'default'
757 unshelving change 'default'
758 $ hg st
758 $ hg st
759 A f
759 A f
760 ? f.orig
760 ? f.orig
761 $ cat f
761 $ cat f
762 f
762 f
763 $ cat f.orig
763 $ cat f.orig
764 g
764 g
765
765
766 other uncommitted changes - merge:
766 other uncommitted changes - merge:
767
767
768 $ hg st
768 $ hg st
769 A f
769 A f
770 ? f.orig
770 ? f.orig
771 $ hg shelve
771 $ hg shelve
772 shelved as default
772 shelved as default
773 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
773 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
774 #if repobundlerepo
774 #if repobundlerepo
775 $ hg log -G --template '{rev} {desc|firstline} {author}' -R bundle://.hg/shelved/default.hg -r 'bundle()'
775 $ hg log -G --template '{rev} {desc|firstline} {author}' -R bundle://.hg/shelved/default.hg -r 'bundle()'
776 o 4 changes to: commit stuff shelve@localhost
776 o 4 changes to: commit stuff shelve@localhost
777 |
777 |
778 ~
778 ~
779 #endif
779 #endif
780 $ hg log -G --template '{rev} {desc|firstline} {author}'
780 $ hg log -G --template '{rev} {desc|firstline} {author}'
781 @ 3 commit stuff test
781 @ 3 commit stuff test
782 |
782 |
783 | o 2 c test
783 | o 2 c test
784 |/
784 |/
785 o 0 a test
785 o 0 a test
786
786
787 $ mv f.orig f
787 $ mv f.orig f
788 $ echo 1 > a
788 $ echo 1 > a
789 $ hg unshelve --date '1073741824 0'
789 $ hg unshelve --date '1073741824 0'
790 unshelving change 'default'
790 unshelving change 'default'
791 temporarily committing pending changes (restore with 'hg unshelve --abort')
791 temporarily committing pending changes (restore with 'hg unshelve --abort')
792 rebasing shelved changes
792 rebasing shelved changes
793 rebasing 5:81152db69da7 "changes to: commit stuff" (tip)
793 rebasing 5:81152db69da7 "changes to: commit stuff" (tip)
794 merging f
794 merging f
795 warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
795 warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
796 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
796 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
797 [1]
797 [1]
798 $ hg log -G --template '{rev} {desc|firstline} {author} {date|isodate}'
798 $ hg log -G --template '{rev} {desc|firstline} {author} {date|isodate}'
799 @ 5 changes to: commit stuff shelve@localhost 1970-01-01 00:00 +0000
799 @ 5 changes to: commit stuff shelve@localhost 1970-01-01 00:00 +0000
800 |
800 |
801 | @ 4 pending changes temporary commit shelve@localhost 2004-01-10 13:37 +0000
801 | @ 4 pending changes temporary commit shelve@localhost 2004-01-10 13:37 +0000
802 |/
802 |/
803 o 3 commit stuff test 1970-01-01 00:00 +0000
803 o 3 commit stuff test 1970-01-01 00:00 +0000
804 |
804 |
805 | o 2 c test 1970-01-01 00:00 +0000
805 | o 2 c test 1970-01-01 00:00 +0000
806 |/
806 |/
807 o 0 a test 1970-01-01 00:00 +0000
807 o 0 a test 1970-01-01 00:00 +0000
808
808
809 $ hg st
809 $ hg st
810 M f
810 M f
811 ? f.orig
811 ? f.orig
812 $ cat f
812 $ cat f
813 <<<<<<< dest: 5f6b880e719b - shelve: pending changes temporary commit
813 <<<<<<< dest: 5f6b880e719b - shelve: pending changes temporary commit
814 g
814 g
815 =======
815 =======
816 f
816 f
817 >>>>>>> source: 81152db69da7 - shelve: changes to: commit stuff
817 >>>>>>> source: 81152db69da7 - shelve: changes to: commit stuff
818 $ cat f.orig
818 $ cat f.orig
819 g
819 g
820 $ hg unshelve --abort -t false
820 $ hg unshelve --abort -t false
821 tool option will be ignored
821 tool option will be ignored
822 rebase aborted
822 rebase aborted
823 unshelve of 'default' aborted
823 unshelve of 'default' aborted
824 $ hg st
824 $ hg st
825 M a
825 M a
826 ? f.orig
826 ? f.orig
827 $ cat f.orig
827 $ cat f.orig
828 g
828 g
829 $ hg unshelve
829 $ hg unshelve
830 unshelving change 'default'
830 unshelving change 'default'
831 temporarily committing pending changes (restore with 'hg unshelve --abort')
831 temporarily committing pending changes (restore with 'hg unshelve --abort')
832 rebasing shelved changes
832 rebasing shelved changes
833 rebasing 5:81152db69da7 "changes to: commit stuff" (tip)
833 rebasing 5:81152db69da7 "changes to: commit stuff" (tip)
834 $ hg st
834 $ hg st
835 M a
835 M a
836 A f
836 A f
837 ? f.orig
837 ? f.orig
838
838
839 other committed changes - merge:
839 other committed changes - merge:
840
840
841 $ hg shelve f
841 $ hg shelve f
842 shelved as default
842 shelved as default
843 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
843 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
844 $ hg ci a -m 'intermediate other change'
844 $ hg ci a -m 'intermediate other change'
845 $ mv f.orig f
845 $ mv f.orig f
846 $ hg unshelve
846 $ hg unshelve
847 unshelving change 'default'
847 unshelving change 'default'
848 rebasing shelved changes
848 rebasing shelved changes
849 rebasing 5:81152db69da7 "changes to: commit stuff" (tip)
849 rebasing 5:81152db69da7 "changes to: commit stuff" (tip)
850 merging f
850 merging f
851 warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
851 warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
852 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
852 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
853 [1]
853 [1]
854 $ hg st
854 $ hg st
855 M f
855 M f
856 ? f.orig
856 ? f.orig
857 $ cat f
857 $ cat f
858 <<<<<<< dest: * - test: intermediate other change (glob)
858 <<<<<<< dest: * - test: intermediate other change (glob)
859 g
859 g
860 =======
860 =======
861 f
861 f
862 >>>>>>> source: 81152db69da7 - shelve: changes to: commit stuff
862 >>>>>>> source: 81152db69da7 - shelve: changes to: commit stuff
863 $ cat f.orig
863 $ cat f.orig
864 g
864 g
865 $ hg unshelve --abort
865 $ hg unshelve --abort
866 rebase aborted
866 rebase aborted
867 unshelve of 'default' aborted
867 unshelve of 'default' aborted
868 $ hg st
868 $ hg st
869 ? f.orig
869 ? f.orig
870 $ cat f.orig
870 $ cat f.orig
871 g
871 g
872 $ hg shelve --delete default
872 $ hg shelve --delete default
873
873
874 Recreate some conflict again
874 Recreate some conflict again
875
875
876 $ cd ../repo
876 $ cd ../repo
877 $ hg up -C -r 3
877 $ hg up -C -r 3
878 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
878 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
879 (leaving bookmark test)
879 (leaving bookmark test)
880 $ echo y >> a/a
880 $ echo y >> a/a
881 $ hg shelve
881 $ hg shelve
882 shelved as default
882 shelved as default
883 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
883 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
884 $ hg up test
884 $ hg up test
885 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
885 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
886 (activating bookmark test)
886 (activating bookmark test)
887 $ hg bookmark
887 $ hg bookmark
888 * test 4:33f7f61e6c5e
888 * test 4:33f7f61e6c5e
889 $ hg unshelve
889 $ hg unshelve
890 unshelving change 'default'
890 unshelving change 'default'
891 rebasing shelved changes
891 rebasing shelved changes
892 rebasing 5:e42a7da90865 "changes to: second" (tip)
892 rebasing 5:e42a7da90865 "changes to: second" (tip)
893 merging a/a
893 merging a/a
894 warning: conflicts while merging a/a! (edit, then use 'hg resolve --mark')
894 warning: conflicts while merging a/a! (edit, then use 'hg resolve --mark')
895 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
895 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
896 [1]
896 [1]
897 $ hg bookmark
897 $ hg bookmark
898 test 4:33f7f61e6c5e
898 test 4:33f7f61e6c5e
899
899
900 Test that resolving all conflicts in one direction (so that the rebase
900 Test that resolving all conflicts in one direction (so that the rebase
901 is a no-op), works (issue4398)
901 is a no-op), works (issue4398)
902
902
903 $ hg revert -a -r .
903 $ hg revert -a -r .
904 reverting a/a
904 reverting a/a
905 $ hg resolve -m a/a
905 $ hg resolve -m a/a
906 (no more unresolved files)
906 (no more unresolved files)
907 continue: hg unshelve --continue
907 continue: hg unshelve --continue
908 $ hg unshelve -c
908 $ hg unshelve -c
909 rebasing 5:e42a7da90865 "changes to: second" (tip)
909 rebasing 5:e42a7da90865 "changes to: second" (tip)
910 note: rebase of 5:e42a7da90865 created no changes to commit
910 note: rebase of 5:e42a7da90865 created no changes to commit
911 unshelve of 'default' complete
911 unshelve of 'default' complete
912 $ hg bookmark
912 $ hg bookmark
913 * test 4:33f7f61e6c5e
913 * test 4:33f7f61e6c5e
914 $ hg diff
914 $ hg diff
915 $ hg status
915 $ hg status
916 ? a/a.orig
916 ? a/a.orig
917 ? foo/foo
917 ? foo/foo
918 $ hg summary
918 $ hg summary
919 parent: 4:33f7f61e6c5e tip
919 parent: 4:33f7f61e6c5e tip
920 create conflict
920 create conflict
921 branch: default
921 branch: default
922 bookmarks: *test
922 bookmarks: *test
923 commit: 2 unknown (clean)
923 commit: 2 unknown (clean)
924 update: (current)
924 update: (current)
925 phases: 5 draft
925 phases: 5 draft
926
926
927 $ hg shelve --delete --stat
927 $ hg shelve --delete --stat
928 abort: options '--delete' and '--stat' may not be used together
928 abort: options '--delete' and '--stat' may not be used together
929 [255]
929 [255]
930 $ hg shelve --delete --name NAME
930 $ hg shelve --delete --name NAME
931 abort: options '--delete' and '--name' may not be used together
931 abort: options '--delete' and '--name' may not be used together
932 [255]
932 [255]
933
933
934 Test interactive shelve
934 Test interactive shelve
935 $ cat <<EOF >> $HGRCPATH
935 $ cat <<EOF >> $HGRCPATH
936 > [ui]
936 > [ui]
937 > interactive = true
937 > interactive = true
938 > EOF
938 > EOF
939 $ echo 'a' >> a/b
939 $ echo 'a' >> a/b
940 $ cat a/a >> a/b
940 $ cat a/a >> a/b
941 $ echo 'x' >> a/b
941 $ echo 'x' >> a/b
942 $ mv a/b a/a
942 $ mv a/b a/a
943 $ echo 'a' >> foo/foo
943 $ echo 'a' >> foo/foo
944 $ hg st
944 $ hg st
945 M a/a
945 M a/a
946 ? a/a.orig
946 ? a/a.orig
947 ? foo/foo
947 ? foo/foo
948 $ cat a/a
948 $ cat a/a
949 a
949 a
950 a
950 a
951 c
951 c
952 x
952 x
953 x
953 x
954 $ cat foo/foo
954 $ cat foo/foo
955 foo
955 foo
956 a
956 a
957 $ hg shelve --interactive --config ui.interactive=false
957 $ hg shelve --interactive --config ui.interactive=false
958 abort: running non-interactively
958 abort: running non-interactively
959 [255]
959 [255]
960 $ hg shelve --interactive << EOF
960 $ hg shelve --interactive << EOF
961 > y
961 > y
962 > y
962 > y
963 > n
963 > n
964 > EOF
964 > EOF
965 diff --git a/a/a b/a/a
965 diff --git a/a/a b/a/a
966 2 hunks, 2 lines changed
966 2 hunks, 2 lines changed
967 examine changes to 'a/a'? [Ynesfdaq?] y
967 examine changes to 'a/a'? [Ynesfdaq?] y
968
968
969 @@ -1,3 +1,4 @@
969 @@ -1,3 +1,4 @@
970 +a
970 +a
971 a
971 a
972 c
972 c
973 x
973 x
974 record change 1/2 to 'a/a'? [Ynesfdaq?] y
974 record change 1/2 to 'a/a'? [Ynesfdaq?] y
975
975
976 @@ -1,3 +2,4 @@
976 @@ -1,3 +2,4 @@
977 a
977 a
978 c
978 c
979 x
979 x
980 +x
980 +x
981 record change 2/2 to 'a/a'? [Ynesfdaq?] n
981 record change 2/2 to 'a/a'? [Ynesfdaq?] n
982
982
983 shelved as test
983 shelved as test
984 merging a/a
984 merging a/a
985 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
985 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
986 $ cat a/a
986 $ cat a/a
987 a
987 a
988 c
988 c
989 x
989 x
990 x
990 x
991 $ cat foo/foo
991 $ cat foo/foo
992 foo
992 foo
993 a
993 a
994 $ hg st
994 $ hg st
995 M a/a
995 M a/a
996 ? foo/foo
996 ? foo/foo
997 $ hg bookmark
997 $ hg bookmark
998 * test 4:33f7f61e6c5e
998 * test 4:33f7f61e6c5e
999 $ hg unshelve
999 $ hg unshelve
1000 unshelving change 'test'
1000 unshelving change 'test'
1001 temporarily committing pending changes (restore with 'hg unshelve --abort')
1001 temporarily committing pending changes (restore with 'hg unshelve --abort')
1002 rebasing shelved changes
1002 rebasing shelved changes
1003 rebasing 6:96a1354f65f6 "changes to: create conflict" (tip)
1003 rebasing 6:96a1354f65f6 "changes to: create conflict" (tip)
1004 merging a/a
1004 merging a/a
1005 $ hg bookmark
1005 $ hg bookmark
1006 * test 4:33f7f61e6c5e
1006 * test 4:33f7f61e6c5e
1007 $ cat a/a
1007 $ cat a/a
1008 a
1008 a
1009 a
1009 a
1010 c
1010 c
1011 x
1011 x
1012 x
1012 x
1013
1013
1014 shelve --patch and shelve --stat should work with valid shelfnames
1014 shelve --patch and shelve --stat should work with valid shelfnames
1015
1015
1016 $ hg up --clean .
1016 $ hg up --clean .
1017 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1017 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1018 (leaving bookmark test)
1018 (leaving bookmark test)
1019 $ hg shelve --list
1019 $ hg shelve --list
1020 $ echo 'patch a' > shelf-patch-a
1020 $ echo 'patch a' > shelf-patch-a
1021 $ hg add shelf-patch-a
1021 $ hg add shelf-patch-a
1022 $ hg shelve
1022 $ hg shelve
1023 shelved as default
1023 shelved as default
1024 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1024 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1025 $ echo 'patch b' > shelf-patch-b
1025 $ echo 'patch b' > shelf-patch-b
1026 $ hg add shelf-patch-b
1026 $ hg add shelf-patch-b
1027 $ hg shelve
1027 $ hg shelve
1028 shelved as default-01
1028 shelved as default-01
1029 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1029 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1030 $ hg shelve --patch default default-01
1030 $ hg shelve --patch default default-01
1031 default-01 (*)* changes to: create conflict (glob)
1031 default-01 (*)* changes to: create conflict (glob)
1032
1032
1033 diff --git a/shelf-patch-b b/shelf-patch-b
1033 diff --git a/shelf-patch-b b/shelf-patch-b
1034 new file mode 100644
1034 new file mode 100644
1035 --- /dev/null
1035 --- /dev/null
1036 +++ b/shelf-patch-b
1036 +++ b/shelf-patch-b
1037 @@ -0,0 +1,1 @@
1037 @@ -0,0 +1,1 @@
1038 +patch b
1038 +patch b
1039 default (*)* changes to: create conflict (glob)
1039 default (*)* changes to: create conflict (glob)
1040
1040
1041 diff --git a/shelf-patch-a b/shelf-patch-a
1041 diff --git a/shelf-patch-a b/shelf-patch-a
1042 new file mode 100644
1042 new file mode 100644
1043 --- /dev/null
1043 --- /dev/null
1044 +++ b/shelf-patch-a
1044 +++ b/shelf-patch-a
1045 @@ -0,0 +1,1 @@
1045 @@ -0,0 +1,1 @@
1046 +patch a
1046 +patch a
1047 $ hg shelve --stat default default-01
1047 $ hg shelve --stat default default-01
1048 default-01 (*)* changes to: create conflict (glob)
1048 default-01 (*)* changes to: create conflict (glob)
1049 shelf-patch-b | 1 +
1049 shelf-patch-b | 1 +
1050 1 files changed, 1 insertions(+), 0 deletions(-)
1050 1 files changed, 1 insertions(+), 0 deletions(-)
1051 default (*)* changes to: create conflict (glob)
1051 default (*)* changes to: create conflict (glob)
1052 shelf-patch-a | 1 +
1052 shelf-patch-a | 1 +
1053 1 files changed, 1 insertions(+), 0 deletions(-)
1053 1 files changed, 1 insertions(+), 0 deletions(-)
1054 $ hg shelve --patch default
1054 $ hg shelve --patch default
1055 default (*)* changes to: create conflict (glob)
1055 default (*)* changes to: create conflict (glob)
1056
1056
1057 diff --git a/shelf-patch-a b/shelf-patch-a
1057 diff --git a/shelf-patch-a b/shelf-patch-a
1058 new file mode 100644
1058 new file mode 100644
1059 --- /dev/null
1059 --- /dev/null
1060 +++ b/shelf-patch-a
1060 +++ b/shelf-patch-a
1061 @@ -0,0 +1,1 @@
1061 @@ -0,0 +1,1 @@
1062 +patch a
1062 +patch a
1063 $ hg shelve --stat default
1063 $ hg shelve --stat default
1064 default (*)* changes to: create conflict (glob)
1064 default (*)* changes to: create conflict (glob)
1065 shelf-patch-a | 1 +
1065 shelf-patch-a | 1 +
1066 1 files changed, 1 insertions(+), 0 deletions(-)
1066 1 files changed, 1 insertions(+), 0 deletions(-)
1067 $ hg shelve --patch nonexistentshelf
1067 $ hg shelve --patch nonexistentshelf
1068 abort: cannot find shelf nonexistentshelf
1068 abort: cannot find shelf nonexistentshelf
1069 [255]
1069 [255]
1070 $ hg shelve --stat nonexistentshelf
1070 $ hg shelve --stat nonexistentshelf
1071 abort: cannot find shelf nonexistentshelf
1071 abort: cannot find shelf nonexistentshelf
1072 [255]
1072 [255]
1073 $ hg shelve --patch default nonexistentshelf
1073 $ hg shelve --patch default nonexistentshelf
1074 abort: cannot find shelf nonexistentshelf
1074 abort: cannot find shelf nonexistentshelf
1075 [255]
1075 [255]
1076 $ hg shelve --patch
1076 $ hg shelve --patch
1077 abort: --patch expects at least one shelf
1077 abort: --patch expects at least one shelf
1078 [255]
1078 [255]
1079
1079
1080 $ cd ..
1080 $ cd ..
1081
1081
1082 Shelve from general delta repo uses bundle2 on disk
1082 Shelve from general delta repo uses bundle2 on disk
1083 --------------------------------------------------
1083 --------------------------------------------------
1084
1084
1085 no general delta
1085 no general delta
1086
1086
1087 $ hg clone --pull repo bundle1 --config format.usegeneraldelta=0
1087 $ hg clone --pull repo bundle1 --config format.usegeneraldelta=0
1088 requesting all changes
1088 requesting all changes
1089 adding changesets
1089 adding changesets
1090 adding manifests
1090 adding manifests
1091 adding file changes
1091 adding file changes
1092 added 5 changesets with 8 changes to 6 files
1092 added 5 changesets with 8 changes to 6 files
1093 new changesets cc01e2b0c59f:33f7f61e6c5e
1093 new changesets cc01e2b0c59f:33f7f61e6c5e
1094 updating to branch default
1094 updating to branch default
1095 6 files updated, 0 files merged, 0 files removed, 0 files unresolved
1095 6 files updated, 0 files merged, 0 files removed, 0 files unresolved
1096 $ cd bundle1
1096 $ cd bundle1
1097 $ echo babar > jungle
1097 $ echo babar > jungle
1098 $ hg add jungle
1098 $ hg add jungle
1099 $ hg shelve
1099 $ hg shelve
1100 shelved as default
1100 shelved as default
1101 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1101 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1102 $ hg debugbundle .hg/shelved/*.hg
1102 $ hg debugbundle .hg/shelved/*.hg
1103 45993d65fe9dc3c6d8764b9c3b07fa831ee7d92d
1103 45993d65fe9dc3c6d8764b9c3b07fa831ee7d92d
1104 $ cd ..
1104 $ cd ..
1105
1105
1106 with general delta
1106 with general delta
1107
1107
1108 $ hg clone --pull repo bundle2 --config format.usegeneraldelta=1
1108 $ hg clone --pull repo bundle2 --config format.usegeneraldelta=1
1109 requesting all changes
1109 requesting all changes
1110 adding changesets
1110 adding changesets
1111 adding manifests
1111 adding manifests
1112 adding file changes
1112 adding file changes
1113 added 5 changesets with 8 changes to 6 files
1113 added 5 changesets with 8 changes to 6 files
1114 new changesets cc01e2b0c59f:33f7f61e6c5e
1114 new changesets cc01e2b0c59f:33f7f61e6c5e
1115 updating to branch default
1115 updating to branch default
1116 6 files updated, 0 files merged, 0 files removed, 0 files unresolved
1116 6 files updated, 0 files merged, 0 files removed, 0 files unresolved
1117 $ cd bundle2
1117 $ cd bundle2
1118 $ echo babar > jungle
1118 $ echo babar > jungle
1119 $ hg add jungle
1119 $ hg add jungle
1120 $ hg shelve
1120 $ hg shelve
1121 shelved as default
1121 shelved as default
1122 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1122 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1123 $ hg debugbundle .hg/shelved/*.hg
1123 $ hg debugbundle .hg/shelved/*.hg
1124 Stream params: {Compression: BZ}
1124 Stream params: {Compression: BZ}
1125 changegroup -- {nbchanges: 1, version: 02}
1125 changegroup -- {nbchanges: 1, version: 02}
1126 45993d65fe9dc3c6d8764b9c3b07fa831ee7d92d
1126 45993d65fe9dc3c6d8764b9c3b07fa831ee7d92d
1127 $ cd ..
1127 $ cd ..
1128
1128
1129 Test visibility of in-memory changes inside transaction to external hook
1129 Test visibility of in-memory changes inside transaction to external hook
1130 ------------------------------------------------------------------------
1130 ------------------------------------------------------------------------
1131
1131
1132 $ cd repo
1132 $ cd repo
1133
1133
1134 $ echo xxxx >> x
1134 $ echo xxxx >> x
1135 $ hg commit -m "#5: changes to invoke rebase"
1135 $ hg commit -m "#5: changes to invoke rebase"
1136
1136
1137 $ cat > $TESTTMP/checkvisibility.sh <<EOF
1137 $ cat > $TESTTMP/checkvisibility.sh <<EOF
1138 > echo "==== \$1:"
1138 > echo "==== \$1:"
1139 > hg parents --template "VISIBLE {rev}:{node|short}\n"
1139 > hg parents --template "VISIBLE {rev}:{node|short}\n"
1140 > # test that pending changes are hidden
1140 > # test that pending changes are hidden
1141 > unset HG_PENDING
1141 > unset HG_PENDING
1142 > hg parents --template "ACTUAL {rev}:{node|short}\n"
1142 > hg parents --template "ACTUAL {rev}:{node|short}\n"
1143 > echo "===="
1143 > echo "===="
1144 > EOF
1144 > EOF
1145
1145
1146 $ cat >> .hg/hgrc <<EOF
1146 $ cat >> .hg/hgrc <<EOF
1147 > [defaults]
1147 > [defaults]
1148 > # to fix hash id of temporary revisions
1148 > # to fix hash id of temporary revisions
1149 > unshelve = --date '0 0'
1149 > unshelve = --date '0 0'
1150 > EOF
1150 > EOF
1151
1151
1152 "hg unshelve" at REV5 implies steps below:
1152 "hg unshelve" at REV5 implies steps below:
1153
1153
1154 (1) commit changes in the working directory (REV6)
1154 (1) commit changes in the working directory (REV6)
1155 (2) unbundle shelved revision (REV7)
1155 (2) unbundle shelved revision (REV7)
1156 (3) rebase: merge REV7 into REV6 (REV6 => REV6, REV7)
1156 (3) rebase: merge REV7 into REV6 (REV6 => REV6, REV7)
1157 (4) rebase: commit merged revision (REV8)
1157 (4) rebase: commit merged revision (REV8)
1158 (5) rebase: update to REV6 (REV8 => REV6)
1158 (5) rebase: update to REV6 (REV8 => REV6)
1159 (6) update to REV5 (REV6 => REV5)
1159 (6) update to REV5 (REV6 => REV5)
1160 (7) abort transaction
1160 (7) abort transaction
1161
1161
1162 == test visibility to external preupdate hook
1162 == test visibility to external preupdate hook
1163
1163
1164 $ cat >> .hg/hgrc <<EOF
1164 $ cat >> .hg/hgrc <<EOF
1165 > [hooks]
1165 > [hooks]
1166 > preupdate.visibility = sh $TESTTMP/checkvisibility.sh preupdate
1166 > preupdate.visibility = sh $TESTTMP/checkvisibility.sh preupdate
1167 > EOF
1167 > EOF
1168
1168
1169 $ echo nnnn >> n
1169 $ echo nnnn >> n
1170
1170
1171 $ sh $TESTTMP/checkvisibility.sh before-unshelving
1171 $ sh $TESTTMP/checkvisibility.sh before-unshelving
1172 ==== before-unshelving:
1172 ==== before-unshelving:
1173 VISIBLE 5:703117a2acfb
1173 VISIBLE 5:703117a2acfb
1174 ACTUAL 5:703117a2acfb
1174 ACTUAL 5:703117a2acfb
1175 ====
1175 ====
1176
1176
1177 $ hg unshelve --keep default
1177 $ hg unshelve --keep default
1178 temporarily committing pending changes (restore with 'hg unshelve --abort')
1178 temporarily committing pending changes (restore with 'hg unshelve --abort')
1179 rebasing shelved changes
1179 rebasing shelved changes
1180 rebasing 7:206bf5d4f922 "changes to: create conflict" (tip)
1180 rebasing 7:206bf5d4f922 "changes to: create conflict" (tip)
1181 ==== preupdate:
1181 ==== preupdate:
1182 VISIBLE 6:66b86db80ee4
1182 VISIBLE 6:66b86db80ee4
1183 ACTUAL 5:703117a2acfb
1183 ACTUAL 5:703117a2acfb
1184 ====
1184 ====
1185 ==== preupdate:
1185 ==== preupdate:
1186 VISIBLE 8:a0e04704317e
1186 VISIBLE 8:a0e04704317e
1187 ACTUAL 5:703117a2acfb
1187 ACTUAL 5:703117a2acfb
1188 ====
1188 ====
1189 ==== preupdate:
1189 ==== preupdate:
1190 VISIBLE 6:66b86db80ee4
1190 VISIBLE 6:66b86db80ee4
1191 ACTUAL 5:703117a2acfb
1191 ACTUAL 5:703117a2acfb
1192 ====
1192 ====
1193
1193
1194 $ cat >> .hg/hgrc <<EOF
1194 $ cat >> .hg/hgrc <<EOF
1195 > [hooks]
1195 > [hooks]
1196 > preupdate.visibility =
1196 > preupdate.visibility =
1197 > EOF
1197 > EOF
1198
1198
1199 $ sh $TESTTMP/checkvisibility.sh after-unshelving
1199 $ sh $TESTTMP/checkvisibility.sh after-unshelving
1200 ==== after-unshelving:
1200 ==== after-unshelving:
1201 VISIBLE 5:703117a2acfb
1201 VISIBLE 5:703117a2acfb
1202 ACTUAL 5:703117a2acfb
1202 ACTUAL 5:703117a2acfb
1203 ====
1203 ====
1204
1204
1205 == test visibility to external update hook
1205 == test visibility to external update hook
1206
1206
1207 $ hg update -q -C 5
1207 $ hg update -q -C 5
1208
1208
1209 $ cat >> .hg/hgrc <<EOF
1209 $ cat >> .hg/hgrc <<EOF
1210 > [hooks]
1210 > [hooks]
1211 > update.visibility = sh $TESTTMP/checkvisibility.sh update
1211 > update.visibility = sh $TESTTMP/checkvisibility.sh update
1212 > EOF
1212 > EOF
1213
1213
1214 $ echo nnnn >> n
1214 $ echo nnnn >> n
1215
1215
1216 $ sh $TESTTMP/checkvisibility.sh before-unshelving
1216 $ sh $TESTTMP/checkvisibility.sh before-unshelving
1217 ==== before-unshelving:
1217 ==== before-unshelving:
1218 VISIBLE 5:703117a2acfb
1218 VISIBLE 5:703117a2acfb
1219 ACTUAL 5:703117a2acfb
1219 ACTUAL 5:703117a2acfb
1220 ====
1220 ====
1221
1221
1222 $ hg unshelve --keep default
1222 $ hg unshelve --keep default
1223 temporarily committing pending changes (restore with 'hg unshelve --abort')
1223 temporarily committing pending changes (restore with 'hg unshelve --abort')
1224 rebasing shelved changes
1224 rebasing shelved changes
1225 rebasing 7:206bf5d4f922 "changes to: create conflict" (tip)
1225 rebasing 7:206bf5d4f922 "changes to: create conflict" (tip)
1226 ==== update:
1226 ==== update:
1227 VISIBLE 6:66b86db80ee4
1227 VISIBLE 6:66b86db80ee4
1228 VISIBLE 7:206bf5d4f922
1228 VISIBLE 7:206bf5d4f922
1229 ACTUAL 5:703117a2acfb
1229 ACTUAL 5:703117a2acfb
1230 ====
1230 ====
1231 ==== update:
1231 ==== update:
1232 VISIBLE 6:66b86db80ee4
1232 VISIBLE 6:66b86db80ee4
1233 ACTUAL 5:703117a2acfb
1233 ACTUAL 5:703117a2acfb
1234 ====
1234 ====
1235 ==== update:
1235 ==== update:
1236 VISIBLE 5:703117a2acfb
1236 VISIBLE 5:703117a2acfb
1237 ACTUAL 5:703117a2acfb
1237 ACTUAL 5:703117a2acfb
1238 ====
1238 ====
1239
1239
1240 $ cat >> .hg/hgrc <<EOF
1240 $ cat >> .hg/hgrc <<EOF
1241 > [hooks]
1241 > [hooks]
1242 > update.visibility =
1242 > update.visibility =
1243 > EOF
1243 > EOF
1244
1244
1245 $ sh $TESTTMP/checkvisibility.sh after-unshelving
1245 $ sh $TESTTMP/checkvisibility.sh after-unshelving
1246 ==== after-unshelving:
1246 ==== after-unshelving:
1247 VISIBLE 5:703117a2acfb
1247 VISIBLE 5:703117a2acfb
1248 ACTUAL 5:703117a2acfb
1248 ACTUAL 5:703117a2acfb
1249 ====
1249 ====
1250
1250
1251 $ cd ..
1251 $ cd ..
1252
1252
1253 test .orig files go where the user wants them to
1253 test .orig files go where the user wants them to
1254 ---------------------------------------------------------------
1254 ---------------------------------------------------------------
1255 $ hg init salvage
1255 $ hg init salvage
1256 $ cd salvage
1256 $ cd salvage
1257 $ echo 'content' > root
1257 $ echo 'content' > root
1258 $ hg commit -A -m 'root' -q
1258 $ hg commit -A -m 'root' -q
1259 $ echo '' > root
1259 $ echo '' > root
1260 $ hg shelve -q
1260 $ hg shelve -q
1261 $ echo 'contADDent' > root
1261 $ echo 'contADDent' > root
1262 $ hg unshelve -q --config 'ui.origbackuppath=.hg/origbackups'
1262 $ hg unshelve -q --config 'ui.origbackuppath=.hg/origbackups'
1263 warning: conflicts while merging root! (edit, then use 'hg resolve --mark')
1263 warning: conflicts while merging root! (edit, then use 'hg resolve --mark')
1264 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1264 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1265 [1]
1265 [1]
1266 $ ls .hg/origbackups
1266 $ ls .hg/origbackups
1267 root
1267 root
1268 $ rm -rf .hg/origbackups
1268 $ rm -rf .hg/origbackups
1269
1269
1270 test Abort unshelve always gets user out of the unshelved state
1270 test Abort unshelve always gets user out of the unshelved state
1271 ---------------------------------------------------------------
1271 ---------------------------------------------------------------
1272 Wreak havoc on the unshelve process
1272 Wreak havoc on the unshelve process
1273 $ rm .hg/unshelverebasestate
1273 $ rm .hg/unshelverebasestate
1274 $ hg unshelve --abort
1274 $ hg unshelve --abort
1275 unshelve of 'default' aborted
1275 unshelve of 'default' aborted
1276 abort: $ENOENT$
1276 abort: $ENOENT$* (glob)
1277 [255]
1277 [255]
1278 Can the user leave the current state?
1278 Can the user leave the current state?
1279 $ hg up -C .
1279 $ hg up -C .
1280 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1280 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1281
1281
1282 Try again but with a corrupted shelve state file
1282 Try again but with a corrupted shelve state file
1283 $ hg strip -r 2 -r 1 -q
1283 $ hg strip -r 2 -r 1 -q
1284 $ hg up -r 0 -q
1284 $ hg up -r 0 -q
1285 $ echo '' > root
1285 $ echo '' > root
1286 $ hg shelve -q
1286 $ hg shelve -q
1287 $ echo 'contADDent' > root
1287 $ echo 'contADDent' > root
1288 $ hg unshelve -q
1288 $ hg unshelve -q
1289 warning: conflicts while merging root! (edit, then use 'hg resolve --mark')
1289 warning: conflicts while merging root! (edit, then use 'hg resolve --mark')
1290 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1290 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1291 [1]
1291 [1]
1292 $ sed 's/ae8c668541e8/123456789012/' .hg/shelvedstate > ../corrupt-shelvedstate
1292 $ sed 's/ae8c668541e8/123456789012/' .hg/shelvedstate > ../corrupt-shelvedstate
1293 $ mv ../corrupt-shelvedstate .hg/histedit-state
1293 $ mv ../corrupt-shelvedstate .hg/histedit-state
1294 $ hg unshelve --abort 2>&1 | grep 'rebase aborted'
1294 $ hg unshelve --abort 2>&1 | grep 'rebase aborted'
1295 rebase aborted
1295 rebase aborted
1296 $ hg up -C .
1296 $ hg up -C .
1297 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1297 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1298
1298
1299 $ cd ..
1299 $ cd ..
1300
1300
1301 Keep active bookmark while (un)shelving even on shared repo (issue4940)
1301 Keep active bookmark while (un)shelving even on shared repo (issue4940)
1302 -----------------------------------------------------------------------
1302 -----------------------------------------------------------------------
1303
1303
1304 $ cat <<EOF >> $HGRCPATH
1304 $ cat <<EOF >> $HGRCPATH
1305 > [extensions]
1305 > [extensions]
1306 > share =
1306 > share =
1307 > EOF
1307 > EOF
1308
1308
1309 $ hg bookmarks -R repo
1309 $ hg bookmarks -R repo
1310 test 4:33f7f61e6c5e
1310 test 4:33f7f61e6c5e
1311 $ hg share -B repo share
1311 $ hg share -B repo share
1312 updating working directory
1312 updating working directory
1313 6 files updated, 0 files merged, 0 files removed, 0 files unresolved
1313 6 files updated, 0 files merged, 0 files removed, 0 files unresolved
1314 $ cd share
1314 $ cd share
1315
1315
1316 $ hg bookmarks
1316 $ hg bookmarks
1317 test 4:33f7f61e6c5e
1317 test 4:33f7f61e6c5e
1318 $ hg bookmarks foo
1318 $ hg bookmarks foo
1319 $ hg bookmarks
1319 $ hg bookmarks
1320 * foo 5:703117a2acfb
1320 * foo 5:703117a2acfb
1321 test 4:33f7f61e6c5e
1321 test 4:33f7f61e6c5e
1322 $ echo x >> x
1322 $ echo x >> x
1323 $ hg shelve
1323 $ hg shelve
1324 shelved as foo
1324 shelved as foo
1325 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1325 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1326 $ hg bookmarks
1326 $ hg bookmarks
1327 * foo 5:703117a2acfb
1327 * foo 5:703117a2acfb
1328 test 4:33f7f61e6c5e
1328 test 4:33f7f61e6c5e
1329
1329
1330 $ hg unshelve
1330 $ hg unshelve
1331 unshelving change 'foo'
1331 unshelving change 'foo'
1332 $ hg bookmarks
1332 $ hg bookmarks
1333 * foo 5:703117a2acfb
1333 * foo 5:703117a2acfb
1334 test 4:33f7f61e6c5e
1334 test 4:33f7f61e6c5e
1335
1335
1336 $ cd ..
1336 $ cd ..
1337
1337
1338 Shelve and unshelve unknown files. For the purposes of unshelve, a shelved
1338 Shelve and unshelve unknown files. For the purposes of unshelve, a shelved
1339 unknown file is the same as a shelved added file, except that it will be in
1339 unknown file is the same as a shelved added file, except that it will be in
1340 unknown state after unshelve if and only if it was either absent or unknown
1340 unknown state after unshelve if and only if it was either absent or unknown
1341 before the unshelve operation.
1341 before the unshelve operation.
1342
1342
1343 $ hg init unknowns
1343 $ hg init unknowns
1344 $ cd unknowns
1344 $ cd unknowns
1345
1345
1346 The simplest case is if I simply have an unknown file that I shelve and unshelve
1346 The simplest case is if I simply have an unknown file that I shelve and unshelve
1347
1347
1348 $ echo unknown > unknown
1348 $ echo unknown > unknown
1349 $ hg status
1349 $ hg status
1350 ? unknown
1350 ? unknown
1351 $ hg shelve --unknown
1351 $ hg shelve --unknown
1352 shelved as default
1352 shelved as default
1353 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1353 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1354 $ hg status
1354 $ hg status
1355 $ hg unshelve
1355 $ hg unshelve
1356 unshelving change 'default'
1356 unshelving change 'default'
1357 $ hg status
1357 $ hg status
1358 ? unknown
1358 ? unknown
1359 $ rm unknown
1359 $ rm unknown
1360
1360
1361 If I shelve, add the file, and unshelve, does it stay added?
1361 If I shelve, add the file, and unshelve, does it stay added?
1362
1362
1363 $ echo unknown > unknown
1363 $ echo unknown > unknown
1364 $ hg shelve -u
1364 $ hg shelve -u
1365 shelved as default
1365 shelved as default
1366 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1366 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1367 $ hg status
1367 $ hg status
1368 $ touch unknown
1368 $ touch unknown
1369 $ hg add unknown
1369 $ hg add unknown
1370 $ hg status
1370 $ hg status
1371 A unknown
1371 A unknown
1372 $ hg unshelve
1372 $ hg unshelve
1373 unshelving change 'default'
1373 unshelving change 'default'
1374 temporarily committing pending changes (restore with 'hg unshelve --abort')
1374 temporarily committing pending changes (restore with 'hg unshelve --abort')
1375 rebasing shelved changes
1375 rebasing shelved changes
1376 rebasing 1:098df96e7410 "(changes in empty repository)" (tip)
1376 rebasing 1:098df96e7410 "(changes in empty repository)" (tip)
1377 merging unknown
1377 merging unknown
1378 $ hg status
1378 $ hg status
1379 A unknown
1379 A unknown
1380 $ hg forget unknown
1380 $ hg forget unknown
1381 $ rm unknown
1381 $ rm unknown
1382
1382
1383 And if I shelve, commit, then unshelve, does it become modified?
1383 And if I shelve, commit, then unshelve, does it become modified?
1384
1384
1385 $ echo unknown > unknown
1385 $ echo unknown > unknown
1386 $ hg shelve -u
1386 $ hg shelve -u
1387 shelved as default
1387 shelved as default
1388 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1388 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1389 $ hg status
1389 $ hg status
1390 $ touch unknown
1390 $ touch unknown
1391 $ hg add unknown
1391 $ hg add unknown
1392 $ hg commit -qm "Add unknown"
1392 $ hg commit -qm "Add unknown"
1393 $ hg status
1393 $ hg status
1394 $ hg unshelve
1394 $ hg unshelve
1395 unshelving change 'default'
1395 unshelving change 'default'
1396 rebasing shelved changes
1396 rebasing shelved changes
1397 rebasing 1:098df96e7410 "(changes in empty repository)" (tip)
1397 rebasing 1:098df96e7410 "(changes in empty repository)" (tip)
1398 merging unknown
1398 merging unknown
1399 $ hg status
1399 $ hg status
1400 M unknown
1400 M unknown
1401 $ hg remove --force unknown
1401 $ hg remove --force unknown
1402 $ hg commit -qm "Remove unknown"
1402 $ hg commit -qm "Remove unknown"
1403
1403
1404 $ cd ..
1404 $ cd ..
1405
1405
1406 We expects that non-bare shelve keeps newly created branch in
1406 We expects that non-bare shelve keeps newly created branch in
1407 working directory.
1407 working directory.
1408
1408
1409 $ hg init shelve-preserve-new-branch
1409 $ hg init shelve-preserve-new-branch
1410 $ cd shelve-preserve-new-branch
1410 $ cd shelve-preserve-new-branch
1411 $ echo "a" >> a
1411 $ echo "a" >> a
1412 $ hg add a
1412 $ hg add a
1413 $ echo "b" >> b
1413 $ echo "b" >> b
1414 $ hg add b
1414 $ hg add b
1415 $ hg commit -m "ab"
1415 $ hg commit -m "ab"
1416 $ echo "aa" >> a
1416 $ echo "aa" >> a
1417 $ echo "bb" >> b
1417 $ echo "bb" >> b
1418 $ hg branch new-branch
1418 $ hg branch new-branch
1419 marked working directory as branch new-branch
1419 marked working directory as branch new-branch
1420 (branches are permanent and global, did you want a bookmark?)
1420 (branches are permanent and global, did you want a bookmark?)
1421 $ hg status
1421 $ hg status
1422 M a
1422 M a
1423 M b
1423 M b
1424 $ hg branch
1424 $ hg branch
1425 new-branch
1425 new-branch
1426 $ hg shelve a
1426 $ hg shelve a
1427 shelved as default
1427 shelved as default
1428 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1428 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1429 $ hg branch
1429 $ hg branch
1430 new-branch
1430 new-branch
1431 $ hg status
1431 $ hg status
1432 M b
1432 M b
1433 $ touch "c" >> c
1433 $ touch "c" >> c
1434 $ hg add c
1434 $ hg add c
1435 $ hg status
1435 $ hg status
1436 M b
1436 M b
1437 A c
1437 A c
1438 $ hg shelve --exclude c
1438 $ hg shelve --exclude c
1439 shelved as default-01
1439 shelved as default-01
1440 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1440 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1441 $ hg branch
1441 $ hg branch
1442 new-branch
1442 new-branch
1443 $ hg status
1443 $ hg status
1444 A c
1444 A c
1445 $ hg shelve --include c
1445 $ hg shelve --include c
1446 shelved as default-02
1446 shelved as default-02
1447 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1447 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1448 $ hg branch
1448 $ hg branch
1449 new-branch
1449 new-branch
1450 $ hg status
1450 $ hg status
1451 $ echo "d" >> d
1451 $ echo "d" >> d
1452 $ hg add d
1452 $ hg add d
1453 $ hg status
1453 $ hg status
1454 A d
1454 A d
1455
1455
1456 We expect that bare-shelve will not keep branch in current working directory.
1456 We expect that bare-shelve will not keep branch in current working directory.
1457
1457
1458 $ hg shelve
1458 $ hg shelve
1459 shelved as default-03
1459 shelved as default-03
1460 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1460 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1461 $ hg branch
1461 $ hg branch
1462 default
1462 default
1463 $ cd ..
1463 $ cd ..
1464
1464
1465 When i shelve commit on newly created branch i expect
1465 When i shelve commit on newly created branch i expect
1466 that after unshelve newly created branch will be preserved.
1466 that after unshelve newly created branch will be preserved.
1467
1467
1468 $ hg init shelve_on_new_branch_simple
1468 $ hg init shelve_on_new_branch_simple
1469 $ cd shelve_on_new_branch_simple
1469 $ cd shelve_on_new_branch_simple
1470 $ echo "aaa" >> a
1470 $ echo "aaa" >> a
1471 $ hg commit -A -m "a"
1471 $ hg commit -A -m "a"
1472 adding a
1472 adding a
1473 $ hg branch
1473 $ hg branch
1474 default
1474 default
1475 $ hg branch test
1475 $ hg branch test
1476 marked working directory as branch test
1476 marked working directory as branch test
1477 (branches are permanent and global, did you want a bookmark?)
1477 (branches are permanent and global, did you want a bookmark?)
1478 $ echo "bbb" >> a
1478 $ echo "bbb" >> a
1479 $ hg status
1479 $ hg status
1480 M a
1480 M a
1481 $ hg shelve
1481 $ hg shelve
1482 shelved as default
1482 shelved as default
1483 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1483 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1484 $ hg branch
1484 $ hg branch
1485 default
1485 default
1486 $ echo "bbb" >> b
1486 $ echo "bbb" >> b
1487 $ hg status
1487 $ hg status
1488 ? b
1488 ? b
1489 $ hg unshelve
1489 $ hg unshelve
1490 unshelving change 'default'
1490 unshelving change 'default'
1491 marked working directory as branch test
1491 marked working directory as branch test
1492 $ hg status
1492 $ hg status
1493 M a
1493 M a
1494 ? b
1494 ? b
1495 $ hg branch
1495 $ hg branch
1496 test
1496 test
1497 $ cd ..
1497 $ cd ..
1498
1498
1499 When i shelve commit on newly created branch, make
1499 When i shelve commit on newly created branch, make
1500 some changes, unshelve it and running into merge
1500 some changes, unshelve it and running into merge
1501 conflicts i expect that after fixing them and
1501 conflicts i expect that after fixing them and
1502 running unshelve --continue newly created branch
1502 running unshelve --continue newly created branch
1503 will be preserved.
1503 will be preserved.
1504
1504
1505 $ hg init shelve_on_new_branch_conflict
1505 $ hg init shelve_on_new_branch_conflict
1506 $ cd shelve_on_new_branch_conflict
1506 $ cd shelve_on_new_branch_conflict
1507 $ echo "aaa" >> a
1507 $ echo "aaa" >> a
1508 $ hg commit -A -m "a"
1508 $ hg commit -A -m "a"
1509 adding a
1509 adding a
1510 $ hg branch
1510 $ hg branch
1511 default
1511 default
1512 $ hg branch test
1512 $ hg branch test
1513 marked working directory as branch test
1513 marked working directory as branch test
1514 (branches are permanent and global, did you want a bookmark?)
1514 (branches are permanent and global, did you want a bookmark?)
1515 $ echo "bbb" >> a
1515 $ echo "bbb" >> a
1516 $ hg status
1516 $ hg status
1517 M a
1517 M a
1518 $ hg shelve
1518 $ hg shelve
1519 shelved as default
1519 shelved as default
1520 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1520 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1521 $ hg branch
1521 $ hg branch
1522 default
1522 default
1523 $ echo "ccc" >> a
1523 $ echo "ccc" >> a
1524 $ hg status
1524 $ hg status
1525 M a
1525 M a
1526 $ hg unshelve
1526 $ hg unshelve
1527 unshelving change 'default'
1527 unshelving change 'default'
1528 temporarily committing pending changes (restore with 'hg unshelve --abort')
1528 temporarily committing pending changes (restore with 'hg unshelve --abort')
1529 rebasing shelved changes
1529 rebasing shelved changes
1530 rebasing 2:425c97ef07f3 "changes to: a" (tip)
1530 rebasing 2:425c97ef07f3 "changes to: a" (tip)
1531 merging a
1531 merging a
1532 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
1532 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
1533 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1533 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1534 [1]
1534 [1]
1535 $ echo "aaabbbccc" > a
1535 $ echo "aaabbbccc" > a
1536 $ rm a.orig
1536 $ rm a.orig
1537 $ hg resolve --mark a
1537 $ hg resolve --mark a
1538 (no more unresolved files)
1538 (no more unresolved files)
1539 continue: hg unshelve --continue
1539 continue: hg unshelve --continue
1540 $ hg unshelve --continue
1540 $ hg unshelve --continue
1541 rebasing 2:425c97ef07f3 "changes to: a" (tip)
1541 rebasing 2:425c97ef07f3 "changes to: a" (tip)
1542 marked working directory as branch test
1542 marked working directory as branch test
1543 unshelve of 'default' complete
1543 unshelve of 'default' complete
1544 $ cat a
1544 $ cat a
1545 aaabbbccc
1545 aaabbbccc
1546 $ hg status
1546 $ hg status
1547 M a
1547 M a
1548 $ hg branch
1548 $ hg branch
1549 test
1549 test
1550 $ hg commit -m "test-commit"
1550 $ hg commit -m "test-commit"
1551
1551
1552 When i shelve on test branch, update to default branch
1552 When i shelve on test branch, update to default branch
1553 and unshelve i expect that it will not preserve previous
1553 and unshelve i expect that it will not preserve previous
1554 test branch.
1554 test branch.
1555
1555
1556 $ echo "xxx" > b
1556 $ echo "xxx" > b
1557 $ hg add b
1557 $ hg add b
1558 $ hg shelve
1558 $ hg shelve
1559 shelved as test
1559 shelved as test
1560 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1560 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1561 $ hg update -r default
1561 $ hg update -r default
1562 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1562 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1563 $ hg unshelve
1563 $ hg unshelve
1564 unshelving change 'test'
1564 unshelving change 'test'
1565 rebasing shelved changes
1565 rebasing shelved changes
1566 rebasing 2:357525f34729 "changes to: test-commit" (tip)
1566 rebasing 2:357525f34729 "changes to: test-commit" (tip)
1567 $ hg status
1567 $ hg status
1568 A b
1568 A b
1569 $ hg branch
1569 $ hg branch
1570 default
1570 default
1571 $ cd ..
1571 $ cd ..
1572
1572
1573 When i unshelve resulting in merge conflicts and makes saved
1573 When i unshelve resulting in merge conflicts and makes saved
1574 file shelvedstate looks like in previous versions in
1574 file shelvedstate looks like in previous versions in
1575 mercurial(without restore branch information in 7th line) i
1575 mercurial(without restore branch information in 7th line) i
1576 expect that after resolving conflicts and successfully
1576 expect that after resolving conflicts and successfully
1577 running 'shelve --continue' the branch information won't be
1577 running 'shelve --continue' the branch information won't be
1578 restored and branch will be unchanged.
1578 restored and branch will be unchanged.
1579
1579
1580 shelve on new branch, conflict with previous shelvedstate
1580 shelve on new branch, conflict with previous shelvedstate
1581
1581
1582 $ hg init conflict
1582 $ hg init conflict
1583 $ cd conflict
1583 $ cd conflict
1584 $ echo "aaa" >> a
1584 $ echo "aaa" >> a
1585 $ hg commit -A -m "a"
1585 $ hg commit -A -m "a"
1586 adding a
1586 adding a
1587 $ hg branch
1587 $ hg branch
1588 default
1588 default
1589 $ hg branch test
1589 $ hg branch test
1590 marked working directory as branch test
1590 marked working directory as branch test
1591 (branches are permanent and global, did you want a bookmark?)
1591 (branches are permanent and global, did you want a bookmark?)
1592 $ echo "bbb" >> a
1592 $ echo "bbb" >> a
1593 $ hg status
1593 $ hg status
1594 M a
1594 M a
1595 $ hg shelve
1595 $ hg shelve
1596 shelved as default
1596 shelved as default
1597 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1597 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1598 $ hg branch
1598 $ hg branch
1599 default
1599 default
1600 $ echo "ccc" >> a
1600 $ echo "ccc" >> a
1601 $ hg status
1601 $ hg status
1602 M a
1602 M a
1603 $ hg unshelve
1603 $ hg unshelve
1604 unshelving change 'default'
1604 unshelving change 'default'
1605 temporarily committing pending changes (restore with 'hg unshelve --abort')
1605 temporarily committing pending changes (restore with 'hg unshelve --abort')
1606 rebasing shelved changes
1606 rebasing shelved changes
1607 rebasing 2:425c97ef07f3 "changes to: a" (tip)
1607 rebasing 2:425c97ef07f3 "changes to: a" (tip)
1608 merging a
1608 merging a
1609 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
1609 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
1610 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1610 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1611 [1]
1611 [1]
1612
1612
1613 Removing restore branch information from shelvedstate file(making it looks like
1613 Removing restore branch information from shelvedstate file(making it looks like
1614 in previous versions) and running unshelve --continue
1614 in previous versions) and running unshelve --continue
1615
1615
1616 $ cp .hg/shelvedstate .hg/shelvedstate_old
1616 $ cp .hg/shelvedstate .hg/shelvedstate_old
1617 $ cat .hg/shelvedstate_old | grep -v 'branchtorestore' > .hg/shelvedstate
1617 $ cat .hg/shelvedstate_old | grep -v 'branchtorestore' > .hg/shelvedstate
1618
1618
1619 $ echo "aaabbbccc" > a
1619 $ echo "aaabbbccc" > a
1620 $ rm a.orig
1620 $ rm a.orig
1621 $ hg resolve --mark a
1621 $ hg resolve --mark a
1622 (no more unresolved files)
1622 (no more unresolved files)
1623 continue: hg unshelve --continue
1623 continue: hg unshelve --continue
1624 $ hg unshelve --continue
1624 $ hg unshelve --continue
1625 rebasing 2:425c97ef07f3 "changes to: a" (tip)
1625 rebasing 2:425c97ef07f3 "changes to: a" (tip)
1626 unshelve of 'default' complete
1626 unshelve of 'default' complete
1627 $ cat a
1627 $ cat a
1628 aaabbbccc
1628 aaabbbccc
1629 $ hg status
1629 $ hg status
1630 M a
1630 M a
1631 $ hg branch
1631 $ hg branch
1632 default
1632 default
1633 $ cd ..
1633 $ cd ..
1634
1634
1635 On non bare shelve the branch information shouldn't be restored
1635 On non bare shelve the branch information shouldn't be restored
1636
1636
1637 $ hg init bare_shelve_on_new_branch
1637 $ hg init bare_shelve_on_new_branch
1638 $ cd bare_shelve_on_new_branch
1638 $ cd bare_shelve_on_new_branch
1639 $ echo "aaa" >> a
1639 $ echo "aaa" >> a
1640 $ hg commit -A -m "a"
1640 $ hg commit -A -m "a"
1641 adding a
1641 adding a
1642 $ hg branch
1642 $ hg branch
1643 default
1643 default
1644 $ hg branch test
1644 $ hg branch test
1645 marked working directory as branch test
1645 marked working directory as branch test
1646 (branches are permanent and global, did you want a bookmark?)
1646 (branches are permanent and global, did you want a bookmark?)
1647 $ echo "bbb" >> a
1647 $ echo "bbb" >> a
1648 $ hg status
1648 $ hg status
1649 M a
1649 M a
1650 $ hg shelve a
1650 $ hg shelve a
1651 shelved as default
1651 shelved as default
1652 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1652 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1653 $ hg branch
1653 $ hg branch
1654 test
1654 test
1655 $ hg branch default
1655 $ hg branch default
1656 marked working directory as branch default
1656 marked working directory as branch default
1657 (branches are permanent and global, did you want a bookmark?)
1657 (branches are permanent and global, did you want a bookmark?)
1658 $ echo "bbb" >> b
1658 $ echo "bbb" >> b
1659 $ hg status
1659 $ hg status
1660 ? b
1660 ? b
1661 $ hg unshelve
1661 $ hg unshelve
1662 unshelving change 'default'
1662 unshelving change 'default'
1663 $ hg status
1663 $ hg status
1664 M a
1664 M a
1665 ? b
1665 ? b
1666 $ hg branch
1666 $ hg branch
1667 default
1667 default
1668 $ cd ..
1668 $ cd ..
1669
1669
1670 Prepare unshelve with a corrupted shelvedstate
1670 Prepare unshelve with a corrupted shelvedstate
1671 $ hg init r1 && cd r1
1671 $ hg init r1 && cd r1
1672 $ echo text1 > file && hg add file
1672 $ echo text1 > file && hg add file
1673 $ hg shelve
1673 $ hg shelve
1674 shelved as default
1674 shelved as default
1675 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1675 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1676 $ echo text2 > file && hg ci -Am text1
1676 $ echo text2 > file && hg ci -Am text1
1677 adding file
1677 adding file
1678 $ hg unshelve
1678 $ hg unshelve
1679 unshelving change 'default'
1679 unshelving change 'default'
1680 rebasing shelved changes
1680 rebasing shelved changes
1681 rebasing 1:396ea74229f9 "(changes in empty repository)" (tip)
1681 rebasing 1:396ea74229f9 "(changes in empty repository)" (tip)
1682 merging file
1682 merging file
1683 warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
1683 warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
1684 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1684 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1685 [1]
1685 [1]
1686 $ echo somethingsomething > .hg/shelvedstate
1686 $ echo somethingsomething > .hg/shelvedstate
1687
1687
1688 Unshelve --continue fails with appropriate message if shelvedstate is corrupted
1688 Unshelve --continue fails with appropriate message if shelvedstate is corrupted
1689 $ hg unshelve --continue
1689 $ hg unshelve --continue
1690 abort: corrupted shelved state file
1690 abort: corrupted shelved state file
1691 (please run hg unshelve --abort to abort unshelve operation)
1691 (please run hg unshelve --abort to abort unshelve operation)
1692 [255]
1692 [255]
1693
1693
1694 Unshelve --abort works with a corrupted shelvedstate
1694 Unshelve --abort works with a corrupted shelvedstate
1695 $ hg unshelve --abort
1695 $ hg unshelve --abort
1696 could not read shelved state file, your working copy may be in an unexpected state
1696 could not read shelved state file, your working copy may be in an unexpected state
1697 please update to some commit
1697 please update to some commit
1698
1698
1699 Unshelve --abort fails with appropriate message if there's no unshelve in
1699 Unshelve --abort fails with appropriate message if there's no unshelve in
1700 progress
1700 progress
1701 $ hg unshelve --abort
1701 $ hg unshelve --abort
1702 abort: no unshelve in progress
1702 abort: no unshelve in progress
1703 [255]
1703 [255]
1704 $ cd ..
1704 $ cd ..
1705
1705
1706 Unshelve respects --keep even if user intervention is needed
1706 Unshelve respects --keep even if user intervention is needed
1707 $ hg init unshelvekeep && cd unshelvekeep
1707 $ hg init unshelvekeep && cd unshelvekeep
1708 $ echo 1 > file && hg ci -Am 1
1708 $ echo 1 > file && hg ci -Am 1
1709 adding file
1709 adding file
1710 $ echo 2 >> file
1710 $ echo 2 >> file
1711 $ hg shelve
1711 $ hg shelve
1712 shelved as default
1712 shelved as default
1713 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1713 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1714 $ echo 3 >> file && hg ci -Am 13
1714 $ echo 3 >> file && hg ci -Am 13
1715 $ hg shelve --list
1715 $ hg shelve --list
1716 default (*s ago) * changes to: 1 (glob)
1716 default (*s ago) * changes to: 1 (glob)
1717 $ hg unshelve --keep
1717 $ hg unshelve --keep
1718 unshelving change 'default'
1718 unshelving change 'default'
1719 rebasing shelved changes
1719 rebasing shelved changes
1720 rebasing 2:3fbe6fbb0bef "changes to: 1" (tip)
1720 rebasing 2:3fbe6fbb0bef "changes to: 1" (tip)
1721 merging file
1721 merging file
1722 warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
1722 warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
1723 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1723 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1724 [1]
1724 [1]
1725 $ hg resolve --mark file
1725 $ hg resolve --mark file
1726 (no more unresolved files)
1726 (no more unresolved files)
1727 continue: hg unshelve --continue
1727 continue: hg unshelve --continue
1728 $ hg unshelve --continue
1728 $ hg unshelve --continue
1729 rebasing 2:3fbe6fbb0bef "changes to: 1" (tip)
1729 rebasing 2:3fbe6fbb0bef "changes to: 1" (tip)
1730 unshelve of 'default' complete
1730 unshelve of 'default' complete
1731 $ hg shelve --list
1731 $ hg shelve --list
1732 default (*s ago) * changes to: 1 (glob)
1732 default (*s ago) * changes to: 1 (glob)
1733 $ cd ..
1733 $ cd ..
1734
1734
1735 Unshelving when there are deleted files does not crash (issue4176)
1735 Unshelving when there are deleted files does not crash (issue4176)
1736 $ hg init unshelve-deleted-file && cd unshelve-deleted-file
1736 $ hg init unshelve-deleted-file && cd unshelve-deleted-file
1737 $ echo a > a && echo b > b && hg ci -Am ab
1737 $ echo a > a && echo b > b && hg ci -Am ab
1738 adding a
1738 adding a
1739 adding b
1739 adding b
1740 $ echo aa > a && hg shelve
1740 $ echo aa > a && hg shelve
1741 shelved as default
1741 shelved as default
1742 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1742 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1743 $ rm b
1743 $ rm b
1744 $ hg st
1744 $ hg st
1745 ! b
1745 ! b
1746 $ hg unshelve
1746 $ hg unshelve
1747 unshelving change 'default'
1747 unshelving change 'default'
1748 $ hg shelve
1748 $ hg shelve
1749 shelved as default
1749 shelved as default
1750 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1750 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1751 $ rm a && echo b > b
1751 $ rm a && echo b > b
1752 $ hg st
1752 $ hg st
1753 ! a
1753 ! a
1754 $ hg unshelve
1754 $ hg unshelve
1755 unshelving change 'default'
1755 unshelving change 'default'
1756 abort: shelved change touches missing files
1756 abort: shelved change touches missing files
1757 (run hg status to see which files are missing)
1757 (run hg status to see which files are missing)
1758 [255]
1758 [255]
1759 $ hg st
1759 $ hg st
1760 ! a
1760 ! a
1761 $ cd ..
1761 $ cd ..
1762
1762
1763 New versions of Mercurial know how to read onld shelvedstate files
1763 New versions of Mercurial know how to read onld shelvedstate files
1764 $ hg init oldshelvedstate
1764 $ hg init oldshelvedstate
1765 $ cd oldshelvedstate
1765 $ cd oldshelvedstate
1766 $ echo root > root && hg ci -Am root
1766 $ echo root > root && hg ci -Am root
1767 adding root
1767 adding root
1768 $ echo 1 > a
1768 $ echo 1 > a
1769 $ hg add a
1769 $ hg add a
1770 $ hg shelve --name ashelve
1770 $ hg shelve --name ashelve
1771 shelved as ashelve
1771 shelved as ashelve
1772 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1772 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1773 $ echo 2 > a
1773 $ echo 2 > a
1774 $ hg ci -Am a
1774 $ hg ci -Am a
1775 adding a
1775 adding a
1776 $ hg unshelve
1776 $ hg unshelve
1777 unshelving change 'ashelve'
1777 unshelving change 'ashelve'
1778 rebasing shelved changes
1778 rebasing shelved changes
1779 rebasing 2:003d2d94241c "changes to: root" (tip)
1779 rebasing 2:003d2d94241c "changes to: root" (tip)
1780 merging a
1780 merging a
1781 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
1781 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
1782 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1782 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1783 [1]
1783 [1]
1784 putting v1 shelvedstate file in place of a created v2
1784 putting v1 shelvedstate file in place of a created v2
1785 $ cat << EOF > .hg/shelvedstate
1785 $ cat << EOF > .hg/shelvedstate
1786 > 1
1786 > 1
1787 > ashelve
1787 > ashelve
1788 > 8b058dae057a5a78f393f4535d9e363dd5efac9d
1788 > 8b058dae057a5a78f393f4535d9e363dd5efac9d
1789 > 8b058dae057a5a78f393f4535d9e363dd5efac9d
1789 > 8b058dae057a5a78f393f4535d9e363dd5efac9d
1790 > 8b058dae057a5a78f393f4535d9e363dd5efac9d 003d2d94241cc7aff0c3a148e966d6a4a377f3a7
1790 > 8b058dae057a5a78f393f4535d9e363dd5efac9d 003d2d94241cc7aff0c3a148e966d6a4a377f3a7
1791 > 003d2d94241cc7aff0c3a148e966d6a4a377f3a7
1791 > 003d2d94241cc7aff0c3a148e966d6a4a377f3a7
1792 >
1792 >
1793 > nokeep
1793 > nokeep
1794 > :no-active-bookmark
1794 > :no-active-bookmark
1795 > EOF
1795 > EOF
1796 $ echo 1 > a
1796 $ echo 1 > a
1797 $ hg resolve --mark a
1797 $ hg resolve --mark a
1798 (no more unresolved files)
1798 (no more unresolved files)
1799 continue: hg unshelve --continue
1799 continue: hg unshelve --continue
1800 mercurial does not crash
1800 mercurial does not crash
1801 $ hg unshelve --continue
1801 $ hg unshelve --continue
1802 rebasing 2:003d2d94241c "changes to: root" (tip)
1802 rebasing 2:003d2d94241c "changes to: root" (tip)
1803 unshelve of 'ashelve' complete
1803 unshelve of 'ashelve' complete
1804 $ cd ..
1804 $ cd ..
1805
1805
General Comments 0
You need to be logged in to leave comments. Login now