##// END OF EJS Templates
py3: suppress write() result and close file in test-bookmarks-pushpull.t
Yuya Nishihara -
r38625:15622e72 default
parent child Browse files
Show More
@@ -1,536 +1,537
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-alias.t
5 test-alias.t
6 test-amend-subrepo.t
6 test-amend-subrepo.t
7 test-amend.t
7 test-amend.t
8 test-ancestor.py
8 test-ancestor.py
9 test-annotate.py
9 test-annotate.py
10 test-annotate.t
10 test-annotate.t
11 test-archive-symlinks.t
11 test-archive-symlinks.t
12 test-atomictempfile.py
12 test-atomictempfile.py
13 test-audit-path.t
13 test-audit-path.t
14 test-audit-subrepo.t
14 test-audit-subrepo.t
15 test-automv.t
15 test-automv.t
16 test-backout.t
16 test-backout.t
17 test-backwards-remove.t
17 test-backwards-remove.t
18 test-bad-pull.t
18 test-bad-pull.t
19 test-basic.t
19 test-basic.t
20 test-bheads.t
20 test-bheads.t
21 test-bisect.t
21 test-bisect.t
22 test-bisect2.t
22 test-bisect2.t
23 test-bisect3.t
23 test-bisect3.t
24 test-blackbox.t
24 test-blackbox.t
25 test-bookmarks-current.t
25 test-bookmarks-current.t
26 test-bookmarks-merge.t
26 test-bookmarks-merge.t
27 test-bookmarks-pushpull.t
27 test-bookmarks-rebase.t
28 test-bookmarks-rebase.t
28 test-bookmarks-strip.t
29 test-bookmarks-strip.t
29 test-bookmarks.t
30 test-bookmarks.t
30 test-branch-change.t
31 test-branch-change.t
31 test-branch-option.t
32 test-branch-option.t
32 test-branch-tag-confict.t
33 test-branch-tag-confict.t
33 test-branches.t
34 test-branches.t
34 test-bundle-phases.t
35 test-bundle-phases.t
35 test-bundle-r.t
36 test-bundle-r.t
36 test-bundle-type.t
37 test-bundle-type.t
37 test-bundle-vs-outgoing.t
38 test-bundle-vs-outgoing.t
38 test-bundle.t
39 test-bundle.t
39 test-bundle2-exchange.t
40 test-bundle2-exchange.t
40 test-bundle2-multiple-changegroups.t
41 test-bundle2-multiple-changegroups.t
41 test-bundle2-pushback.t
42 test-bundle2-pushback.t
42 test-cappedreader.py
43 test-cappedreader.py
43 test-casecollision.t
44 test-casecollision.t
44 test-cat.t
45 test-cat.t
45 test-cbor.py
46 test-cbor.py
46 test-censor.t
47 test-censor.t
47 test-changelog-exec.t
48 test-changelog-exec.t
48 test-check-commit.t
49 test-check-commit.t
49 test-check-execute.t
50 test-check-execute.t
50 test-check-interfaces.py
51 test-check-interfaces.py
51 test-check-module-imports.t
52 test-check-module-imports.t
52 test-check-pyflakes.t
53 test-check-pyflakes.t
53 test-check-pylint.t
54 test-check-pylint.t
54 test-check-shbang.t
55 test-check-shbang.t
55 test-children.t
56 test-children.t
56 test-clone-cgi.t
57 test-clone-cgi.t
57 test-clone-pull-corruption.t
58 test-clone-pull-corruption.t
58 test-clone-r.t
59 test-clone-r.t
59 test-clone-update-order.t
60 test-clone-update-order.t
60 test-clonebundles.t
61 test-clonebundles.t
61 test-commit-amend.t
62 test-commit-amend.t
62 test-commit-interactive.t
63 test-commit-interactive.t
63 test-commit-multiple.t
64 test-commit-multiple.t
64 test-commit-unresolved.t
65 test-commit-unresolved.t
65 test-commit.t
66 test-commit.t
66 test-committer.t
67 test-committer.t
67 test-completion.t
68 test-completion.t
68 test-config-env.py
69 test-config-env.py
69 test-config.t
70 test-config.t
70 test-conflict.t
71 test-conflict.t
71 test-confused-revert.t
72 test-confused-revert.t
72 test-context.py
73 test-context.py
73 test-contrib-check-code.t
74 test-contrib-check-code.t
74 test-contrib-check-commit.t
75 test-contrib-check-commit.t
75 test-convert-authormap.t
76 test-convert-authormap.t
76 test-convert-clonebranches.t
77 test-convert-clonebranches.t
77 test-convert-cvs-branch.t
78 test-convert-cvs-branch.t
78 test-convert-cvs-detectmerge.t
79 test-convert-cvs-detectmerge.t
79 test-convert-cvs-synthetic.t
80 test-convert-cvs-synthetic.t
80 test-convert-cvs.t
81 test-convert-cvs.t
81 test-convert-cvsnt-mergepoints.t
82 test-convert-cvsnt-mergepoints.t
82 test-convert-datesort.t
83 test-convert-datesort.t
83 test-convert-filemap.t
84 test-convert-filemap.t
84 test-convert-hg-sink.t
85 test-convert-hg-sink.t
85 test-convert-hg-source.t
86 test-convert-hg-source.t
86 test-convert-hg-startrev.t
87 test-convert-hg-startrev.t
87 test-convert-splicemap.t
88 test-convert-splicemap.t
88 test-convert-tagsbranch-topology.t
89 test-convert-tagsbranch-topology.t
89 test-copy-move-merge.t
90 test-copy-move-merge.t
90 test-copy.t
91 test-copy.t
91 test-copytrace-heuristics.t
92 test-copytrace-heuristics.t
92 test-debugbuilddag.t
93 test-debugbuilddag.t
93 test-debugbundle.t
94 test-debugbundle.t
94 test-debugextensions.t
95 test-debugextensions.t
95 test-debugindexdot.t
96 test-debugindexdot.t
96 test-debugrename.t
97 test-debugrename.t
97 test-default-push.t
98 test-default-push.t
98 test-diff-antipatience.t
99 test-diff-antipatience.t
99 test-diff-binary-file.t
100 test-diff-binary-file.t
100 test-diff-change.t
101 test-diff-change.t
101 test-diff-copy-depth.t
102 test-diff-copy-depth.t
102 test-diff-hashes.t
103 test-diff-hashes.t
103 test-diff-ignore-whitespace.t
104 test-diff-ignore-whitespace.t
104 test-diff-indent-heuristic.t
105 test-diff-indent-heuristic.t
105 test-diff-issue2761.t
106 test-diff-issue2761.t
106 test-diff-newlines.t
107 test-diff-newlines.t
107 test-diff-reverse.t
108 test-diff-reverse.t
108 test-diff-subdir.t
109 test-diff-subdir.t
109 test-diff-unified.t
110 test-diff-unified.t
110 test-diff-upgrade.t
111 test-diff-upgrade.t
111 test-diffdir.t
112 test-diffdir.t
112 test-diffstat.t
113 test-diffstat.t
113 test-directaccess.t
114 test-directaccess.t
114 test-dirstate-backup.t
115 test-dirstate-backup.t
115 test-dirstate-nonnormalset.t
116 test-dirstate-nonnormalset.t
116 test-dirstate.t
117 test-dirstate.t
117 test-dispatch.py
118 test-dispatch.py
118 test-doctest.py
119 test-doctest.py
119 test-double-merge.t
120 test-double-merge.t
120 test-drawdag.t
121 test-drawdag.t
121 test-duplicateoptions.py
122 test-duplicateoptions.py
122 test-editor-filename.t
123 test-editor-filename.t
123 test-empty-dir.t
124 test-empty-dir.t
124 test-empty-file.t
125 test-empty-file.t
125 test-empty-group.t
126 test-empty-group.t
126 test-empty.t
127 test-empty.t
127 test-encode.t
128 test-encode.t
128 test-encoding-func.py
129 test-encoding-func.py
129 test-encoding.t
130 test-encoding.t
130 test-eol-add.t
131 test-eol-add.t
131 test-eol-clone.t
132 test-eol-clone.t
132 test-eol-hook.t
133 test-eol-hook.t
133 test-eol-patch.t
134 test-eol-patch.t
134 test-eol-tag.t
135 test-eol-tag.t
135 test-eol-update.t
136 test-eol-update.t
136 test-eol.t
137 test-eol.t
137 test-eolfilename.t
138 test-eolfilename.t
138 test-excessive-merge.t
139 test-excessive-merge.t
139 test-exchange-obsmarkers-case-A1.t
140 test-exchange-obsmarkers-case-A1.t
140 test-exchange-obsmarkers-case-A2.t
141 test-exchange-obsmarkers-case-A2.t
141 test-exchange-obsmarkers-case-A3.t
142 test-exchange-obsmarkers-case-A3.t
142 test-exchange-obsmarkers-case-A4.t
143 test-exchange-obsmarkers-case-A4.t
143 test-exchange-obsmarkers-case-A5.t
144 test-exchange-obsmarkers-case-A5.t
144 test-exchange-obsmarkers-case-A6.t
145 test-exchange-obsmarkers-case-A6.t
145 test-exchange-obsmarkers-case-A7.t
146 test-exchange-obsmarkers-case-A7.t
146 test-exchange-obsmarkers-case-B1.t
147 test-exchange-obsmarkers-case-B1.t
147 test-exchange-obsmarkers-case-B2.t
148 test-exchange-obsmarkers-case-B2.t
148 test-exchange-obsmarkers-case-B3.t
149 test-exchange-obsmarkers-case-B3.t
149 test-exchange-obsmarkers-case-B4.t
150 test-exchange-obsmarkers-case-B4.t
150 test-exchange-obsmarkers-case-B5.t
151 test-exchange-obsmarkers-case-B5.t
151 test-exchange-obsmarkers-case-B6.t
152 test-exchange-obsmarkers-case-B6.t
152 test-exchange-obsmarkers-case-B7.t
153 test-exchange-obsmarkers-case-B7.t
153 test-exchange-obsmarkers-case-C1.t
154 test-exchange-obsmarkers-case-C1.t
154 test-exchange-obsmarkers-case-C2.t
155 test-exchange-obsmarkers-case-C2.t
155 test-exchange-obsmarkers-case-C3.t
156 test-exchange-obsmarkers-case-C3.t
156 test-exchange-obsmarkers-case-C4.t
157 test-exchange-obsmarkers-case-C4.t
157 test-exchange-obsmarkers-case-D1.t
158 test-exchange-obsmarkers-case-D1.t
158 test-exchange-obsmarkers-case-D2.t
159 test-exchange-obsmarkers-case-D2.t
159 test-exchange-obsmarkers-case-D3.t
160 test-exchange-obsmarkers-case-D3.t
160 test-exchange-obsmarkers-case-D4.t
161 test-exchange-obsmarkers-case-D4.t
161 test-execute-bit.t
162 test-execute-bit.t
162 test-export.t
163 test-export.t
163 test-extdata.t
164 test-extdata.t
164 test-extdiff.t
165 test-extdiff.t
165 test-extensions-afterloaded.t
166 test-extensions-afterloaded.t
166 test-extensions-wrapfunction.py
167 test-extensions-wrapfunction.py
167 test-extra-filelog-entry.t
168 test-extra-filelog-entry.t
168 test-fetch.t
169 test-fetch.t
169 test-filebranch.t
170 test-filebranch.t
170 test-filecache.py
171 test-filecache.py
171 test-filelog.py
172 test-filelog.py
172 test-fileset-generated.t
173 test-fileset-generated.t
173 test-fileset.t
174 test-fileset.t
174 test-fix-topology.t
175 test-fix-topology.t
175 test-flags.t
176 test-flags.t
176 test-generaldelta.t
177 test-generaldelta.t
177 test-getbundle.t
178 test-getbundle.t
178 test-git-export.t
179 test-git-export.t
179 test-glog-topological.t
180 test-glog-topological.t
180 test-gpg.t
181 test-gpg.t
181 test-graft.t
182 test-graft.t
182 test-hg-parseurl.py
183 test-hg-parseurl.py
183 test-hghave.t
184 test-hghave.t
184 test-hgignore.t
185 test-hgignore.t
185 test-hgk.t
186 test-hgk.t
186 test-hgrc.t
187 test-hgrc.t
187 test-hgweb-bundle.t
188 test-hgweb-bundle.t
188 test-hgweb-descend-empties.t
189 test-hgweb-descend-empties.t
189 test-hgweb-empty.t
190 test-hgweb-empty.t
190 test-hgweb-removed.t
191 test-hgweb-removed.t
191 test-hgwebdir-paths.py
192 test-hgwebdir-paths.py
192 test-hgwebdirsym.t
193 test-hgwebdirsym.t
193 test-histedit-arguments.t
194 test-histedit-arguments.t
194 test-histedit-base.t
195 test-histedit-base.t
195 test-histedit-bookmark-motion.t
196 test-histedit-bookmark-motion.t
196 test-histedit-commute.t
197 test-histedit-commute.t
197 test-histedit-drop.t
198 test-histedit-drop.t
198 test-histedit-edit.t
199 test-histedit-edit.t
199 test-histedit-fold-non-commute.t
200 test-histedit-fold-non-commute.t
200 test-histedit-fold.t
201 test-histedit-fold.t
201 test-histedit-no-change.t
202 test-histedit-no-change.t
202 test-histedit-non-commute-abort.t
203 test-histedit-non-commute-abort.t
203 test-histedit-non-commute.t
204 test-histedit-non-commute.t
204 test-histedit-obsolete.t
205 test-histedit-obsolete.t
205 test-histedit-outgoing.t
206 test-histedit-outgoing.t
206 test-histedit-templates.t
207 test-histedit-templates.t
207 test-http-branchmap.t
208 test-http-branchmap.t
208 test-http-bundle1.t
209 test-http-bundle1.t
209 test-http-clone-r.t
210 test-http-clone-r.t
210 test-http.t
211 test-http.t
211 test-hybridencode.py
212 test-hybridencode.py
212 test-identify.t
213 test-identify.t
213 test-impexp-branch.t
214 test-impexp-branch.t
214 test-import-bypass.t
215 test-import-bypass.t
215 test-import-eol.t
216 test-import-eol.t
216 test-import-merge.t
217 test-import-merge.t
217 test-import-unknown.t
218 test-import-unknown.t
218 test-import.t
219 test-import.t
219 test-imports-checker.t
220 test-imports-checker.t
220 test-incoming-outgoing.t
221 test-incoming-outgoing.t
221 test-inherit-mode.t
222 test-inherit-mode.t
222 test-init.t
223 test-init.t
223 test-issue1089.t
224 test-issue1089.t
224 test-issue1102.t
225 test-issue1102.t
225 test-issue1175.t
226 test-issue1175.t
226 test-issue1306.t
227 test-issue1306.t
227 test-issue1438.t
228 test-issue1438.t
228 test-issue1502.t
229 test-issue1502.t
229 test-issue1802.t
230 test-issue1802.t
230 test-issue1877.t
231 test-issue1877.t
231 test-issue1993.t
232 test-issue1993.t
232 test-issue2137.t
233 test-issue2137.t
233 test-issue3084.t
234 test-issue3084.t
234 test-issue4074.t
235 test-issue4074.t
235 test-issue522.t
236 test-issue522.t
236 test-issue586.t
237 test-issue586.t
237 test-issue612.t
238 test-issue612.t
238 test-issue619.t
239 test-issue619.t
239 test-issue660.t
240 test-issue660.t
240 test-issue672.t
241 test-issue672.t
241 test-issue842.t
242 test-issue842.t
242 test-journal-exists.t
243 test-journal-exists.t
243 test-journal-share.t
244 test-journal-share.t
244 test-journal.t
245 test-journal.t
245 test-known.t
246 test-known.t
246 test-largefiles-cache.t
247 test-largefiles-cache.t
247 test-largefiles-misc.t
248 test-largefiles-misc.t
248 test-largefiles-small-disk.t
249 test-largefiles-small-disk.t
249 test-largefiles-update.t
250 test-largefiles-update.t
250 test-largefiles.t
251 test-largefiles.t
251 test-lfs-largefiles.t
252 test-lfs-largefiles.t
252 test-lfs-pointer.py
253 test-lfs-pointer.py
253 test-linerange.py
254 test-linerange.py
254 test-locate.t
255 test-locate.t
255 test-lock-badness.t
256 test-lock-badness.t
256 test-log-linerange.t
257 test-log-linerange.t
257 test-log.t
258 test-log.t
258 test-logexchange.t
259 test-logexchange.t
259 test-lrucachedict.py
260 test-lrucachedict.py
260 test-mactext.t
261 test-mactext.t
261 test-mailmap.t
262 test-mailmap.t
262 test-manifest-merging.t
263 test-manifest-merging.t
263 test-manifest.py
264 test-manifest.py
264 test-manifest.t
265 test-manifest.t
265 test-match.py
266 test-match.py
266 test-mdiff.py
267 test-mdiff.py
267 test-merge-changedelete.t
268 test-merge-changedelete.t
268 test-merge-closedheads.t
269 test-merge-closedheads.t
269 test-merge-commit.t
270 test-merge-commit.t
270 test-merge-criss-cross.t
271 test-merge-criss-cross.t
271 test-merge-default.t
272 test-merge-default.t
272 test-merge-force.t
273 test-merge-force.t
273 test-merge-halt.t
274 test-merge-halt.t
274 test-merge-internal-tools-pattern.t
275 test-merge-internal-tools-pattern.t
275 test-merge-local.t
276 test-merge-local.t
276 test-merge-remove.t
277 test-merge-remove.t
277 test-merge-revert.t
278 test-merge-revert.t
278 test-merge-revert2.t
279 test-merge-revert2.t
279 test-merge-subrepos.t
280 test-merge-subrepos.t
280 test-merge-symlinks.t
281 test-merge-symlinks.t
281 test-merge-tools.t
282 test-merge-tools.t
282 test-merge-types.t
283 test-merge-types.t
283 test-merge1.t
284 test-merge1.t
284 test-merge10.t
285 test-merge10.t
285 test-merge2.t
286 test-merge2.t
286 test-merge4.t
287 test-merge4.t
287 test-merge5.t
288 test-merge5.t
288 test-merge6.t
289 test-merge6.t
289 test-merge7.t
290 test-merge7.t
290 test-merge8.t
291 test-merge8.t
291 test-merge9.t
292 test-merge9.t
292 test-minifileset.py
293 test-minifileset.py
293 test-minirst.py
294 test-minirst.py
294 test-mq-git.t
295 test-mq-git.t
295 test-mq-header-date.t
296 test-mq-header-date.t
296 test-mq-header-from.t
297 test-mq-header-from.t
297 test-mq-merge.t
298 test-mq-merge.t
298 test-mq-pull-from-bundle.t
299 test-mq-pull-from-bundle.t
299 test-mq-qclone-http.t
300 test-mq-qclone-http.t
300 test-mq-qdelete.t
301 test-mq-qdelete.t
301 test-mq-qdiff.t
302 test-mq-qdiff.t
302 test-mq-qfold.t
303 test-mq-qfold.t
303 test-mq-qgoto.t
304 test-mq-qgoto.t
304 test-mq-qimport-fail-cleanup.t
305 test-mq-qimport-fail-cleanup.t
305 test-mq-qnew.t
306 test-mq-qnew.t
306 test-mq-qpush-exact.t
307 test-mq-qpush-exact.t
307 test-mq-qqueue.t
308 test-mq-qqueue.t
308 test-mq-qrefresh-interactive.t
309 test-mq-qrefresh-interactive.t
309 test-mq-qrefresh-replace-log-message.t
310 test-mq-qrefresh-replace-log-message.t
310 test-mq-qrefresh.t
311 test-mq-qrefresh.t
311 test-mq-qrename.t
312 test-mq-qrename.t
312 test-mq-qsave.t
313 test-mq-qsave.t
313 test-mq-safety.t
314 test-mq-safety.t
314 test-mq-subrepo.t
315 test-mq-subrepo.t
315 test-mq-symlinks.t
316 test-mq-symlinks.t
316 test-mv-cp-st-diff.t
317 test-mv-cp-st-diff.t
317 test-narrow-archive.t
318 test-narrow-archive.t
318 test-narrow-clone-no-ellipsis.t
319 test-narrow-clone-no-ellipsis.t
319 test-narrow-clone-non-narrow-server.t
320 test-narrow-clone-non-narrow-server.t
320 test-narrow-clone-nonlinear.t
321 test-narrow-clone-nonlinear.t
321 test-narrow-clone.t
322 test-narrow-clone.t
322 test-narrow-commit.t
323 test-narrow-commit.t
323 test-narrow-copies.t
324 test-narrow-copies.t
324 test-narrow-debugcommands.t
325 test-narrow-debugcommands.t
325 test-narrow-debugrebuilddirstate.t
326 test-narrow-debugrebuilddirstate.t
326 test-narrow-exchange-merges.t
327 test-narrow-exchange-merges.t
327 test-narrow-exchange.t
328 test-narrow-exchange.t
328 test-narrow-expanddirstate.t
329 test-narrow-expanddirstate.t
329 test-narrow-merge.t
330 test-narrow-merge.t
330 test-narrow-patch.t
331 test-narrow-patch.t
331 test-narrow-patterns.t
332 test-narrow-patterns.t
332 test-narrow-pull.t
333 test-narrow-pull.t
333 test-narrow-rebase.t
334 test-narrow-rebase.t
334 test-narrow-shallow-merges.t
335 test-narrow-shallow-merges.t
335 test-narrow-shallow.t
336 test-narrow-shallow.t
336 test-narrow-strip.t
337 test-narrow-strip.t
337 test-narrow-update.t
338 test-narrow-update.t
338 test-narrow-widen.t
339 test-narrow-widen.t
339 test-narrow.t
340 test-narrow.t
340 test-nested-repo.t
341 test-nested-repo.t
341 test-newbranch.t
342 test-newbranch.t
342 test-obshistory.t
343 test-obshistory.t
343 test-obsmarker-template.t
344 test-obsmarker-template.t
344 test-obsmarkers-effectflag.t
345 test-obsmarkers-effectflag.t
345 test-obsolete-bundle-strip.t
346 test-obsolete-bundle-strip.t
346 test-obsolete-changeset-exchange.t
347 test-obsolete-changeset-exchange.t
347 test-obsolete-checkheads.t
348 test-obsolete-checkheads.t
348 test-obsolete-distributed.t
349 test-obsolete-distributed.t
349 test-obsolete-divergent.t
350 test-obsolete-divergent.t
350 test-obsolete-tag-cache.t
351 test-obsolete-tag-cache.t
351 test-pager.t
352 test-pager.t
352 test-parents.t
353 test-parents.t
353 test-parseindex2.py
354 test-parseindex2.py
354 test-patch-offset.t
355 test-patch-offset.t
355 test-patch.t
356 test-patch.t
356 test-pathconflicts-merge.t
357 test-pathconflicts-merge.t
357 test-pathconflicts-update.t
358 test-pathconflicts-update.t
358 test-pathencode.py
359 test-pathencode.py
359 test-pending.t
360 test-pending.t
360 test-permissions.t
361 test-permissions.t
361 test-phases.t
362 test-phases.t
362 test-pull-branch.t
363 test-pull-branch.t
363 test-pull-http.t
364 test-pull-http.t
364 test-pull-permission.t
365 test-pull-permission.t
365 test-pull-pull-corruption.t
366 test-pull-pull-corruption.t
366 test-pull-r.t
367 test-pull-r.t
367 test-pull-update.t
368 test-pull-update.t
368 test-pull.t
369 test-pull.t
369 test-purge.t
370 test-purge.t
370 test-push-checkheads-partial-C1.t
371 test-push-checkheads-partial-C1.t
371 test-push-checkheads-partial-C2.t
372 test-push-checkheads-partial-C2.t
372 test-push-checkheads-partial-C3.t
373 test-push-checkheads-partial-C3.t
373 test-push-checkheads-partial-C4.t
374 test-push-checkheads-partial-C4.t
374 test-push-checkheads-pruned-B1.t
375 test-push-checkheads-pruned-B1.t
375 test-push-checkheads-pruned-B2.t
376 test-push-checkheads-pruned-B2.t
376 test-push-checkheads-pruned-B3.t
377 test-push-checkheads-pruned-B3.t
377 test-push-checkheads-pruned-B4.t
378 test-push-checkheads-pruned-B4.t
378 test-push-checkheads-pruned-B5.t
379 test-push-checkheads-pruned-B5.t
379 test-push-checkheads-pruned-B6.t
380 test-push-checkheads-pruned-B6.t
380 test-push-checkheads-pruned-B7.t
381 test-push-checkheads-pruned-B7.t
381 test-push-checkheads-pruned-B8.t
382 test-push-checkheads-pruned-B8.t
382 test-push-checkheads-superceed-A1.t
383 test-push-checkheads-superceed-A1.t
383 test-push-checkheads-superceed-A2.t
384 test-push-checkheads-superceed-A2.t
384 test-push-checkheads-superceed-A3.t
385 test-push-checkheads-superceed-A3.t
385 test-push-checkheads-superceed-A4.t
386 test-push-checkheads-superceed-A4.t
386 test-push-checkheads-superceed-A5.t
387 test-push-checkheads-superceed-A5.t
387 test-push-checkheads-superceed-A6.t
388 test-push-checkheads-superceed-A6.t
388 test-push-checkheads-superceed-A7.t
389 test-push-checkheads-superceed-A7.t
389 test-push-checkheads-superceed-A8.t
390 test-push-checkheads-superceed-A8.t
390 test-push-checkheads-unpushed-D1.t
391 test-push-checkheads-unpushed-D1.t
391 test-push-checkheads-unpushed-D2.t
392 test-push-checkheads-unpushed-D2.t
392 test-push-checkheads-unpushed-D3.t
393 test-push-checkheads-unpushed-D3.t
393 test-push-checkheads-unpushed-D4.t
394 test-push-checkheads-unpushed-D4.t
394 test-push-checkheads-unpushed-D5.t
395 test-push-checkheads-unpushed-D5.t
395 test-push-checkheads-unpushed-D6.t
396 test-push-checkheads-unpushed-D6.t
396 test-push-checkheads-unpushed-D7.t
397 test-push-checkheads-unpushed-D7.t
397 test-push-http.t
398 test-push-http.t
398 test-push-warn.t
399 test-push-warn.t
399 test-push.t
400 test-push.t
400 test-pushvars.t
401 test-pushvars.t
401 test-qrecord.t
402 test-qrecord.t
402 test-rebase-abort.t
403 test-rebase-abort.t
403 test-rebase-base-flag.t
404 test-rebase-base-flag.t
404 test-rebase-bookmarks.t
405 test-rebase-bookmarks.t
405 test-rebase-brute-force.t
406 test-rebase-brute-force.t
406 test-rebase-cache.t
407 test-rebase-cache.t
407 test-rebase-check-restore.t
408 test-rebase-check-restore.t
408 test-rebase-collapse.t
409 test-rebase-collapse.t
409 test-rebase-conflicts.t
410 test-rebase-conflicts.t
410 test-rebase-dest.t
411 test-rebase-dest.t
411 test-rebase-detach.t
412 test-rebase-detach.t
412 test-rebase-emptycommit.t
413 test-rebase-emptycommit.t
413 test-rebase-inmemory.t
414 test-rebase-inmemory.t
414 test-rebase-interruptions.t
415 test-rebase-interruptions.t
415 test-rebase-issue-noparam-single-rev.t
416 test-rebase-issue-noparam-single-rev.t
416 test-rebase-legacy.t
417 test-rebase-legacy.t
417 test-rebase-mq-skip.t
418 test-rebase-mq-skip.t
418 test-rebase-mq.t
419 test-rebase-mq.t
419 test-rebase-named-branches.t
420 test-rebase-named-branches.t
420 test-rebase-newancestor.t
421 test-rebase-newancestor.t
421 test-rebase-obsolete.t
422 test-rebase-obsolete.t
422 test-rebase-parameters.t
423 test-rebase-parameters.t
423 test-rebase-partial.t
424 test-rebase-partial.t
424 test-rebase-pull.t
425 test-rebase-pull.t
425 test-rebase-rename.t
426 test-rebase-rename.t
426 test-rebase-scenario-global.t
427 test-rebase-scenario-global.t
427 test-rebase-templates.t
428 test-rebase-templates.t
428 test-rebase-transaction.t
429 test-rebase-transaction.t
429 test-rebuildstate.t
430 test-rebuildstate.t
430 test-record.t
431 test-record.t
431 test-relink.t
432 test-relink.t
432 test-remove.t
433 test-remove.t
433 test-rename-after-merge.t
434 test-rename-after-merge.t
434 test-rename-dir-merge.t
435 test-rename-dir-merge.t
435 test-rename-merge1.t
436 test-rename-merge1.t
436 test-rename.t
437 test-rename.t
437 test-repair-strip.t
438 test-repair-strip.t
438 test-repo-compengines.t
439 test-repo-compengines.t
439 test-resolve.t
440 test-resolve.t
440 test-revert-flags.t
441 test-revert-flags.t
441 test-revert-interactive.t
442 test-revert-interactive.t
442 test-revert-unknown.t
443 test-revert-unknown.t
443 test-revlog-ancestry.py
444 test-revlog-ancestry.py
444 test-revlog-group-emptyiter.t
445 test-revlog-group-emptyiter.t
445 test-revlog-mmapindex.t
446 test-revlog-mmapindex.t
446 test-revlog-packentry.t
447 test-revlog-packentry.t
447 test-revlog-raw.py
448 test-revlog-raw.py
448 test-revlog-v2.t
449 test-revlog-v2.t
449 test-revset-dirstate-parents.t
450 test-revset-dirstate-parents.t
450 test-revset-legacy-lookup.t
451 test-revset-legacy-lookup.t
451 test-revset-outgoing.t
452 test-revset-outgoing.t
452 test-rollback.t
453 test-rollback.t
453 test-run-tests.py
454 test-run-tests.py
454 test-run-tests.t
455 test-run-tests.t
455 test-schemes.t
456 test-schemes.t
456 test-serve.t
457 test-serve.t
457 test-setdiscovery.t
458 test-setdiscovery.t
458 test-share.t
459 test-share.t
459 test-shelve.t
460 test-shelve.t
460 test-show-stack.t
461 test-show-stack.t
461 test-show-work.t
462 test-show-work.t
462 test-show.t
463 test-show.t
463 test-simple-update.t
464 test-simple-update.t
464 test-simplekeyvaluefile.py
465 test-simplekeyvaluefile.py
465 test-simplemerge.py
466 test-simplemerge.py
466 test-single-head.t
467 test-single-head.t
467 test-sparse-clear.t
468 test-sparse-clear.t
468 test-sparse-clone.t
469 test-sparse-clone.t
469 test-sparse-import.t
470 test-sparse-import.t
470 test-sparse-merges.t
471 test-sparse-merges.t
471 test-sparse-profiles.t
472 test-sparse-profiles.t
472 test-sparse-requirement.t
473 test-sparse-requirement.t
473 test-sparse-verbose-json.t
474 test-sparse-verbose-json.t
474 test-sparse.t
475 test-sparse.t
475 test-split.t
476 test-split.t
476 test-ssh-bundle1.t
477 test-ssh-bundle1.t
477 test-ssh-clone-r.t
478 test-ssh-clone-r.t
478 test-ssh-proto-unbundle.t
479 test-ssh-proto-unbundle.t
479 test-ssh-proto.t
480 test-ssh-proto.t
480 test-ssh.t
481 test-ssh.t
481 test-sshserver.py
482 test-sshserver.py
482 test-stack.t
483 test-stack.t
483 test-status-inprocess.py
484 test-status-inprocess.py
484 test-status-rev.t
485 test-status-rev.t
485 test-status-terse.t
486 test-status-terse.t
486 test-strict.t
487 test-strict.t
487 test-strip-cross.t
488 test-strip-cross.t
488 test-strip.t
489 test-strip.t
489 test-subrepo-deep-nested-change.t
490 test-subrepo-deep-nested-change.t
490 test-subrepo-missing.t
491 test-subrepo-missing.t
491 test-subrepo-paths.t
492 test-subrepo-paths.t
492 test-subrepo-recursion.t
493 test-subrepo-recursion.t
493 test-subrepo-relative-path.t
494 test-subrepo-relative-path.t
494 test-subrepo.t
495 test-subrepo.t
495 test-symlink-os-yes-fs-no.py
496 test-symlink-os-yes-fs-no.py
496 test-symlink-placeholder.t
497 test-symlink-placeholder.t
497 test-symlinks.t
498 test-symlinks.t
498 test-tag.t
499 test-tag.t
499 test-tags.t
500 test-tags.t
500 test-template-basic.t
501 test-template-basic.t
501 test-template-functions.t
502 test-template-functions.t
502 test-template-keywords.t
503 test-template-keywords.t
503 test-template-map.t
504 test-template-map.t
504 test-transplant.t
505 test-transplant.t
505 test-treemanifest.t
506 test-treemanifest.t
506 test-ui-color.py
507 test-ui-color.py
507 test-ui-config.py
508 test-ui-config.py
508 test-ui-verbosity.py
509 test-ui-verbosity.py
509 test-unamend.t
510 test-unamend.t
510 test-unbundlehash.t
511 test-unbundlehash.t
511 test-uncommit.t
512 test-uncommit.t
512 test-unified-test.t
513 test-unified-test.t
513 test-unionrepo.t
514 test-unionrepo.t
514 test-unrelated-pull.t
515 test-unrelated-pull.t
515 test-up-local-change.t
516 test-up-local-change.t
516 test-update-branches.t
517 test-update-branches.t
517 test-update-dest.t
518 test-update-dest.t
518 test-update-issue1456.t
519 test-update-issue1456.t
519 test-update-names.t
520 test-update-names.t
520 test-update-reverse.t
521 test-update-reverse.t
521 test-upgrade-repo.t
522 test-upgrade-repo.t
522 test-url-download.t
523 test-url-download.t
523 test-url-rev.t
524 test-url-rev.t
524 test-url.py
525 test-url.py
525 test-username-newline.t
526 test-username-newline.t
526 test-verify.t
527 test-verify.t
527 test-walk.t
528 test-walk.t
528 test-walkrepo.py
529 test-walkrepo.py
529 test-websub.t
530 test-websub.t
530 test-win32text.t
531 test-win32text.t
531 test-wireproto-clientreactor.py
532 test-wireproto-clientreactor.py
532 test-wireproto-framing.py
533 test-wireproto-framing.py
533 test-wireproto-serverreactor.py
534 test-wireproto-serverreactor.py
534 test-wireproto.py
535 test-wireproto.py
535 test-wsgirequest.py
536 test-wsgirequest.py
536 test-xdg.t
537 test-xdg.t
@@ -1,1276 +1,1277
1 #testcases b2-pushkey b2-binary
1 #testcases b2-pushkey b2-binary
2
2
3 #if b2-pushkey
3 #if b2-pushkey
4 $ cat << EOF >> $HGRCPATH
4 $ cat << EOF >> $HGRCPATH
5 > [devel]
5 > [devel]
6 > legacy.exchange=bookmarks
6 > legacy.exchange=bookmarks
7 > EOF
7 > EOF
8 #endif
8 #endif
9
9
10 #require serve
10 #require serve
11
11
12 $ cat << EOF >> $HGRCPATH
12 $ cat << EOF >> $HGRCPATH
13 > [ui]
13 > [ui]
14 > logtemplate={rev}:{node|short} {desc|firstline}
14 > logtemplate={rev}:{node|short} {desc|firstline}
15 > [phases]
15 > [phases]
16 > publish=False
16 > publish=False
17 > [experimental]
17 > [experimental]
18 > evolution.createmarkers=True
18 > evolution.createmarkers=True
19 > evolution.exchange=True
19 > evolution.exchange=True
20 > EOF
20 > EOF
21
21
22 $ cat > $TESTTMP/hook.sh <<'EOF'
22 $ cat > $TESTTMP/hook.sh <<'EOF'
23 > echo "test-hook-bookmark: $HG_BOOKMARK: $HG_OLDNODE -> $HG_NODE"
23 > echo "test-hook-bookmark: $HG_BOOKMARK: $HG_OLDNODE -> $HG_NODE"
24 > EOF
24 > EOF
25 $ TESTHOOK="hooks.txnclose-bookmark.test=sh $TESTTMP/hook.sh"
25 $ TESTHOOK="hooks.txnclose-bookmark.test=sh $TESTTMP/hook.sh"
26
26
27 initialize
27 initialize
28
28
29 $ hg init a
29 $ hg init a
30 $ cd a
30 $ cd a
31 $ echo 'test' > test
31 $ echo 'test' > test
32 $ hg commit -Am'test'
32 $ hg commit -Am'test'
33 adding test
33 adding test
34
34
35 set bookmarks
35 set bookmarks
36
36
37 $ hg bookmark X
37 $ hg bookmark X
38 $ hg bookmark Y
38 $ hg bookmark Y
39 $ hg bookmark Z
39 $ hg bookmark Z
40
40
41 import bookmark by name
41 import bookmark by name
42
42
43 $ hg init ../b
43 $ hg init ../b
44 $ cd ../b
44 $ cd ../b
45 $ hg book Y
45 $ hg book Y
46 $ hg book
46 $ hg book
47 * Y -1:000000000000
47 * Y -1:000000000000
48 $ hg pull ../a --config "$TESTHOOK"
48 $ hg pull ../a --config "$TESTHOOK"
49 pulling from ../a
49 pulling from ../a
50 requesting all changes
50 requesting all changes
51 adding changesets
51 adding changesets
52 adding manifests
52 adding manifests
53 adding file changes
53 adding file changes
54 added 1 changesets with 1 changes to 1 files
54 added 1 changesets with 1 changes to 1 files
55 adding remote bookmark X
55 adding remote bookmark X
56 updating bookmark Y
56 updating bookmark Y
57 adding remote bookmark Z
57 adding remote bookmark Z
58 new changesets 4e3505fd9583
58 new changesets 4e3505fd9583
59 test-hook-bookmark: X: -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
59 test-hook-bookmark: X: -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
60 test-hook-bookmark: Y: 0000000000000000000000000000000000000000 -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
60 test-hook-bookmark: Y: 0000000000000000000000000000000000000000 -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
61 test-hook-bookmark: Z: -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
61 test-hook-bookmark: Z: -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
62 (run 'hg update' to get a working copy)
62 (run 'hg update' to get a working copy)
63 $ hg bookmarks
63 $ hg bookmarks
64 X 0:4e3505fd9583
64 X 0:4e3505fd9583
65 * Y 0:4e3505fd9583
65 * Y 0:4e3505fd9583
66 Z 0:4e3505fd9583
66 Z 0:4e3505fd9583
67 $ hg debugpushkey ../a namespaces
67 $ hg debugpushkey ../a namespaces
68 bookmarks
68 bookmarks
69 namespaces
69 namespaces
70 obsolete
70 obsolete
71 phases
71 phases
72 $ hg debugpushkey ../a bookmarks
72 $ hg debugpushkey ../a bookmarks
73 X 4e3505fd95835d721066b76e75dbb8cc554d7f77
73 X 4e3505fd95835d721066b76e75dbb8cc554d7f77
74 Y 4e3505fd95835d721066b76e75dbb8cc554d7f77
74 Y 4e3505fd95835d721066b76e75dbb8cc554d7f77
75 Z 4e3505fd95835d721066b76e75dbb8cc554d7f77
75 Z 4e3505fd95835d721066b76e75dbb8cc554d7f77
76
76
77 delete the bookmark to re-pull it
77 delete the bookmark to re-pull it
78
78
79 $ hg book -d X
79 $ hg book -d X
80 $ hg pull -B X ../a
80 $ hg pull -B X ../a
81 pulling from ../a
81 pulling from ../a
82 no changes found
82 no changes found
83 adding remote bookmark X
83 adding remote bookmark X
84
84
85 finally no-op pull
85 finally no-op pull
86
86
87 $ hg pull -B X ../a
87 $ hg pull -B X ../a
88 pulling from ../a
88 pulling from ../a
89 no changes found
89 no changes found
90 $ hg bookmark
90 $ hg bookmark
91 X 0:4e3505fd9583
91 X 0:4e3505fd9583
92 * Y 0:4e3505fd9583
92 * Y 0:4e3505fd9583
93 Z 0:4e3505fd9583
93 Z 0:4e3505fd9583
94
94
95 export bookmark by name
95 export bookmark by name
96
96
97 $ hg bookmark W
97 $ hg bookmark W
98 $ hg bookmark foo
98 $ hg bookmark foo
99 $ hg bookmark foobar
99 $ hg bookmark foobar
100 $ hg push -B W ../a
100 $ hg push -B W ../a
101 pushing to ../a
101 pushing to ../a
102 searching for changes
102 searching for changes
103 no changes found
103 no changes found
104 exporting bookmark W
104 exporting bookmark W
105 [1]
105 [1]
106 $ hg -R ../a bookmarks
106 $ hg -R ../a bookmarks
107 W -1:000000000000
107 W -1:000000000000
108 X 0:4e3505fd9583
108 X 0:4e3505fd9583
109 Y 0:4e3505fd9583
109 Y 0:4e3505fd9583
110 * Z 0:4e3505fd9583
110 * Z 0:4e3505fd9583
111
111
112 delete a remote bookmark
112 delete a remote bookmark
113
113
114 $ hg book -d W
114 $ hg book -d W
115
115
116 #if b2-pushkey
116 #if b2-pushkey
117
117
118 $ hg push -B W ../a --config "$TESTHOOK" --debug --config devel.bundle2.debug=yes
118 $ hg push -B W ../a --config "$TESTHOOK" --debug --config devel.bundle2.debug=yes
119 pushing to ../a
119 pushing to ../a
120 query 1; heads
120 query 1; heads
121 searching for changes
121 searching for changes
122 all remote heads known locally
122 all remote heads known locally
123 listing keys for "phases"
123 listing keys for "phases"
124 checking for updated bookmarks
124 checking for updated bookmarks
125 listing keys for "bookmarks"
125 listing keys for "bookmarks"
126 no changes found
126 no changes found
127 bundle2-output-bundle: "HG20", 4 parts total
127 bundle2-output-bundle: "HG20", 4 parts total
128 bundle2-output: start emission of HG20 stream
128 bundle2-output: start emission of HG20 stream
129 bundle2-output: bundle parameter:
129 bundle2-output: bundle parameter:
130 bundle2-output: start of parts
130 bundle2-output: start of parts
131 bundle2-output: bundle part: "replycaps"
131 bundle2-output: bundle part: "replycaps"
132 bundle2-output-part: "replycaps" 222 bytes payload
132 bundle2-output-part: "replycaps" 222 bytes payload
133 bundle2-output: part 0: "REPLYCAPS"
133 bundle2-output: part 0: "REPLYCAPS"
134 bundle2-output: header chunk size: 16
134 bundle2-output: header chunk size: 16
135 bundle2-output: payload chunk size: 222
135 bundle2-output: payload chunk size: 222
136 bundle2-output: closing payload chunk
136 bundle2-output: closing payload chunk
137 bundle2-output: bundle part: "check:bookmarks"
137 bundle2-output: bundle part: "check:bookmarks"
138 bundle2-output-part: "check:bookmarks" 23 bytes payload
138 bundle2-output-part: "check:bookmarks" 23 bytes payload
139 bundle2-output: part 1: "CHECK:BOOKMARKS"
139 bundle2-output: part 1: "CHECK:BOOKMARKS"
140 bundle2-output: header chunk size: 22
140 bundle2-output: header chunk size: 22
141 bundle2-output: payload chunk size: 23
141 bundle2-output: payload chunk size: 23
142 bundle2-output: closing payload chunk
142 bundle2-output: closing payload chunk
143 bundle2-output: bundle part: "check:phases"
143 bundle2-output: bundle part: "check:phases"
144 bundle2-output-part: "check:phases" 48 bytes payload
144 bundle2-output-part: "check:phases" 48 bytes payload
145 bundle2-output: part 2: "CHECK:PHASES"
145 bundle2-output: part 2: "CHECK:PHASES"
146 bundle2-output: header chunk size: 19
146 bundle2-output: header chunk size: 19
147 bundle2-output: payload chunk size: 48
147 bundle2-output: payload chunk size: 48
148 bundle2-output: closing payload chunk
148 bundle2-output: closing payload chunk
149 bundle2-output: bundle part: "pushkey"
149 bundle2-output: bundle part: "pushkey"
150 bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload
150 bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload
151 bundle2-output: part 3: "PUSHKEY"
151 bundle2-output: part 3: "PUSHKEY"
152 bundle2-output: header chunk size: 90
152 bundle2-output: header chunk size: 90
153 bundle2-output: closing payload chunk
153 bundle2-output: closing payload chunk
154 bundle2-output: end of bundle
154 bundle2-output: end of bundle
155 bundle2-input: start processing of HG20 stream
155 bundle2-input: start processing of HG20 stream
156 bundle2-input: reading bundle2 stream parameters
156 bundle2-input: reading bundle2 stream parameters
157 bundle2-input-bundle: with-transaction
157 bundle2-input-bundle: with-transaction
158 bundle2-input: start extraction of bundle2 parts
158 bundle2-input: start extraction of bundle2 parts
159 bundle2-input: part header size: 16
159 bundle2-input: part header size: 16
160 bundle2-input: part type: "REPLYCAPS"
160 bundle2-input: part type: "REPLYCAPS"
161 bundle2-input: part id: "0"
161 bundle2-input: part id: "0"
162 bundle2-input: part parameters: 0
162 bundle2-input: part parameters: 0
163 bundle2-input: found a handler for part replycaps
163 bundle2-input: found a handler for part replycaps
164 bundle2-input-part: "replycaps" supported
164 bundle2-input-part: "replycaps" supported
165 bundle2-input: payload chunk size: 222
165 bundle2-input: payload chunk size: 222
166 bundle2-input: payload chunk size: 0
166 bundle2-input: payload chunk size: 0
167 bundle2-input-part: total payload size 222
167 bundle2-input-part: total payload size 222
168 bundle2-input: part header size: 22
168 bundle2-input: part header size: 22
169 bundle2-input: part type: "CHECK:BOOKMARKS"
169 bundle2-input: part type: "CHECK:BOOKMARKS"
170 bundle2-input: part id: "1"
170 bundle2-input: part id: "1"
171 bundle2-input: part parameters: 0
171 bundle2-input: part parameters: 0
172 bundle2-input: found a handler for part check:bookmarks
172 bundle2-input: found a handler for part check:bookmarks
173 bundle2-input-part: "check:bookmarks" supported
173 bundle2-input-part: "check:bookmarks" supported
174 bundle2-input: payload chunk size: 23
174 bundle2-input: payload chunk size: 23
175 bundle2-input: payload chunk size: 0
175 bundle2-input: payload chunk size: 0
176 bundle2-input-part: total payload size 23
176 bundle2-input-part: total payload size 23
177 bundle2-input: part header size: 19
177 bundle2-input: part header size: 19
178 bundle2-input: part type: "CHECK:PHASES"
178 bundle2-input: part type: "CHECK:PHASES"
179 bundle2-input: part id: "2"
179 bundle2-input: part id: "2"
180 bundle2-input: part parameters: 0
180 bundle2-input: part parameters: 0
181 bundle2-input: found a handler for part check:phases
181 bundle2-input: found a handler for part check:phases
182 bundle2-input-part: "check:phases" supported
182 bundle2-input-part: "check:phases" supported
183 bundle2-input: payload chunk size: 48
183 bundle2-input: payload chunk size: 48
184 bundle2-input: payload chunk size: 0
184 bundle2-input: payload chunk size: 0
185 bundle2-input-part: total payload size 48
185 bundle2-input-part: total payload size 48
186 bundle2-input: part header size: 90
186 bundle2-input: part header size: 90
187 bundle2-input: part type: "PUSHKEY"
187 bundle2-input: part type: "PUSHKEY"
188 bundle2-input: part id: "3"
188 bundle2-input: part id: "3"
189 bundle2-input: part parameters: 4
189 bundle2-input: part parameters: 4
190 bundle2-input: found a handler for part pushkey
190 bundle2-input: found a handler for part pushkey
191 bundle2-input-part: "pushkey" (params: 4 mandatory) supported
191 bundle2-input-part: "pushkey" (params: 4 mandatory) supported
192 pushing key for "bookmarks:W"
192 pushing key for "bookmarks:W"
193 bundle2-input: payload chunk size: 0
193 bundle2-input: payload chunk size: 0
194 bundle2-input: part header size: 0
194 bundle2-input: part header size: 0
195 bundle2-input: end of bundle2 stream
195 bundle2-input: end of bundle2 stream
196 bundle2-input-bundle: 3 parts total
196 bundle2-input-bundle: 3 parts total
197 running hook txnclose-bookmark.test: sh $TESTTMP/hook.sh
197 running hook txnclose-bookmark.test: sh $TESTTMP/hook.sh
198 test-hook-bookmark: W: 0000000000000000000000000000000000000000 ->
198 test-hook-bookmark: W: 0000000000000000000000000000000000000000 ->
199 bundle2-output-bundle: "HG20", 1 parts total
199 bundle2-output-bundle: "HG20", 1 parts total
200 bundle2-output: start emission of HG20 stream
200 bundle2-output: start emission of HG20 stream
201 bundle2-output: bundle parameter:
201 bundle2-output: bundle parameter:
202 bundle2-output: start of parts
202 bundle2-output: start of parts
203 bundle2-output: bundle part: "reply:pushkey"
203 bundle2-output: bundle part: "reply:pushkey"
204 bundle2-output-part: "reply:pushkey" (params: 0 advisory) empty payload
204 bundle2-output-part: "reply:pushkey" (params: 0 advisory) empty payload
205 bundle2-output: part 0: "REPLY:PUSHKEY"
205 bundle2-output: part 0: "REPLY:PUSHKEY"
206 bundle2-output: header chunk size: 43
206 bundle2-output: header chunk size: 43
207 bundle2-output: closing payload chunk
207 bundle2-output: closing payload chunk
208 bundle2-output: end of bundle
208 bundle2-output: end of bundle
209 bundle2-input: start processing of HG20 stream
209 bundle2-input: start processing of HG20 stream
210 bundle2-input: reading bundle2 stream parameters
210 bundle2-input: reading bundle2 stream parameters
211 bundle2-input-bundle: no-transaction
211 bundle2-input-bundle: no-transaction
212 bundle2-input: start extraction of bundle2 parts
212 bundle2-input: start extraction of bundle2 parts
213 bundle2-input: part header size: 43
213 bundle2-input: part header size: 43
214 bundle2-input: part type: "REPLY:PUSHKEY"
214 bundle2-input: part type: "REPLY:PUSHKEY"
215 bundle2-input: part id: "0"
215 bundle2-input: part id: "0"
216 bundle2-input: part parameters: 2
216 bundle2-input: part parameters: 2
217 bundle2-input: found a handler for part reply:pushkey
217 bundle2-input: found a handler for part reply:pushkey
218 bundle2-input-part: "reply:pushkey" (params: 0 advisory) supported
218 bundle2-input-part: "reply:pushkey" (params: 0 advisory) supported
219 bundle2-input: payload chunk size: 0
219 bundle2-input: payload chunk size: 0
220 bundle2-input: part header size: 0
220 bundle2-input: part header size: 0
221 bundle2-input: end of bundle2 stream
221 bundle2-input: end of bundle2 stream
222 bundle2-input-bundle: 0 parts total
222 bundle2-input-bundle: 0 parts total
223 deleting remote bookmark W
223 deleting remote bookmark W
224 listing keys for "phases"
224 listing keys for "phases"
225 [1]
225 [1]
226
226
227 #endif
227 #endif
228 #if b2-binary
228 #if b2-binary
229
229
230 $ hg push -B W ../a --config "$TESTHOOK" --debug --config devel.bundle2.debug=yes
230 $ hg push -B W ../a --config "$TESTHOOK" --debug --config devel.bundle2.debug=yes
231 pushing to ../a
231 pushing to ../a
232 query 1; heads
232 query 1; heads
233 searching for changes
233 searching for changes
234 all remote heads known locally
234 all remote heads known locally
235 listing keys for "phases"
235 listing keys for "phases"
236 checking for updated bookmarks
236 checking for updated bookmarks
237 listing keys for "bookmarks"
237 listing keys for "bookmarks"
238 no changes found
238 no changes found
239 bundle2-output-bundle: "HG20", 4 parts total
239 bundle2-output-bundle: "HG20", 4 parts total
240 bundle2-output: start emission of HG20 stream
240 bundle2-output: start emission of HG20 stream
241 bundle2-output: bundle parameter:
241 bundle2-output: bundle parameter:
242 bundle2-output: start of parts
242 bundle2-output: start of parts
243 bundle2-output: bundle part: "replycaps"
243 bundle2-output: bundle part: "replycaps"
244 bundle2-output-part: "replycaps" 222 bytes payload
244 bundle2-output-part: "replycaps" 222 bytes payload
245 bundle2-output: part 0: "REPLYCAPS"
245 bundle2-output: part 0: "REPLYCAPS"
246 bundle2-output: header chunk size: 16
246 bundle2-output: header chunk size: 16
247 bundle2-output: payload chunk size: 222
247 bundle2-output: payload chunk size: 222
248 bundle2-output: closing payload chunk
248 bundle2-output: closing payload chunk
249 bundle2-output: bundle part: "check:bookmarks"
249 bundle2-output: bundle part: "check:bookmarks"
250 bundle2-output-part: "check:bookmarks" 23 bytes payload
250 bundle2-output-part: "check:bookmarks" 23 bytes payload
251 bundle2-output: part 1: "CHECK:BOOKMARKS"
251 bundle2-output: part 1: "CHECK:BOOKMARKS"
252 bundle2-output: header chunk size: 22
252 bundle2-output: header chunk size: 22
253 bundle2-output: payload chunk size: 23
253 bundle2-output: payload chunk size: 23
254 bundle2-output: closing payload chunk
254 bundle2-output: closing payload chunk
255 bundle2-output: bundle part: "check:phases"
255 bundle2-output: bundle part: "check:phases"
256 bundle2-output-part: "check:phases" 48 bytes payload
256 bundle2-output-part: "check:phases" 48 bytes payload
257 bundle2-output: part 2: "CHECK:PHASES"
257 bundle2-output: part 2: "CHECK:PHASES"
258 bundle2-output: header chunk size: 19
258 bundle2-output: header chunk size: 19
259 bundle2-output: payload chunk size: 48
259 bundle2-output: payload chunk size: 48
260 bundle2-output: closing payload chunk
260 bundle2-output: closing payload chunk
261 bundle2-output: bundle part: "bookmarks"
261 bundle2-output: bundle part: "bookmarks"
262 bundle2-output-part: "bookmarks" 23 bytes payload
262 bundle2-output-part: "bookmarks" 23 bytes payload
263 bundle2-output: part 3: "BOOKMARKS"
263 bundle2-output: part 3: "BOOKMARKS"
264 bundle2-output: header chunk size: 16
264 bundle2-output: header chunk size: 16
265 bundle2-output: payload chunk size: 23
265 bundle2-output: payload chunk size: 23
266 bundle2-output: closing payload chunk
266 bundle2-output: closing payload chunk
267 bundle2-output: end of bundle
267 bundle2-output: end of bundle
268 bundle2-input: start processing of HG20 stream
268 bundle2-input: start processing of HG20 stream
269 bundle2-input: reading bundle2 stream parameters
269 bundle2-input: reading bundle2 stream parameters
270 bundle2-input-bundle: with-transaction
270 bundle2-input-bundle: with-transaction
271 bundle2-input: start extraction of bundle2 parts
271 bundle2-input: start extraction of bundle2 parts
272 bundle2-input: part header size: 16
272 bundle2-input: part header size: 16
273 bundle2-input: part type: "REPLYCAPS"
273 bundle2-input: part type: "REPLYCAPS"
274 bundle2-input: part id: "0"
274 bundle2-input: part id: "0"
275 bundle2-input: part parameters: 0
275 bundle2-input: part parameters: 0
276 bundle2-input: found a handler for part replycaps
276 bundle2-input: found a handler for part replycaps
277 bundle2-input-part: "replycaps" supported
277 bundle2-input-part: "replycaps" supported
278 bundle2-input: payload chunk size: 222
278 bundle2-input: payload chunk size: 222
279 bundle2-input: payload chunk size: 0
279 bundle2-input: payload chunk size: 0
280 bundle2-input-part: total payload size 222
280 bundle2-input-part: total payload size 222
281 bundle2-input: part header size: 22
281 bundle2-input: part header size: 22
282 bundle2-input: part type: "CHECK:BOOKMARKS"
282 bundle2-input: part type: "CHECK:BOOKMARKS"
283 bundle2-input: part id: "1"
283 bundle2-input: part id: "1"
284 bundle2-input: part parameters: 0
284 bundle2-input: part parameters: 0
285 bundle2-input: found a handler for part check:bookmarks
285 bundle2-input: found a handler for part check:bookmarks
286 bundle2-input-part: "check:bookmarks" supported
286 bundle2-input-part: "check:bookmarks" supported
287 bundle2-input: payload chunk size: 23
287 bundle2-input: payload chunk size: 23
288 bundle2-input: payload chunk size: 0
288 bundle2-input: payload chunk size: 0
289 bundle2-input-part: total payload size 23
289 bundle2-input-part: total payload size 23
290 bundle2-input: part header size: 19
290 bundle2-input: part header size: 19
291 bundle2-input: part type: "CHECK:PHASES"
291 bundle2-input: part type: "CHECK:PHASES"
292 bundle2-input: part id: "2"
292 bundle2-input: part id: "2"
293 bundle2-input: part parameters: 0
293 bundle2-input: part parameters: 0
294 bundle2-input: found a handler for part check:phases
294 bundle2-input: found a handler for part check:phases
295 bundle2-input-part: "check:phases" supported
295 bundle2-input-part: "check:phases" supported
296 bundle2-input: payload chunk size: 48
296 bundle2-input: payload chunk size: 48
297 bundle2-input: payload chunk size: 0
297 bundle2-input: payload chunk size: 0
298 bundle2-input-part: total payload size 48
298 bundle2-input-part: total payload size 48
299 bundle2-input: part header size: 16
299 bundle2-input: part header size: 16
300 bundle2-input: part type: "BOOKMARKS"
300 bundle2-input: part type: "BOOKMARKS"
301 bundle2-input: part id: "3"
301 bundle2-input: part id: "3"
302 bundle2-input: part parameters: 0
302 bundle2-input: part parameters: 0
303 bundle2-input: found a handler for part bookmarks
303 bundle2-input: found a handler for part bookmarks
304 bundle2-input-part: "bookmarks" supported
304 bundle2-input-part: "bookmarks" supported
305 bundle2-input: payload chunk size: 23
305 bundle2-input: payload chunk size: 23
306 bundle2-input: payload chunk size: 0
306 bundle2-input: payload chunk size: 0
307 bundle2-input-part: total payload size 23
307 bundle2-input-part: total payload size 23
308 bundle2-input: part header size: 0
308 bundle2-input: part header size: 0
309 bundle2-input: end of bundle2 stream
309 bundle2-input: end of bundle2 stream
310 bundle2-input-bundle: 3 parts total
310 bundle2-input-bundle: 3 parts total
311 running hook txnclose-bookmark.test: sh $TESTTMP/hook.sh
311 running hook txnclose-bookmark.test: sh $TESTTMP/hook.sh
312 test-hook-bookmark: W: 0000000000000000000000000000000000000000 ->
312 test-hook-bookmark: W: 0000000000000000000000000000000000000000 ->
313 bundle2-output-bundle: "HG20", 0 parts total
313 bundle2-output-bundle: "HG20", 0 parts total
314 bundle2-output: start emission of HG20 stream
314 bundle2-output: start emission of HG20 stream
315 bundle2-output: bundle parameter:
315 bundle2-output: bundle parameter:
316 bundle2-output: start of parts
316 bundle2-output: start of parts
317 bundle2-output: end of bundle
317 bundle2-output: end of bundle
318 bundle2-input: start processing of HG20 stream
318 bundle2-input: start processing of HG20 stream
319 bundle2-input: reading bundle2 stream parameters
319 bundle2-input: reading bundle2 stream parameters
320 bundle2-input-bundle: no-transaction
320 bundle2-input-bundle: no-transaction
321 bundle2-input: start extraction of bundle2 parts
321 bundle2-input: start extraction of bundle2 parts
322 bundle2-input: part header size: 0
322 bundle2-input: part header size: 0
323 bundle2-input: end of bundle2 stream
323 bundle2-input: end of bundle2 stream
324 bundle2-input-bundle: 0 parts total
324 bundle2-input-bundle: 0 parts total
325 deleting remote bookmark W
325 deleting remote bookmark W
326 listing keys for "phases"
326 listing keys for "phases"
327 [1]
327 [1]
328
328
329 #endif
329 #endif
330
330
331 export the active bookmark
331 export the active bookmark
332
332
333 $ hg bookmark V
333 $ hg bookmark V
334 $ hg push -B . ../a
334 $ hg push -B . ../a
335 pushing to ../a
335 pushing to ../a
336 searching for changes
336 searching for changes
337 no changes found
337 no changes found
338 exporting bookmark V
338 exporting bookmark V
339 [1]
339 [1]
340
340
341 exporting the active bookmark with 'push -B .'
341 exporting the active bookmark with 'push -B .'
342 demand that one of the bookmarks is activated
342 demand that one of the bookmarks is activated
343
343
344 $ hg update -r default
344 $ hg update -r default
345 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
345 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
346 (leaving bookmark V)
346 (leaving bookmark V)
347 $ hg push -B . ../a
347 $ hg push -B . ../a
348 abort: no active bookmark
348 abort: no active bookmark
349 [255]
349 [255]
350 $ hg update -r V
350 $ hg update -r V
351 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
351 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
352 (activating bookmark V)
352 (activating bookmark V)
353
353
354 delete the bookmark
354 delete the bookmark
355
355
356 $ hg book -d V
356 $ hg book -d V
357 $ hg push -B V ../a
357 $ hg push -B V ../a
358 pushing to ../a
358 pushing to ../a
359 searching for changes
359 searching for changes
360 no changes found
360 no changes found
361 deleting remote bookmark V
361 deleting remote bookmark V
362 [1]
362 [1]
363 $ hg up foobar
363 $ hg up foobar
364 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
364 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
365 (activating bookmark foobar)
365 (activating bookmark foobar)
366
366
367 push/pull name that doesn't exist
367 push/pull name that doesn't exist
368
368
369 $ hg push -B badname ../a
369 $ hg push -B badname ../a
370 pushing to ../a
370 pushing to ../a
371 searching for changes
371 searching for changes
372 bookmark badname does not exist on the local or remote repository!
372 bookmark badname does not exist on the local or remote repository!
373 no changes found
373 no changes found
374 [2]
374 [2]
375 $ hg pull -B anotherbadname ../a
375 $ hg pull -B anotherbadname ../a
376 pulling from ../a
376 pulling from ../a
377 abort: remote bookmark anotherbadname not found!
377 abort: remote bookmark anotherbadname not found!
378 [255]
378 [255]
379
379
380 divergent bookmarks
380 divergent bookmarks
381
381
382 $ cd ../a
382 $ cd ../a
383 $ echo c1 > f1
383 $ echo c1 > f1
384 $ hg ci -Am1
384 $ hg ci -Am1
385 adding f1
385 adding f1
386 $ hg book -f @
386 $ hg book -f @
387 $ hg book -f X
387 $ hg book -f X
388 $ hg book
388 $ hg book
389 @ 1:0d2164f0ce0d
389 @ 1:0d2164f0ce0d
390 * X 1:0d2164f0ce0d
390 * X 1:0d2164f0ce0d
391 Y 0:4e3505fd9583
391 Y 0:4e3505fd9583
392 Z 1:0d2164f0ce0d
392 Z 1:0d2164f0ce0d
393
393
394 $ cd ../b
394 $ cd ../b
395 $ hg up
395 $ hg up
396 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
396 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
397 updating bookmark foobar
397 updating bookmark foobar
398 $ echo c2 > f2
398 $ echo c2 > f2
399 $ hg ci -Am2
399 $ hg ci -Am2
400 adding f2
400 adding f2
401 $ hg book -if @
401 $ hg book -if @
402 $ hg book -if X
402 $ hg book -if X
403 $ hg book
403 $ hg book
404 @ 1:9b140be10808
404 @ 1:9b140be10808
405 X 1:9b140be10808
405 X 1:9b140be10808
406 Y 0:4e3505fd9583
406 Y 0:4e3505fd9583
407 Z 0:4e3505fd9583
407 Z 0:4e3505fd9583
408 foo -1:000000000000
408 foo -1:000000000000
409 * foobar 1:9b140be10808
409 * foobar 1:9b140be10808
410
410
411 $ hg pull --config paths.foo=../a foo --config "$TESTHOOK"
411 $ hg pull --config paths.foo=../a foo --config "$TESTHOOK"
412 pulling from $TESTTMP/a
412 pulling from $TESTTMP/a
413 searching for changes
413 searching for changes
414 adding changesets
414 adding changesets
415 adding manifests
415 adding manifests
416 adding file changes
416 adding file changes
417 added 1 changesets with 1 changes to 1 files (+1 heads)
417 added 1 changesets with 1 changes to 1 files (+1 heads)
418 divergent bookmark @ stored as @foo
418 divergent bookmark @ stored as @foo
419 divergent bookmark X stored as X@foo
419 divergent bookmark X stored as X@foo
420 updating bookmark Z
420 updating bookmark Z
421 new changesets 0d2164f0ce0d
421 new changesets 0d2164f0ce0d
422 test-hook-bookmark: @foo: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
422 test-hook-bookmark: @foo: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
423 test-hook-bookmark: X@foo: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
423 test-hook-bookmark: X@foo: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
424 test-hook-bookmark: Z: 4e3505fd95835d721066b76e75dbb8cc554d7f77 -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
424 test-hook-bookmark: Z: 4e3505fd95835d721066b76e75dbb8cc554d7f77 -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
425 (run 'hg heads' to see heads, 'hg merge' to merge)
425 (run 'hg heads' to see heads, 'hg merge' to merge)
426 $ hg book
426 $ hg book
427 @ 1:9b140be10808
427 @ 1:9b140be10808
428 @foo 2:0d2164f0ce0d
428 @foo 2:0d2164f0ce0d
429 X 1:9b140be10808
429 X 1:9b140be10808
430 X@foo 2:0d2164f0ce0d
430 X@foo 2:0d2164f0ce0d
431 Y 0:4e3505fd9583
431 Y 0:4e3505fd9583
432 Z 2:0d2164f0ce0d
432 Z 2:0d2164f0ce0d
433 foo -1:000000000000
433 foo -1:000000000000
434 * foobar 1:9b140be10808
434 * foobar 1:9b140be10808
435
435
436 (test that too many divergence of bookmark)
436 (test that too many divergence of bookmark)
437
437
438 $ $PYTHON $TESTDIR/seq.py 1 100 | while read i; do hg bookmarks -r 000000000000 "X@${i}"; done
438 $ $PYTHON $TESTDIR/seq.py 1 100 | while read i; do hg bookmarks -r 000000000000 "X@${i}"; done
439 $ hg pull ../a
439 $ hg pull ../a
440 pulling from ../a
440 pulling from ../a
441 searching for changes
441 searching for changes
442 no changes found
442 no changes found
443 warning: failed to assign numbered name to divergent bookmark X
443 warning: failed to assign numbered name to divergent bookmark X
444 divergent bookmark @ stored as @1
444 divergent bookmark @ stored as @1
445 $ hg bookmarks | grep '^ X' | grep -v ':000000000000'
445 $ hg bookmarks | grep '^ X' | grep -v ':000000000000'
446 X 1:9b140be10808
446 X 1:9b140be10808
447 X@foo 2:0d2164f0ce0d
447 X@foo 2:0d2164f0ce0d
448
448
449 (test that remotely diverged bookmarks are reused if they aren't changed)
449 (test that remotely diverged bookmarks are reused if they aren't changed)
450
450
451 $ hg bookmarks | grep '^ @'
451 $ hg bookmarks | grep '^ @'
452 @ 1:9b140be10808
452 @ 1:9b140be10808
453 @1 2:0d2164f0ce0d
453 @1 2:0d2164f0ce0d
454 @foo 2:0d2164f0ce0d
454 @foo 2:0d2164f0ce0d
455 $ hg pull ../a
455 $ hg pull ../a
456 pulling from ../a
456 pulling from ../a
457 searching for changes
457 searching for changes
458 no changes found
458 no changes found
459 warning: failed to assign numbered name to divergent bookmark X
459 warning: failed to assign numbered name to divergent bookmark X
460 divergent bookmark @ stored as @1
460 divergent bookmark @ stored as @1
461 $ hg bookmarks | grep '^ @'
461 $ hg bookmarks | grep '^ @'
462 @ 1:9b140be10808
462 @ 1:9b140be10808
463 @1 2:0d2164f0ce0d
463 @1 2:0d2164f0ce0d
464 @foo 2:0d2164f0ce0d
464 @foo 2:0d2164f0ce0d
465
465
466 $ $PYTHON $TESTDIR/seq.py 1 100 | while read i; do hg bookmarks -d "X@${i}"; done
466 $ $PYTHON $TESTDIR/seq.py 1 100 | while read i; do hg bookmarks -d "X@${i}"; done
467 $ hg bookmarks -d "@1"
467 $ hg bookmarks -d "@1"
468
468
469 $ hg push -f ../a
469 $ hg push -f ../a
470 pushing to ../a
470 pushing to ../a
471 searching for changes
471 searching for changes
472 adding changesets
472 adding changesets
473 adding manifests
473 adding manifests
474 adding file changes
474 adding file changes
475 added 1 changesets with 1 changes to 1 files (+1 heads)
475 added 1 changesets with 1 changes to 1 files (+1 heads)
476 $ hg -R ../a book
476 $ hg -R ../a book
477 @ 1:0d2164f0ce0d
477 @ 1:0d2164f0ce0d
478 * X 1:0d2164f0ce0d
478 * X 1:0d2164f0ce0d
479 Y 0:4e3505fd9583
479 Y 0:4e3505fd9583
480 Z 1:0d2164f0ce0d
480 Z 1:0d2164f0ce0d
481
481
482 explicit pull should overwrite the local version (issue4439)
482 explicit pull should overwrite the local version (issue4439)
483
483
484 $ hg update -r X
484 $ hg update -r X
485 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
485 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
486 (activating bookmark X)
486 (activating bookmark X)
487 $ hg pull --config paths.foo=../a foo -B . --config "$TESTHOOK"
487 $ hg pull --config paths.foo=../a foo -B . --config "$TESTHOOK"
488 pulling from $TESTTMP/a
488 pulling from $TESTTMP/a
489 no changes found
489 no changes found
490 divergent bookmark @ stored as @foo
490 divergent bookmark @ stored as @foo
491 importing bookmark X
491 importing bookmark X
492 test-hook-bookmark: @foo: 0d2164f0ce0d8f1d6f94351eba04b794909be66c -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
492 test-hook-bookmark: @foo: 0d2164f0ce0d8f1d6f94351eba04b794909be66c -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
493 test-hook-bookmark: X: 9b140be1080824d768c5a4691a564088eede71f9 -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
493 test-hook-bookmark: X: 9b140be1080824d768c5a4691a564088eede71f9 -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
494
494
495 reinstall state for further testing:
495 reinstall state for further testing:
496
496
497 $ hg book -fr 9b140be10808 X
497 $ hg book -fr 9b140be10808 X
498
498
499 revsets should not ignore divergent bookmarks
499 revsets should not ignore divergent bookmarks
500
500
501 $ hg bookmark -fr 1 Z
501 $ hg bookmark -fr 1 Z
502 $ hg log -r 'bookmark()' --template '{rev}:{node|short} {bookmarks}\n'
502 $ hg log -r 'bookmark()' --template '{rev}:{node|short} {bookmarks}\n'
503 0:4e3505fd9583 Y
503 0:4e3505fd9583 Y
504 1:9b140be10808 @ X Z foobar
504 1:9b140be10808 @ X Z foobar
505 2:0d2164f0ce0d @foo X@foo
505 2:0d2164f0ce0d @foo X@foo
506 $ hg log -r 'bookmark("X@foo")' --template '{rev}:{node|short} {bookmarks}\n'
506 $ hg log -r 'bookmark("X@foo")' --template '{rev}:{node|short} {bookmarks}\n'
507 2:0d2164f0ce0d @foo X@foo
507 2:0d2164f0ce0d @foo X@foo
508 $ hg log -r 'bookmark("re:X@foo")' --template '{rev}:{node|short} {bookmarks}\n'
508 $ hg log -r 'bookmark("re:X@foo")' --template '{rev}:{node|short} {bookmarks}\n'
509 2:0d2164f0ce0d @foo X@foo
509 2:0d2164f0ce0d @foo X@foo
510
510
511 update a remote bookmark from a non-head to a head
511 update a remote bookmark from a non-head to a head
512
512
513 $ hg up -q Y
513 $ hg up -q Y
514 $ echo c3 > f2
514 $ echo c3 > f2
515 $ hg ci -Am3
515 $ hg ci -Am3
516 adding f2
516 adding f2
517 created new head
517 created new head
518 $ hg push ../a --config "$TESTHOOK"
518 $ hg push ../a --config "$TESTHOOK"
519 pushing to ../a
519 pushing to ../a
520 searching for changes
520 searching for changes
521 adding changesets
521 adding changesets
522 adding manifests
522 adding manifests
523 adding file changes
523 adding file changes
524 added 1 changesets with 1 changes to 1 files (+1 heads)
524 added 1 changesets with 1 changes to 1 files (+1 heads)
525 test-hook-bookmark: Y: 4e3505fd95835d721066b76e75dbb8cc554d7f77 -> f6fc62dde3c0771e29704af56ba4d8af77abcc2f
525 test-hook-bookmark: Y: 4e3505fd95835d721066b76e75dbb8cc554d7f77 -> f6fc62dde3c0771e29704af56ba4d8af77abcc2f
526 updating bookmark Y
526 updating bookmark Y
527 $ hg -R ../a book
527 $ hg -R ../a book
528 @ 1:0d2164f0ce0d
528 @ 1:0d2164f0ce0d
529 * X 1:0d2164f0ce0d
529 * X 1:0d2164f0ce0d
530 Y 3:f6fc62dde3c0
530 Y 3:f6fc62dde3c0
531 Z 1:0d2164f0ce0d
531 Z 1:0d2164f0ce0d
532
532
533 update a bookmark in the middle of a client pulling changes
533 update a bookmark in the middle of a client pulling changes
534
534
535 $ cd ..
535 $ cd ..
536 $ hg clone -q a pull-race
536 $ hg clone -q a pull-race
537
537
538 We want to use http because it is stateless and therefore more susceptible to
538 We want to use http because it is stateless and therefore more susceptible to
539 race conditions
539 race conditions
540
540
541 $ hg serve -R pull-race -p $HGPORT -d --pid-file=pull-race.pid -E main-error.log
541 $ hg serve -R pull-race -p $HGPORT -d --pid-file=pull-race.pid -E main-error.log
542 $ cat pull-race.pid >> $DAEMON_PIDS
542 $ cat pull-race.pid >> $DAEMON_PIDS
543
543
544 $ cat <<EOF > $TESTTMP/out_makecommit.sh
544 $ cat <<EOF > $TESTTMP/out_makecommit.sh
545 > #!/bin/sh
545 > #!/bin/sh
546 > hg ci -Am5
546 > hg ci -Am5
547 > echo committed in pull-race
547 > echo committed in pull-race
548 > EOF
548 > EOF
549
549
550 $ hg clone -q http://localhost:$HGPORT/ pull-race2 --config "$TESTHOOK"
550 $ hg clone -q http://localhost:$HGPORT/ pull-race2 --config "$TESTHOOK"
551 test-hook-bookmark: @: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
551 test-hook-bookmark: @: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
552 test-hook-bookmark: X: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
552 test-hook-bookmark: X: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
553 test-hook-bookmark: Y: -> f6fc62dde3c0771e29704af56ba4d8af77abcc2f
553 test-hook-bookmark: Y: -> f6fc62dde3c0771e29704af56ba4d8af77abcc2f
554 test-hook-bookmark: Z: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
554 test-hook-bookmark: Z: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
555 $ cd pull-race
555 $ cd pull-race
556 $ hg up -q Y
556 $ hg up -q Y
557 $ echo c4 > f2
557 $ echo c4 > f2
558 $ hg ci -Am4
558 $ hg ci -Am4
559 $ echo c5 > f3
559 $ echo c5 > f3
560 $ cat <<EOF > .hg/hgrc
560 $ cat <<EOF > .hg/hgrc
561 > [hooks]
561 > [hooks]
562 > outgoing.makecommit = sh $TESTTMP/out_makecommit.sh
562 > outgoing.makecommit = sh $TESTTMP/out_makecommit.sh
563 > EOF
563 > EOF
564
564
565 (new config needs a server restart)
565 (new config needs a server restart)
566
566
567 $ cd ..
567 $ cd ..
568 $ killdaemons.py
568 $ killdaemons.py
569 $ hg serve -R pull-race -p $HGPORT -d --pid-file=pull-race.pid -E main-error.log
569 $ hg serve -R pull-race -p $HGPORT -d --pid-file=pull-race.pid -E main-error.log
570 $ cat pull-race.pid >> $DAEMON_PIDS
570 $ cat pull-race.pid >> $DAEMON_PIDS
571 $ cd pull-race2
571 $ cd pull-race2
572 $ hg -R $TESTTMP/pull-race book
572 $ hg -R $TESTTMP/pull-race book
573 @ 1:0d2164f0ce0d
573 @ 1:0d2164f0ce0d
574 X 1:0d2164f0ce0d
574 X 1:0d2164f0ce0d
575 * Y 4:b0a5eff05604
575 * Y 4:b0a5eff05604
576 Z 1:0d2164f0ce0d
576 Z 1:0d2164f0ce0d
577 $ hg pull
577 $ hg pull
578 pulling from http://localhost:$HGPORT/
578 pulling from http://localhost:$HGPORT/
579 searching for changes
579 searching for changes
580 adding changesets
580 adding changesets
581 adding manifests
581 adding manifests
582 adding file changes
582 adding file changes
583 added 1 changesets with 1 changes to 1 files
583 added 1 changesets with 1 changes to 1 files
584 updating bookmark Y
584 updating bookmark Y
585 new changesets b0a5eff05604
585 new changesets b0a5eff05604
586 (run 'hg update' to get a working copy)
586 (run 'hg update' to get a working copy)
587 $ hg book
587 $ hg book
588 * @ 1:0d2164f0ce0d
588 * @ 1:0d2164f0ce0d
589 X 1:0d2164f0ce0d
589 X 1:0d2164f0ce0d
590 Y 4:b0a5eff05604
590 Y 4:b0a5eff05604
591 Z 1:0d2164f0ce0d
591 Z 1:0d2164f0ce0d
592
592
593 Update a bookmark right after the initial lookup -B (issue4689)
593 Update a bookmark right after the initial lookup -B (issue4689)
594
594
595 $ echo c6 > ../pull-race/f3 # to be committed during the race
595 $ echo c6 > ../pull-race/f3 # to be committed during the race
596 $ cat <<EOF > $TESTTMP/listkeys_makecommit.sh
596 $ cat <<EOF > $TESTTMP/listkeys_makecommit.sh
597 > #!/bin/sh
597 > #!/bin/sh
598 > if hg st | grep -q M; then
598 > if hg st | grep -q M; then
599 > hg commit -m race
599 > hg commit -m race
600 > echo committed in pull-race
600 > echo committed in pull-race
601 > else
601 > else
602 > exit 0
602 > exit 0
603 > fi
603 > fi
604 > EOF
604 > EOF
605 $ cat <<EOF > ../pull-race/.hg/hgrc
605 $ cat <<EOF > ../pull-race/.hg/hgrc
606 > [hooks]
606 > [hooks]
607 > # If anything to commit, commit it right after the first key listing used
607 > # If anything to commit, commit it right after the first key listing used
608 > # during lookup. This makes the commit appear before the actual getbundle
608 > # during lookup. This makes the commit appear before the actual getbundle
609 > # call.
609 > # call.
610 > listkeys.makecommit= sh $TESTTMP/listkeys_makecommit.sh
610 > listkeys.makecommit= sh $TESTTMP/listkeys_makecommit.sh
611 > EOF
611 > EOF
612
612
613 (new config need server restart)
613 (new config need server restart)
614
614
615 $ killdaemons.py
615 $ killdaemons.py
616 $ hg serve -R ../pull-race -p $HGPORT -d --pid-file=../pull-race.pid -E main-error.log
616 $ hg serve -R ../pull-race -p $HGPORT -d --pid-file=../pull-race.pid -E main-error.log
617 $ cat ../pull-race.pid >> $DAEMON_PIDS
617 $ cat ../pull-race.pid >> $DAEMON_PIDS
618
618
619 $ hg -R $TESTTMP/pull-race book
619 $ hg -R $TESTTMP/pull-race book
620 @ 1:0d2164f0ce0d
620 @ 1:0d2164f0ce0d
621 X 1:0d2164f0ce0d
621 X 1:0d2164f0ce0d
622 * Y 5:35d1ef0a8d1b
622 * Y 5:35d1ef0a8d1b
623 Z 1:0d2164f0ce0d
623 Z 1:0d2164f0ce0d
624 $ hg update -r Y
624 $ hg update -r Y
625 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
625 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
626 (activating bookmark Y)
626 (activating bookmark Y)
627 $ hg pull -B .
627 $ hg pull -B .
628 pulling from http://localhost:$HGPORT/
628 pulling from http://localhost:$HGPORT/
629 searching for changes
629 searching for changes
630 adding changesets
630 adding changesets
631 adding manifests
631 adding manifests
632 adding file changes
632 adding file changes
633 added 1 changesets with 1 changes to 1 files
633 added 1 changesets with 1 changes to 1 files
634 updating bookmark Y
634 updating bookmark Y
635 new changesets 35d1ef0a8d1b
635 new changesets 35d1ef0a8d1b
636 (run 'hg update' to get a working copy)
636 (run 'hg update' to get a working copy)
637 $ hg book
637 $ hg book
638 @ 1:0d2164f0ce0d
638 @ 1:0d2164f0ce0d
639 X 1:0d2164f0ce0d
639 X 1:0d2164f0ce0d
640 * Y 5:35d1ef0a8d1b
640 * Y 5:35d1ef0a8d1b
641 Z 1:0d2164f0ce0d
641 Z 1:0d2164f0ce0d
642
642
643 (done with this section of the test)
643 (done with this section of the test)
644
644
645 $ killdaemons.py
645 $ killdaemons.py
646 $ cd ../b
646 $ cd ../b
647
647
648 diverging a remote bookmark fails
648 diverging a remote bookmark fails
649
649
650 $ hg up -q 4e3505fd9583
650 $ hg up -q 4e3505fd9583
651 $ echo c4 > f2
651 $ echo c4 > f2
652 $ hg ci -Am4
652 $ hg ci -Am4
653 adding f2
653 adding f2
654 created new head
654 created new head
655 $ echo c5 > f2
655 $ echo c5 > f2
656 $ hg ci -Am5
656 $ hg ci -Am5
657 $ hg log -G
657 $ hg log -G
658 @ 5:c922c0139ca0 5
658 @ 5:c922c0139ca0 5
659 |
659 |
660 o 4:4efff6d98829 4
660 o 4:4efff6d98829 4
661 |
661 |
662 | o 3:f6fc62dde3c0 3
662 | o 3:f6fc62dde3c0 3
663 |/
663 |/
664 | o 2:0d2164f0ce0d 1
664 | o 2:0d2164f0ce0d 1
665 |/
665 |/
666 | o 1:9b140be10808 2
666 | o 1:9b140be10808 2
667 |/
667 |/
668 o 0:4e3505fd9583 test
668 o 0:4e3505fd9583 test
669
669
670
670
671 $ hg book -f Y
671 $ hg book -f Y
672
672
673 $ cat <<EOF > ../a/.hg/hgrc
673 $ cat <<EOF > ../a/.hg/hgrc
674 > [web]
674 > [web]
675 > push_ssl = false
675 > push_ssl = false
676 > allow_push = *
676 > allow_push = *
677 > EOF
677 > EOF
678
678
679 $ hg serve -R ../a -p $HGPORT2 -d --pid-file=../hg2.pid
679 $ hg serve -R ../a -p $HGPORT2 -d --pid-file=../hg2.pid
680 $ cat ../hg2.pid >> $DAEMON_PIDS
680 $ cat ../hg2.pid >> $DAEMON_PIDS
681
681
682 $ hg push http://localhost:$HGPORT2/
682 $ hg push http://localhost:$HGPORT2/
683 pushing to http://localhost:$HGPORT2/
683 pushing to http://localhost:$HGPORT2/
684 searching for changes
684 searching for changes
685 abort: push creates new remote head c922c0139ca0 with bookmark 'Y'!
685 abort: push creates new remote head c922c0139ca0 with bookmark 'Y'!
686 (merge or see 'hg help push' for details about pushing new heads)
686 (merge or see 'hg help push' for details about pushing new heads)
687 [255]
687 [255]
688 $ hg -R ../a book
688 $ hg -R ../a book
689 @ 1:0d2164f0ce0d
689 @ 1:0d2164f0ce0d
690 * X 1:0d2164f0ce0d
690 * X 1:0d2164f0ce0d
691 Y 3:f6fc62dde3c0
691 Y 3:f6fc62dde3c0
692 Z 1:0d2164f0ce0d
692 Z 1:0d2164f0ce0d
693
693
694
694
695 Unrelated marker does not alter the decision
695 Unrelated marker does not alter the decision
696
696
697 $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
697 $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
698 $ hg push http://localhost:$HGPORT2/
698 $ hg push http://localhost:$HGPORT2/
699 pushing to http://localhost:$HGPORT2/
699 pushing to http://localhost:$HGPORT2/
700 searching for changes
700 searching for changes
701 abort: push creates new remote head c922c0139ca0 with bookmark 'Y'!
701 abort: push creates new remote head c922c0139ca0 with bookmark 'Y'!
702 (merge or see 'hg help push' for details about pushing new heads)
702 (merge or see 'hg help push' for details about pushing new heads)
703 [255]
703 [255]
704 $ hg -R ../a book
704 $ hg -R ../a book
705 @ 1:0d2164f0ce0d
705 @ 1:0d2164f0ce0d
706 * X 1:0d2164f0ce0d
706 * X 1:0d2164f0ce0d
707 Y 3:f6fc62dde3c0
707 Y 3:f6fc62dde3c0
708 Z 1:0d2164f0ce0d
708 Z 1:0d2164f0ce0d
709
709
710 Update to a successor works
710 Update to a successor works
711
711
712 $ hg id --debug -r 3
712 $ hg id --debug -r 3
713 f6fc62dde3c0771e29704af56ba4d8af77abcc2f
713 f6fc62dde3c0771e29704af56ba4d8af77abcc2f
714 $ hg id --debug -r 4
714 $ hg id --debug -r 4
715 4efff6d98829d9c824c621afd6e3f01865f5439f
715 4efff6d98829d9c824c621afd6e3f01865f5439f
716 $ hg id --debug -r 5
716 $ hg id --debug -r 5
717 c922c0139ca03858f655e4a2af4dd02796a63969 tip Y
717 c922c0139ca03858f655e4a2af4dd02796a63969 tip Y
718 $ hg debugobsolete f6fc62dde3c0771e29704af56ba4d8af77abcc2f cccccccccccccccccccccccccccccccccccccccc
718 $ hg debugobsolete f6fc62dde3c0771e29704af56ba4d8af77abcc2f cccccccccccccccccccccccccccccccccccccccc
719 obsoleted 1 changesets
719 obsoleted 1 changesets
720 $ hg debugobsolete cccccccccccccccccccccccccccccccccccccccc 4efff6d98829d9c824c621afd6e3f01865f5439f
720 $ hg debugobsolete cccccccccccccccccccccccccccccccccccccccc 4efff6d98829d9c824c621afd6e3f01865f5439f
721 $ hg push http://localhost:$HGPORT2/
721 $ hg push http://localhost:$HGPORT2/
722 pushing to http://localhost:$HGPORT2/
722 pushing to http://localhost:$HGPORT2/
723 searching for changes
723 searching for changes
724 remote: adding changesets
724 remote: adding changesets
725 remote: adding manifests
725 remote: adding manifests
726 remote: adding file changes
726 remote: adding file changes
727 remote: added 2 changesets with 2 changes to 1 files (+1 heads)
727 remote: added 2 changesets with 2 changes to 1 files (+1 heads)
728 remote: 2 new obsolescence markers
728 remote: 2 new obsolescence markers
729 remote: obsoleted 1 changesets
729 remote: obsoleted 1 changesets
730 updating bookmark Y
730 updating bookmark Y
731 $ hg -R ../a book
731 $ hg -R ../a book
732 @ 1:0d2164f0ce0d
732 @ 1:0d2164f0ce0d
733 * X 1:0d2164f0ce0d
733 * X 1:0d2164f0ce0d
734 Y 5:c922c0139ca0
734 Y 5:c922c0139ca0
735 Z 1:0d2164f0ce0d
735 Z 1:0d2164f0ce0d
736
736
737 hgweb
737 hgweb
738
738
739 $ cat <<EOF > .hg/hgrc
739 $ cat <<EOF > .hg/hgrc
740 > [web]
740 > [web]
741 > push_ssl = false
741 > push_ssl = false
742 > allow_push = *
742 > allow_push = *
743 > EOF
743 > EOF
744
744
745 $ hg serve -p $HGPORT -d --pid-file=../hg.pid -E errors.log
745 $ hg serve -p $HGPORT -d --pid-file=../hg.pid -E errors.log
746 $ cat ../hg.pid >> $DAEMON_PIDS
746 $ cat ../hg.pid >> $DAEMON_PIDS
747 $ cd ../a
747 $ cd ../a
748
748
749 $ hg debugpushkey http://localhost:$HGPORT/ namespaces
749 $ hg debugpushkey http://localhost:$HGPORT/ namespaces
750 bookmarks
750 bookmarks
751 namespaces
751 namespaces
752 obsolete
752 obsolete
753 phases
753 phases
754 $ hg debugpushkey http://localhost:$HGPORT/ bookmarks
754 $ hg debugpushkey http://localhost:$HGPORT/ bookmarks
755 @ 9b140be1080824d768c5a4691a564088eede71f9
755 @ 9b140be1080824d768c5a4691a564088eede71f9
756 X 9b140be1080824d768c5a4691a564088eede71f9
756 X 9b140be1080824d768c5a4691a564088eede71f9
757 Y c922c0139ca03858f655e4a2af4dd02796a63969
757 Y c922c0139ca03858f655e4a2af4dd02796a63969
758 Z 9b140be1080824d768c5a4691a564088eede71f9
758 Z 9b140be1080824d768c5a4691a564088eede71f9
759 foo 0000000000000000000000000000000000000000
759 foo 0000000000000000000000000000000000000000
760 foobar 9b140be1080824d768c5a4691a564088eede71f9
760 foobar 9b140be1080824d768c5a4691a564088eede71f9
761 $ hg out -B http://localhost:$HGPORT/
761 $ hg out -B http://localhost:$HGPORT/
762 comparing with http://localhost:$HGPORT/
762 comparing with http://localhost:$HGPORT/
763 searching for changed bookmarks
763 searching for changed bookmarks
764 @ 0d2164f0ce0d
764 @ 0d2164f0ce0d
765 X 0d2164f0ce0d
765 X 0d2164f0ce0d
766 Z 0d2164f0ce0d
766 Z 0d2164f0ce0d
767 foo
767 foo
768 foobar
768 foobar
769 $ hg push -B Z http://localhost:$HGPORT/
769 $ hg push -B Z http://localhost:$HGPORT/
770 pushing to http://localhost:$HGPORT/
770 pushing to http://localhost:$HGPORT/
771 searching for changes
771 searching for changes
772 no changes found
772 no changes found
773 updating bookmark Z
773 updating bookmark Z
774 [1]
774 [1]
775 $ hg book -d Z
775 $ hg book -d Z
776 $ hg in -B http://localhost:$HGPORT/
776 $ hg in -B http://localhost:$HGPORT/
777 comparing with http://localhost:$HGPORT/
777 comparing with http://localhost:$HGPORT/
778 searching for changed bookmarks
778 searching for changed bookmarks
779 @ 9b140be10808
779 @ 9b140be10808
780 X 9b140be10808
780 X 9b140be10808
781 Z 0d2164f0ce0d
781 Z 0d2164f0ce0d
782 foo 000000000000
782 foo 000000000000
783 foobar 9b140be10808
783 foobar 9b140be10808
784 $ hg pull -B Z http://localhost:$HGPORT/
784 $ hg pull -B Z http://localhost:$HGPORT/
785 pulling from http://localhost:$HGPORT/
785 pulling from http://localhost:$HGPORT/
786 no changes found
786 no changes found
787 divergent bookmark @ stored as @1
787 divergent bookmark @ stored as @1
788 divergent bookmark X stored as X@1
788 divergent bookmark X stored as X@1
789 adding remote bookmark Z
789 adding remote bookmark Z
790 adding remote bookmark foo
790 adding remote bookmark foo
791 adding remote bookmark foobar
791 adding remote bookmark foobar
792 $ hg clone http://localhost:$HGPORT/ cloned-bookmarks
792 $ hg clone http://localhost:$HGPORT/ cloned-bookmarks
793 requesting all changes
793 requesting all changes
794 adding changesets
794 adding changesets
795 adding manifests
795 adding manifests
796 adding file changes
796 adding file changes
797 added 5 changesets with 5 changes to 3 files (+2 heads)
797 added 5 changesets with 5 changes to 3 files (+2 heads)
798 2 new obsolescence markers
798 2 new obsolescence markers
799 new changesets 4e3505fd9583:c922c0139ca0
799 new changesets 4e3505fd9583:c922c0139ca0
800 updating to bookmark @
800 updating to bookmark @
801 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
801 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
802 $ hg -R cloned-bookmarks bookmarks
802 $ hg -R cloned-bookmarks bookmarks
803 * @ 1:9b140be10808
803 * @ 1:9b140be10808
804 X 1:9b140be10808
804 X 1:9b140be10808
805 Y 4:c922c0139ca0
805 Y 4:c922c0139ca0
806 Z 2:0d2164f0ce0d
806 Z 2:0d2164f0ce0d
807 foo -1:000000000000
807 foo -1:000000000000
808 foobar 1:9b140be10808
808 foobar 1:9b140be10808
809
809
810 $ cd ..
810 $ cd ..
811
811
812 Test to show result of bookmarks comparison
812 Test to show result of bookmarks comparison
813
813
814 $ mkdir bmcomparison
814 $ mkdir bmcomparison
815 $ cd bmcomparison
815 $ cd bmcomparison
816
816
817 $ hg init source
817 $ hg init source
818 $ hg -R source debugbuilddag '+2*2*3*4'
818 $ hg -R source debugbuilddag '+2*2*3*4'
819 $ hg -R source log -G --template '{rev}:{node|short}'
819 $ hg -R source log -G --template '{rev}:{node|short}'
820 o 4:e7bd5218ca15
820 o 4:e7bd5218ca15
821 |
821 |
822 | o 3:6100d3090acf
822 | o 3:6100d3090acf
823 |/
823 |/
824 | o 2:fa942426a6fd
824 | o 2:fa942426a6fd
825 |/
825 |/
826 | o 1:66f7d451a68b
826 | o 1:66f7d451a68b
827 |/
827 |/
828 o 0:1ea73414a91b
828 o 0:1ea73414a91b
829
829
830 $ hg -R source bookmarks -r 0 SAME
830 $ hg -R source bookmarks -r 0 SAME
831 $ hg -R source bookmarks -r 0 ADV_ON_REPO1
831 $ hg -R source bookmarks -r 0 ADV_ON_REPO1
832 $ hg -R source bookmarks -r 0 ADV_ON_REPO2
832 $ hg -R source bookmarks -r 0 ADV_ON_REPO2
833 $ hg -R source bookmarks -r 0 DIFF_ADV_ON_REPO1
833 $ hg -R source bookmarks -r 0 DIFF_ADV_ON_REPO1
834 $ hg -R source bookmarks -r 0 DIFF_ADV_ON_REPO2
834 $ hg -R source bookmarks -r 0 DIFF_ADV_ON_REPO2
835 $ hg -R source bookmarks -r 1 DIVERGED
835 $ hg -R source bookmarks -r 1 DIVERGED
836
836
837 $ hg clone -U source repo1
837 $ hg clone -U source repo1
838
838
839 (test that incoming/outgoing exit with 1, if there is no bookmark to
839 (test that incoming/outgoing exit with 1, if there is no bookmark to
840 be exchanged)
840 be exchanged)
841
841
842 $ hg -R repo1 incoming -B
842 $ hg -R repo1 incoming -B
843 comparing with $TESTTMP/bmcomparison/source
843 comparing with $TESTTMP/bmcomparison/source
844 searching for changed bookmarks
844 searching for changed bookmarks
845 no changed bookmarks found
845 no changed bookmarks found
846 [1]
846 [1]
847 $ hg -R repo1 outgoing -B
847 $ hg -R repo1 outgoing -B
848 comparing with $TESTTMP/bmcomparison/source
848 comparing with $TESTTMP/bmcomparison/source
849 searching for changed bookmarks
849 searching for changed bookmarks
850 no changed bookmarks found
850 no changed bookmarks found
851 [1]
851 [1]
852
852
853 $ hg -R repo1 bookmarks -f -r 1 ADD_ON_REPO1
853 $ hg -R repo1 bookmarks -f -r 1 ADD_ON_REPO1
854 $ hg -R repo1 bookmarks -f -r 2 ADV_ON_REPO1
854 $ hg -R repo1 bookmarks -f -r 2 ADV_ON_REPO1
855 $ hg -R repo1 bookmarks -f -r 3 DIFF_ADV_ON_REPO1
855 $ hg -R repo1 bookmarks -f -r 3 DIFF_ADV_ON_REPO1
856 $ hg -R repo1 bookmarks -f -r 3 DIFF_DIVERGED
856 $ hg -R repo1 bookmarks -f -r 3 DIFF_DIVERGED
857 $ hg -R repo1 -q --config extensions.mq= strip 4
857 $ hg -R repo1 -q --config extensions.mq= strip 4
858 $ hg -R repo1 log -G --template '{node|short} ({bookmarks})'
858 $ hg -R repo1 log -G --template '{node|short} ({bookmarks})'
859 o 6100d3090acf (DIFF_ADV_ON_REPO1 DIFF_DIVERGED)
859 o 6100d3090acf (DIFF_ADV_ON_REPO1 DIFF_DIVERGED)
860 |
860 |
861 | o fa942426a6fd (ADV_ON_REPO1)
861 | o fa942426a6fd (ADV_ON_REPO1)
862 |/
862 |/
863 | o 66f7d451a68b (ADD_ON_REPO1 DIVERGED)
863 | o 66f7d451a68b (ADD_ON_REPO1 DIVERGED)
864 |/
864 |/
865 o 1ea73414a91b (ADV_ON_REPO2 DIFF_ADV_ON_REPO2 SAME)
865 o 1ea73414a91b (ADV_ON_REPO2 DIFF_ADV_ON_REPO2 SAME)
866
866
867
867
868 $ hg clone -U source repo2
868 $ hg clone -U source repo2
869 $ hg -R repo2 bookmarks -f -r 1 ADD_ON_REPO2
869 $ hg -R repo2 bookmarks -f -r 1 ADD_ON_REPO2
870 $ hg -R repo2 bookmarks -f -r 1 ADV_ON_REPO2
870 $ hg -R repo2 bookmarks -f -r 1 ADV_ON_REPO2
871 $ hg -R repo2 bookmarks -f -r 2 DIVERGED
871 $ hg -R repo2 bookmarks -f -r 2 DIVERGED
872 $ hg -R repo2 bookmarks -f -r 4 DIFF_ADV_ON_REPO2
872 $ hg -R repo2 bookmarks -f -r 4 DIFF_ADV_ON_REPO2
873 $ hg -R repo2 bookmarks -f -r 4 DIFF_DIVERGED
873 $ hg -R repo2 bookmarks -f -r 4 DIFF_DIVERGED
874 $ hg -R repo2 -q --config extensions.mq= strip 3
874 $ hg -R repo2 -q --config extensions.mq= strip 3
875 $ hg -R repo2 log -G --template '{node|short} ({bookmarks})'
875 $ hg -R repo2 log -G --template '{node|short} ({bookmarks})'
876 o e7bd5218ca15 (DIFF_ADV_ON_REPO2 DIFF_DIVERGED)
876 o e7bd5218ca15 (DIFF_ADV_ON_REPO2 DIFF_DIVERGED)
877 |
877 |
878 | o fa942426a6fd (DIVERGED)
878 | o fa942426a6fd (DIVERGED)
879 |/
879 |/
880 | o 66f7d451a68b (ADD_ON_REPO2 ADV_ON_REPO2)
880 | o 66f7d451a68b (ADD_ON_REPO2 ADV_ON_REPO2)
881 |/
881 |/
882 o 1ea73414a91b (ADV_ON_REPO1 DIFF_ADV_ON_REPO1 SAME)
882 o 1ea73414a91b (ADV_ON_REPO1 DIFF_ADV_ON_REPO1 SAME)
883
883
884
884
885 (test that difference of bookmarks between repositories are fully shown)
885 (test that difference of bookmarks between repositories are fully shown)
886
886
887 $ hg -R repo1 incoming -B repo2 -v
887 $ hg -R repo1 incoming -B repo2 -v
888 comparing with repo2
888 comparing with repo2
889 searching for changed bookmarks
889 searching for changed bookmarks
890 ADD_ON_REPO2 66f7d451a68b added
890 ADD_ON_REPO2 66f7d451a68b added
891 ADV_ON_REPO2 66f7d451a68b advanced
891 ADV_ON_REPO2 66f7d451a68b advanced
892 DIFF_ADV_ON_REPO2 e7bd5218ca15 changed
892 DIFF_ADV_ON_REPO2 e7bd5218ca15 changed
893 DIFF_DIVERGED e7bd5218ca15 changed
893 DIFF_DIVERGED e7bd5218ca15 changed
894 DIVERGED fa942426a6fd diverged
894 DIVERGED fa942426a6fd diverged
895 $ hg -R repo1 outgoing -B repo2 -v
895 $ hg -R repo1 outgoing -B repo2 -v
896 comparing with repo2
896 comparing with repo2
897 searching for changed bookmarks
897 searching for changed bookmarks
898 ADD_ON_REPO1 66f7d451a68b added
898 ADD_ON_REPO1 66f7d451a68b added
899 ADD_ON_REPO2 deleted
899 ADD_ON_REPO2 deleted
900 ADV_ON_REPO1 fa942426a6fd advanced
900 ADV_ON_REPO1 fa942426a6fd advanced
901 DIFF_ADV_ON_REPO1 6100d3090acf advanced
901 DIFF_ADV_ON_REPO1 6100d3090acf advanced
902 DIFF_ADV_ON_REPO2 1ea73414a91b changed
902 DIFF_ADV_ON_REPO2 1ea73414a91b changed
903 DIFF_DIVERGED 6100d3090acf changed
903 DIFF_DIVERGED 6100d3090acf changed
904 DIVERGED 66f7d451a68b diverged
904 DIVERGED 66f7d451a68b diverged
905
905
906 $ hg -R repo2 incoming -B repo1 -v
906 $ hg -R repo2 incoming -B repo1 -v
907 comparing with repo1
907 comparing with repo1
908 searching for changed bookmarks
908 searching for changed bookmarks
909 ADD_ON_REPO1 66f7d451a68b added
909 ADD_ON_REPO1 66f7d451a68b added
910 ADV_ON_REPO1 fa942426a6fd advanced
910 ADV_ON_REPO1 fa942426a6fd advanced
911 DIFF_ADV_ON_REPO1 6100d3090acf changed
911 DIFF_ADV_ON_REPO1 6100d3090acf changed
912 DIFF_DIVERGED 6100d3090acf changed
912 DIFF_DIVERGED 6100d3090acf changed
913 DIVERGED 66f7d451a68b diverged
913 DIVERGED 66f7d451a68b diverged
914 $ hg -R repo2 outgoing -B repo1 -v
914 $ hg -R repo2 outgoing -B repo1 -v
915 comparing with repo1
915 comparing with repo1
916 searching for changed bookmarks
916 searching for changed bookmarks
917 ADD_ON_REPO1 deleted
917 ADD_ON_REPO1 deleted
918 ADD_ON_REPO2 66f7d451a68b added
918 ADD_ON_REPO2 66f7d451a68b added
919 ADV_ON_REPO2 66f7d451a68b advanced
919 ADV_ON_REPO2 66f7d451a68b advanced
920 DIFF_ADV_ON_REPO1 1ea73414a91b changed
920 DIFF_ADV_ON_REPO1 1ea73414a91b changed
921 DIFF_ADV_ON_REPO2 e7bd5218ca15 advanced
921 DIFF_ADV_ON_REPO2 e7bd5218ca15 advanced
922 DIFF_DIVERGED e7bd5218ca15 changed
922 DIFF_DIVERGED e7bd5218ca15 changed
923 DIVERGED fa942426a6fd diverged
923 DIVERGED fa942426a6fd diverged
924
924
925 $ cd ..
925 $ cd ..
926
926
927 Pushing a bookmark should only push the changes required by that
927 Pushing a bookmark should only push the changes required by that
928 bookmark, not all outgoing changes:
928 bookmark, not all outgoing changes:
929 $ hg clone http://localhost:$HGPORT/ addmarks
929 $ hg clone http://localhost:$HGPORT/ addmarks
930 requesting all changes
930 requesting all changes
931 adding changesets
931 adding changesets
932 adding manifests
932 adding manifests
933 adding file changes
933 adding file changes
934 added 5 changesets with 5 changes to 3 files (+2 heads)
934 added 5 changesets with 5 changes to 3 files (+2 heads)
935 2 new obsolescence markers
935 2 new obsolescence markers
936 new changesets 4e3505fd9583:c922c0139ca0
936 new changesets 4e3505fd9583:c922c0139ca0
937 updating to bookmark @
937 updating to bookmark @
938 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
938 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
939 $ cd addmarks
939 $ cd addmarks
940 $ echo foo > foo
940 $ echo foo > foo
941 $ hg add foo
941 $ hg add foo
942 $ hg commit -m 'add foo'
942 $ hg commit -m 'add foo'
943 $ echo bar > bar
943 $ echo bar > bar
944 $ hg add bar
944 $ hg add bar
945 $ hg commit -m 'add bar'
945 $ hg commit -m 'add bar'
946 $ hg co "tip^"
946 $ hg co "tip^"
947 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
947 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
948 (leaving bookmark @)
948 (leaving bookmark @)
949 $ hg book add-foo
949 $ hg book add-foo
950 $ hg book -r tip add-bar
950 $ hg book -r tip add-bar
951 Note: this push *must* push only a single changeset, as that's the point
951 Note: this push *must* push only a single changeset, as that's the point
952 of this test.
952 of this test.
953 $ hg push -B add-foo --traceback
953 $ hg push -B add-foo --traceback
954 pushing to http://localhost:$HGPORT/
954 pushing to http://localhost:$HGPORT/
955 searching for changes
955 searching for changes
956 remote: adding changesets
956 remote: adding changesets
957 remote: adding manifests
957 remote: adding manifests
958 remote: adding file changes
958 remote: adding file changes
959 remote: added 1 changesets with 1 changes to 1 files
959 remote: added 1 changesets with 1 changes to 1 files
960 exporting bookmark add-foo
960 exporting bookmark add-foo
961
961
962 pushing a new bookmark on a new head does not require -f if -B is specified
962 pushing a new bookmark on a new head does not require -f if -B is specified
963
963
964 $ hg up -q X
964 $ hg up -q X
965 $ hg book W
965 $ hg book W
966 $ echo c5 > f2
966 $ echo c5 > f2
967 $ hg ci -Am5
967 $ hg ci -Am5
968 created new head
968 created new head
969 $ hg push -B .
969 $ hg push -B .
970 pushing to http://localhost:$HGPORT/
970 pushing to http://localhost:$HGPORT/
971 searching for changes
971 searching for changes
972 remote: adding changesets
972 remote: adding changesets
973 remote: adding manifests
973 remote: adding manifests
974 remote: adding file changes
974 remote: adding file changes
975 remote: added 1 changesets with 1 changes to 1 files (+1 heads)
975 remote: added 1 changesets with 1 changes to 1 files (+1 heads)
976 exporting bookmark W
976 exporting bookmark W
977 $ hg -R ../b id -r W
977 $ hg -R ../b id -r W
978 cc978a373a53 tip W
978 cc978a373a53 tip W
979
979
980 pushing an existing but divergent bookmark with -B still requires -f
980 pushing an existing but divergent bookmark with -B still requires -f
981
981
982 $ hg clone -q . ../r
982 $ hg clone -q . ../r
983 $ hg up -q X
983 $ hg up -q X
984 $ echo 1 > f2
984 $ echo 1 > f2
985 $ hg ci -qAml
985 $ hg ci -qAml
986
986
987 $ cd ../r
987 $ cd ../r
988 $ hg up -q X
988 $ hg up -q X
989 $ echo 2 > f2
989 $ echo 2 > f2
990 $ hg ci -qAmr
990 $ hg ci -qAmr
991 $ hg push -B X
991 $ hg push -B X
992 pushing to $TESTTMP/addmarks
992 pushing to $TESTTMP/addmarks
993 searching for changes
993 searching for changes
994 remote has heads on branch 'default' that are not known locally: a2a606d9ff1b
994 remote has heads on branch 'default' that are not known locally: a2a606d9ff1b
995 abort: push creates new remote head 54694f811df9 with bookmark 'X'!
995 abort: push creates new remote head 54694f811df9 with bookmark 'X'!
996 (pull and merge or see 'hg help push' for details about pushing new heads)
996 (pull and merge or see 'hg help push' for details about pushing new heads)
997 [255]
997 [255]
998 $ cd ../addmarks
998 $ cd ../addmarks
999
999
1000 Check summary output for incoming/outgoing bookmarks
1000 Check summary output for incoming/outgoing bookmarks
1001
1001
1002 $ hg bookmarks -d X
1002 $ hg bookmarks -d X
1003 $ hg bookmarks -d Y
1003 $ hg bookmarks -d Y
1004 $ hg summary --remote | grep '^remote:'
1004 $ hg summary --remote | grep '^remote:'
1005 remote: *, 2 incoming bookmarks, 1 outgoing bookmarks (glob)
1005 remote: *, 2 incoming bookmarks, 1 outgoing bookmarks (glob)
1006
1006
1007 $ cd ..
1007 $ cd ..
1008
1008
1009 pushing an unchanged bookmark should result in no changes
1009 pushing an unchanged bookmark should result in no changes
1010
1010
1011 $ hg init unchanged-a
1011 $ hg init unchanged-a
1012 $ hg init unchanged-b
1012 $ hg init unchanged-b
1013 $ cd unchanged-a
1013 $ cd unchanged-a
1014 $ echo initial > foo
1014 $ echo initial > foo
1015 $ hg commit -A -m initial
1015 $ hg commit -A -m initial
1016 adding foo
1016 adding foo
1017 $ hg bookmark @
1017 $ hg bookmark @
1018 $ hg push -B @ ../unchanged-b
1018 $ hg push -B @ ../unchanged-b
1019 pushing to ../unchanged-b
1019 pushing to ../unchanged-b
1020 searching for changes
1020 searching for changes
1021 adding changesets
1021 adding changesets
1022 adding manifests
1022 adding manifests
1023 adding file changes
1023 adding file changes
1024 added 1 changesets with 1 changes to 1 files
1024 added 1 changesets with 1 changes to 1 files
1025 exporting bookmark @
1025 exporting bookmark @
1026
1026
1027 $ hg push -B @ ../unchanged-b
1027 $ hg push -B @ ../unchanged-b
1028 pushing to ../unchanged-b
1028 pushing to ../unchanged-b
1029 searching for changes
1029 searching for changes
1030 no changes found
1030 no changes found
1031 [1]
1031 [1]
1032
1032
1033 Pushing a really long bookmark should work fine (issue5165)
1033 Pushing a really long bookmark should work fine (issue5165)
1034 ===============================================
1034 ===============================================
1035
1035
1036 #if b2-binary
1036 #if b2-binary
1037 >>> open('longname', 'w').write('wat' * 100)
1037 >>> with open('longname', 'w') as f:
1038 ... f.write('wat' * 100) and None
1038 $ hg book `cat longname`
1039 $ hg book `cat longname`
1039 $ hg push -B `cat longname` ../unchanged-b
1040 $ hg push -B `cat longname` ../unchanged-b
1040 pushing to ../unchanged-b
1041 pushing to ../unchanged-b
1041 searching for changes
1042 searching for changes
1042 no changes found
1043 no changes found
1043 exporting bookmark (wat){100} (re)
1044 exporting bookmark (wat){100} (re)
1044 [1]
1045 [1]
1045 $ hg -R ../unchanged-b book --delete `cat longname`
1046 $ hg -R ../unchanged-b book --delete `cat longname`
1046
1047
1047 Test again but forcing bundle2 exchange to make sure that doesn't regress.
1048 Test again but forcing bundle2 exchange to make sure that doesn't regress.
1048
1049
1049 $ hg push -B `cat longname` ../unchanged-b --config devel.legacy.exchange=bundle1
1050 $ hg push -B `cat longname` ../unchanged-b --config devel.legacy.exchange=bundle1
1050 pushing to ../unchanged-b
1051 pushing to ../unchanged-b
1051 searching for changes
1052 searching for changes
1052 no changes found
1053 no changes found
1053 exporting bookmark (wat){100} (re)
1054 exporting bookmark (wat){100} (re)
1054 [1]
1055 [1]
1055 $ hg -R ../unchanged-b book --delete `cat longname`
1056 $ hg -R ../unchanged-b book --delete `cat longname`
1056 $ hg book --delete `cat longname`
1057 $ hg book --delete `cat longname`
1057 $ hg co @
1058 $ hg co @
1058 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1059 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1059 (activating bookmark @)
1060 (activating bookmark @)
1060 #endif
1061 #endif
1061
1062
1062 Check hook preventing push (issue4455)
1063 Check hook preventing push (issue4455)
1063 ======================================
1064 ======================================
1064
1065
1065 $ hg bookmarks
1066 $ hg bookmarks
1066 * @ 0:55482a6fb4b1
1067 * @ 0:55482a6fb4b1
1067 $ hg log -G
1068 $ hg log -G
1068 @ 0:55482a6fb4b1 initial
1069 @ 0:55482a6fb4b1 initial
1069
1070
1070 $ hg init ../issue4455-dest
1071 $ hg init ../issue4455-dest
1071 $ hg push ../issue4455-dest # changesets only
1072 $ hg push ../issue4455-dest # changesets only
1072 pushing to ../issue4455-dest
1073 pushing to ../issue4455-dest
1073 searching for changes
1074 searching for changes
1074 adding changesets
1075 adding changesets
1075 adding manifests
1076 adding manifests
1076 adding file changes
1077 adding file changes
1077 added 1 changesets with 1 changes to 1 files
1078 added 1 changesets with 1 changes to 1 files
1078 $ cat >> .hg/hgrc << EOF
1079 $ cat >> .hg/hgrc << EOF
1079 > [paths]
1080 > [paths]
1080 > local=../issue4455-dest/
1081 > local=../issue4455-dest/
1081 > ssh=ssh://user@dummy/issue4455-dest
1082 > ssh=ssh://user@dummy/issue4455-dest
1082 > http=http://localhost:$HGPORT/
1083 > http=http://localhost:$HGPORT/
1083 > [ui]
1084 > [ui]
1084 > ssh=$PYTHON "$TESTDIR/dummyssh"
1085 > ssh=$PYTHON "$TESTDIR/dummyssh"
1085 > EOF
1086 > EOF
1086 $ cat >> ../issue4455-dest/.hg/hgrc << EOF
1087 $ cat >> ../issue4455-dest/.hg/hgrc << EOF
1087 > [hooks]
1088 > [hooks]
1088 > prepushkey=false
1089 > prepushkey=false
1089 > [web]
1090 > [web]
1090 > push_ssl = false
1091 > push_ssl = false
1091 > allow_push = *
1092 > allow_push = *
1092 > EOF
1093 > EOF
1093 $ killdaemons.py
1094 $ killdaemons.py
1094 $ hg serve -R ../issue4455-dest -p $HGPORT -d --pid-file=../issue4455.pid -E ../issue4455-error.log
1095 $ hg serve -R ../issue4455-dest -p $HGPORT -d --pid-file=../issue4455.pid -E ../issue4455-error.log
1095 $ cat ../issue4455.pid >> $DAEMON_PIDS
1096 $ cat ../issue4455.pid >> $DAEMON_PIDS
1096
1097
1097 Local push
1098 Local push
1098 ----------
1099 ----------
1099
1100
1100 #if b2-pushkey
1101 #if b2-pushkey
1101
1102
1102 $ hg push -B @ local
1103 $ hg push -B @ local
1103 pushing to $TESTTMP/issue4455-dest
1104 pushing to $TESTTMP/issue4455-dest
1104 searching for changes
1105 searching for changes
1105 no changes found
1106 no changes found
1106 pushkey-abort: prepushkey hook exited with status 1
1107 pushkey-abort: prepushkey hook exited with status 1
1107 abort: exporting bookmark @ failed!
1108 abort: exporting bookmark @ failed!
1108 [255]
1109 [255]
1109
1110
1110 #endif
1111 #endif
1111 #if b2-binary
1112 #if b2-binary
1112
1113
1113 $ hg push -B @ local
1114 $ hg push -B @ local
1114 pushing to $TESTTMP/issue4455-dest
1115 pushing to $TESTTMP/issue4455-dest
1115 searching for changes
1116 searching for changes
1116 no changes found
1117 no changes found
1117 abort: prepushkey hook exited with status 1
1118 abort: prepushkey hook exited with status 1
1118 [255]
1119 [255]
1119
1120
1120 #endif
1121 #endif
1121
1122
1122 $ hg -R ../issue4455-dest/ bookmarks
1123 $ hg -R ../issue4455-dest/ bookmarks
1123 no bookmarks set
1124 no bookmarks set
1124
1125
1125 Using ssh
1126 Using ssh
1126 ---------
1127 ---------
1127
1128
1128 #if b2-pushkey
1129 #if b2-pushkey
1129
1130
1130 $ hg push -B @ ssh # bundle2+
1131 $ hg push -B @ ssh # bundle2+
1131 pushing to ssh://user@dummy/issue4455-dest
1132 pushing to ssh://user@dummy/issue4455-dest
1132 searching for changes
1133 searching for changes
1133 no changes found
1134 no changes found
1134 remote: pushkey-abort: prepushkey hook exited with status 1
1135 remote: pushkey-abort: prepushkey hook exited with status 1
1135 abort: exporting bookmark @ failed!
1136 abort: exporting bookmark @ failed!
1136 [255]
1137 [255]
1137
1138
1138 $ hg -R ../issue4455-dest/ bookmarks
1139 $ hg -R ../issue4455-dest/ bookmarks
1139 no bookmarks set
1140 no bookmarks set
1140
1141
1141 $ hg push -B @ ssh --config devel.legacy.exchange=bundle1
1142 $ hg push -B @ ssh --config devel.legacy.exchange=bundle1
1142 pushing to ssh://user@dummy/issue4455-dest
1143 pushing to ssh://user@dummy/issue4455-dest
1143 searching for changes
1144 searching for changes
1144 no changes found
1145 no changes found
1145 remote: pushkey-abort: prepushkey hook exited with status 1
1146 remote: pushkey-abort: prepushkey hook exited with status 1
1146 exporting bookmark @ failed!
1147 exporting bookmark @ failed!
1147 [1]
1148 [1]
1148
1149
1149 #endif
1150 #endif
1150 #if b2-binary
1151 #if b2-binary
1151
1152
1152 $ hg push -B @ ssh # bundle2+
1153 $ hg push -B @ ssh # bundle2+
1153 pushing to ssh://user@dummy/issue4455-dest
1154 pushing to ssh://user@dummy/issue4455-dest
1154 searching for changes
1155 searching for changes
1155 no changes found
1156 no changes found
1156 remote: prepushkey hook exited with status 1
1157 remote: prepushkey hook exited with status 1
1157 abort: push failed on remote
1158 abort: push failed on remote
1158 [255]
1159 [255]
1159
1160
1160 #endif
1161 #endif
1161
1162
1162 $ hg -R ../issue4455-dest/ bookmarks
1163 $ hg -R ../issue4455-dest/ bookmarks
1163 no bookmarks set
1164 no bookmarks set
1164
1165
1165 Using http
1166 Using http
1166 ----------
1167 ----------
1167
1168
1168 #if b2-pushkey
1169 #if b2-pushkey
1169 $ hg push -B @ http # bundle2+
1170 $ hg push -B @ http # bundle2+
1170 pushing to http://localhost:$HGPORT/
1171 pushing to http://localhost:$HGPORT/
1171 searching for changes
1172 searching for changes
1172 no changes found
1173 no changes found
1173 remote: pushkey-abort: prepushkey hook exited with status 1
1174 remote: pushkey-abort: prepushkey hook exited with status 1
1174 abort: exporting bookmark @ failed!
1175 abort: exporting bookmark @ failed!
1175 [255]
1176 [255]
1176
1177
1177 $ hg -R ../issue4455-dest/ bookmarks
1178 $ hg -R ../issue4455-dest/ bookmarks
1178 no bookmarks set
1179 no bookmarks set
1179
1180
1180 $ hg push -B @ http --config devel.legacy.exchange=bundle1
1181 $ hg push -B @ http --config devel.legacy.exchange=bundle1
1181 pushing to http://localhost:$HGPORT/
1182 pushing to http://localhost:$HGPORT/
1182 searching for changes
1183 searching for changes
1183 no changes found
1184 no changes found
1184 remote: pushkey-abort: prepushkey hook exited with status 1
1185 remote: pushkey-abort: prepushkey hook exited with status 1
1185 exporting bookmark @ failed!
1186 exporting bookmark @ failed!
1186 [1]
1187 [1]
1187
1188
1188 #endif
1189 #endif
1189
1190
1190 #if b2-binary
1191 #if b2-binary
1191
1192
1192 $ hg push -B @ ssh # bundle2+
1193 $ hg push -B @ ssh # bundle2+
1193 pushing to ssh://user@dummy/issue4455-dest
1194 pushing to ssh://user@dummy/issue4455-dest
1194 searching for changes
1195 searching for changes
1195 no changes found
1196 no changes found
1196 remote: prepushkey hook exited with status 1
1197 remote: prepushkey hook exited with status 1
1197 abort: push failed on remote
1198 abort: push failed on remote
1198 [255]
1199 [255]
1199
1200
1200 #endif
1201 #endif
1201
1202
1202 $ hg -R ../issue4455-dest/ bookmarks
1203 $ hg -R ../issue4455-dest/ bookmarks
1203 no bookmarks set
1204 no bookmarks set
1204
1205
1205 $ cd ..
1206 $ cd ..
1206
1207
1207 Test that pre-pushkey compat for bookmark works as expected (issue5777)
1208 Test that pre-pushkey compat for bookmark works as expected (issue5777)
1208
1209
1209 $ cat << EOF >> $HGRCPATH
1210 $ cat << EOF >> $HGRCPATH
1210 > [ui]
1211 > [ui]
1211 > ssh="$PYTHON" "$TESTDIR/dummyssh"
1212 > ssh="$PYTHON" "$TESTDIR/dummyssh"
1212 > [server]
1213 > [server]
1213 > bookmarks-pushkey-compat = yes
1214 > bookmarks-pushkey-compat = yes
1214 > EOF
1215 > EOF
1215
1216
1216 $ hg init server
1217 $ hg init server
1217 $ echo foo > server/a
1218 $ echo foo > server/a
1218 $ hg -R server book foo
1219 $ hg -R server book foo
1219 $ hg -R server commit -Am a
1220 $ hg -R server commit -Am a
1220 adding a
1221 adding a
1221 $ hg clone ssh://user@dummy/server client
1222 $ hg clone ssh://user@dummy/server client
1222 requesting all changes
1223 requesting all changes
1223 adding changesets
1224 adding changesets
1224 adding manifests
1225 adding manifests
1225 adding file changes
1226 adding file changes
1226 added 1 changesets with 1 changes to 1 files
1227 added 1 changesets with 1 changes to 1 files
1227 new changesets 79513d0d7716
1228 new changesets 79513d0d7716
1228 updating to branch default
1229 updating to branch default
1229 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1230 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1230
1231
1231 Forbid bookmark move on the server
1232 Forbid bookmark move on the server
1232
1233
1233 $ cat << EOF >> $TESTDIR/no-bm-move.sh
1234 $ cat << EOF >> $TESTDIR/no-bm-move.sh
1234 > #!/bin/sh
1235 > #!/bin/sh
1235 > echo \$HG_NAMESPACE | grep -v bookmarks
1236 > echo \$HG_NAMESPACE | grep -v bookmarks
1236 > EOF
1237 > EOF
1237 $ cat << EOF >> server/.hg/hgrc
1238 $ cat << EOF >> server/.hg/hgrc
1238 > [hooks]
1239 > [hooks]
1239 > prepushkey.no-bm-move= sh $TESTDIR/no-bm-move.sh
1240 > prepushkey.no-bm-move= sh $TESTDIR/no-bm-move.sh
1240 > EOF
1241 > EOF
1241
1242
1242 pushing changeset is okay
1243 pushing changeset is okay
1243
1244
1244 $ echo bar >> client/a
1245 $ echo bar >> client/a
1245 $ hg -R client commit -m b
1246 $ hg -R client commit -m b
1246 $ hg -R client push
1247 $ hg -R client push
1247 pushing to ssh://user@dummy/server
1248 pushing to ssh://user@dummy/server
1248 searching for changes
1249 searching for changes
1249 remote: adding changesets
1250 remote: adding changesets
1250 remote: adding manifests
1251 remote: adding manifests
1251 remote: adding file changes
1252 remote: adding file changes
1252 remote: added 1 changesets with 1 changes to 1 files
1253 remote: added 1 changesets with 1 changes to 1 files
1253
1254
1254 attempt to move the bookmark is rejected
1255 attempt to move the bookmark is rejected
1255
1256
1256 $ hg -R client book foo -r .
1257 $ hg -R client book foo -r .
1257 moving bookmark 'foo' forward from 79513d0d7716
1258 moving bookmark 'foo' forward from 79513d0d7716
1258
1259
1259 #if b2-pushkey
1260 #if b2-pushkey
1260 $ hg -R client push
1261 $ hg -R client push
1261 pushing to ssh://user@dummy/server
1262 pushing to ssh://user@dummy/server
1262 searching for changes
1263 searching for changes
1263 no changes found
1264 no changes found
1264 remote: pushkey-abort: prepushkey.no-bm-move hook exited with status 1
1265 remote: pushkey-abort: prepushkey.no-bm-move hook exited with status 1
1265 abort: updating bookmark foo failed!
1266 abort: updating bookmark foo failed!
1266 [255]
1267 [255]
1267 #endif
1268 #endif
1268 #if b2-binary
1269 #if b2-binary
1269 $ hg -R client push
1270 $ hg -R client push
1270 pushing to ssh://user@dummy/server
1271 pushing to ssh://user@dummy/server
1271 searching for changes
1272 searching for changes
1272 no changes found
1273 no changes found
1273 remote: prepushkey.no-bm-move hook exited with status 1
1274 remote: prepushkey.no-bm-move hook exited with status 1
1274 abort: push failed on remote
1275 abort: push failed on remote
1275 [255]
1276 [255]
1276 #endif
1277 #endif
General Comments 0
You need to be logged in to leave comments. Login now