##// END OF EJS Templates
py3: adapt test-largefiles-wireproto.t to python3
Matt Harbison -
r40906:1aedbf3e default
parent child Browse files
Show More
@@ -1,661 +1,662
1 test-abort-checkin.t
1 test-abort-checkin.t
2 test-absorb-filefixupstate.py
2 test-absorb-filefixupstate.py
3 test-absorb-phase.t
3 test-absorb-phase.t
4 test-absorb-rename.t
4 test-absorb-rename.t
5 test-absorb-strip.t
5 test-absorb-strip.t
6 test-absorb.t
6 test-absorb.t
7 test-add.t
7 test-add.t
8 test-addremove-similar.t
8 test-addremove-similar.t
9 test-addremove.t
9 test-addremove.t
10 test-alias.t
10 test-alias.t
11 test-amend-subrepo.t
11 test-amend-subrepo.t
12 test-amend.t
12 test-amend.t
13 test-ancestor.py
13 test-ancestor.py
14 test-annotate.py
14 test-annotate.py
15 test-annotate.t
15 test-annotate.t
16 test-archive-symlinks.t
16 test-archive-symlinks.t
17 test-archive.t
17 test-archive.t
18 test-atomictempfile.py
18 test-atomictempfile.py
19 test-audit-path.t
19 test-audit-path.t
20 test-audit-subrepo.t
20 test-audit-subrepo.t
21 test-automv.t
21 test-automv.t
22 test-backout.t
22 test-backout.t
23 test-backwards-remove.t
23 test-backwards-remove.t
24 test-bad-extension.t
24 test-bad-extension.t
25 test-bad-pull.t
25 test-bad-pull.t
26 test-basic.t
26 test-basic.t
27 test-bdiff.py
27 test-bdiff.py
28 test-bheads.t
28 test-bheads.t
29 test-bisect.t
29 test-bisect.t
30 test-bisect2.t
30 test-bisect2.t
31 test-bisect3.t
31 test-bisect3.t
32 test-blackbox.t
32 test-blackbox.t
33 test-bookmarks-current.t
33 test-bookmarks-current.t
34 test-bookmarks-merge.t
34 test-bookmarks-merge.t
35 test-bookmarks-pushpull.t
35 test-bookmarks-pushpull.t
36 test-bookmarks-rebase.t
36 test-bookmarks-rebase.t
37 test-bookmarks-strip.t
37 test-bookmarks-strip.t
38 test-bookmarks.t
38 test-bookmarks.t
39 test-branch-change.t
39 test-branch-change.t
40 test-branch-option.t
40 test-branch-option.t
41 test-branch-tag-confict.t
41 test-branch-tag-confict.t
42 test-branches.t
42 test-branches.t
43 test-bundle-phases.t
43 test-bundle-phases.t
44 test-bundle-r.t
44 test-bundle-r.t
45 test-bundle-type.t
45 test-bundle-type.t
46 test-bundle-vs-outgoing.t
46 test-bundle-vs-outgoing.t
47 test-bundle.t
47 test-bundle.t
48 test-bundle2-exchange.t
48 test-bundle2-exchange.t
49 test-bundle2-format.t
49 test-bundle2-format.t
50 test-bundle2-multiple-changegroups.t
50 test-bundle2-multiple-changegroups.t
51 test-bundle2-pushback.t
51 test-bundle2-pushback.t
52 test-bundle2-remote-changegroup.t
52 test-bundle2-remote-changegroup.t
53 test-cache-abuse.t
53 test-cache-abuse.t
54 test-cappedreader.py
54 test-cappedreader.py
55 test-casecollision.t
55 test-casecollision.t
56 test-cat.t
56 test-cat.t
57 test-cbor.py
57 test-cbor.py
58 test-censor.t
58 test-censor.t
59 test-changelog-exec.t
59 test-changelog-exec.t
60 test-check-code.t
60 test-check-code.t
61 test-check-commit.t
61 test-check-commit.t
62 test-check-config.py
62 test-check-config.py
63 test-check-config.t
63 test-check-config.t
64 test-check-execute.t
64 test-check-execute.t
65 test-check-interfaces.py
65 test-check-interfaces.py
66 test-check-module-imports.t
66 test-check-module-imports.t
67 test-check-py3-compat.t
67 test-check-py3-compat.t
68 test-check-pyflakes.t
68 test-check-pyflakes.t
69 test-check-pylint.t
69 test-check-pylint.t
70 test-check-shbang.t
70 test-check-shbang.t
71 test-children.t
71 test-children.t
72 test-churn.t
72 test-churn.t
73 test-clone-cgi.t
73 test-clone-cgi.t
74 test-clone-pull-corruption.t
74 test-clone-pull-corruption.t
75 test-clone-r.t
75 test-clone-r.t
76 test-clone-uncompressed.t
76 test-clone-uncompressed.t
77 test-clone-update-order.t
77 test-clone-update-order.t
78 test-clone.t
78 test-clone.t
79 test-clonebundles.t
79 test-clonebundles.t
80 test-close-head.t
80 test-close-head.t
81 test-commandserver.t
81 test-commandserver.t
82 test-commit-amend.t
82 test-commit-amend.t
83 test-commit-interactive.t
83 test-commit-interactive.t
84 test-commit-multiple.t
84 test-commit-multiple.t
85 test-commit-unresolved.t
85 test-commit-unresolved.t
86 test-commit.t
86 test-commit.t
87 test-committer.t
87 test-committer.t
88 test-completion.t
88 test-completion.t
89 test-config-env.py
89 test-config-env.py
90 test-config.t
90 test-config.t
91 test-conflict.t
91 test-conflict.t
92 test-confused-revert.t
92 test-confused-revert.t
93 test-context-metadata.t
93 test-context-metadata.t
94 test-context.py
94 test-context.py
95 test-contrib-check-code.t
95 test-contrib-check-code.t
96 test-contrib-check-commit.t
96 test-contrib-check-commit.t
97 test-contrib-dumprevlog.t
97 test-contrib-dumprevlog.t
98 test-contrib-perf.t
98 test-contrib-perf.t
99 test-contrib-relnotes.t
99 test-contrib-relnotes.t
100 test-contrib-testparseutil.t
100 test-contrib-testparseutil.t
101 test-contrib.t
101 test-contrib.t
102 test-convert-authormap.t
102 test-convert-authormap.t
103 test-convert-clonebranches.t
103 test-convert-clonebranches.t
104 test-convert-cvs-branch.t
104 test-convert-cvs-branch.t
105 test-convert-cvs-detectmerge.t
105 test-convert-cvs-detectmerge.t
106 test-convert-cvs-synthetic.t
106 test-convert-cvs-synthetic.t
107 test-convert-cvs.t
107 test-convert-cvs.t
108 test-convert-cvsnt-mergepoints.t
108 test-convert-cvsnt-mergepoints.t
109 test-convert-datesort.t
109 test-convert-datesort.t
110 test-convert-filemap.t
110 test-convert-filemap.t
111 test-convert-hg-sink.t
111 test-convert-hg-sink.t
112 test-convert-hg-source.t
112 test-convert-hg-source.t
113 test-convert-hg-startrev.t
113 test-convert-hg-startrev.t
114 test-convert-splicemap.t
114 test-convert-splicemap.t
115 test-convert-tagsbranch-topology.t
115 test-convert-tagsbranch-topology.t
116 test-copy-move-merge.t
116 test-copy-move-merge.t
117 test-copy.t
117 test-copy.t
118 test-copytrace-heuristics.t
118 test-copytrace-heuristics.t
119 test-custom-filters.t
119 test-custom-filters.t
120 test-debugbuilddag.t
120 test-debugbuilddag.t
121 test-debugbundle.t
121 test-debugbundle.t
122 test-debugcommands.t
122 test-debugcommands.t
123 test-debugextensions.t
123 test-debugextensions.t
124 test-debugindexdot.t
124 test-debugindexdot.t
125 test-debugrename.t
125 test-debugrename.t
126 test-default-push.t
126 test-default-push.t
127 test-diff-antipatience.t
127 test-diff-antipatience.t
128 test-diff-binary-file.t
128 test-diff-binary-file.t
129 test-diff-change.t
129 test-diff-change.t
130 test-diff-color.t
130 test-diff-color.t
131 test-diff-copy-depth.t
131 test-diff-copy-depth.t
132 test-diff-hashes.t
132 test-diff-hashes.t
133 test-diff-ignore-whitespace.t
133 test-diff-ignore-whitespace.t
134 test-diff-indent-heuristic.t
134 test-diff-indent-heuristic.t
135 test-diff-issue2761.t
135 test-diff-issue2761.t
136 test-diff-newlines.t
136 test-diff-newlines.t
137 test-diff-reverse.t
137 test-diff-reverse.t
138 test-diff-subdir.t
138 test-diff-subdir.t
139 test-diff-unified.t
139 test-diff-unified.t
140 test-diff-upgrade.t
140 test-diff-upgrade.t
141 test-diffdir.t
141 test-diffdir.t
142 test-diffstat.t
142 test-diffstat.t
143 test-directaccess.t
143 test-directaccess.t
144 test-dirstate-backup.t
144 test-dirstate-backup.t
145 test-dirstate-nonnormalset.t
145 test-dirstate-nonnormalset.t
146 test-dirstate-race.t
146 test-dirstate-race.t
147 test-dirstate.t
147 test-dirstate.t
148 test-dispatch.py
148 test-dispatch.py
149 test-doctest.py
149 test-doctest.py
150 test-double-merge.t
150 test-double-merge.t
151 test-drawdag.t
151 test-drawdag.t
152 test-duplicateoptions.py
152 test-duplicateoptions.py
153 test-editor-filename.t
153 test-editor-filename.t
154 test-empty-dir.t
154 test-empty-dir.t
155 test-empty-file.t
155 test-empty-file.t
156 test-empty-group.t
156 test-empty-group.t
157 test-empty.t
157 test-empty.t
158 test-encode.t
158 test-encode.t
159 test-encoding-func.py
159 test-encoding-func.py
160 test-encoding-textwrap.t
160 test-encoding-textwrap.t
161 test-encoding.t
161 test-encoding.t
162 test-eol-add.t
162 test-eol-add.t
163 test-eol-clone.t
163 test-eol-clone.t
164 test-eol-hook.t
164 test-eol-hook.t
165 test-eol-patch.t
165 test-eol-patch.t
166 test-eol-tag.t
166 test-eol-tag.t
167 test-eol-update.t
167 test-eol-update.t
168 test-eol.t
168 test-eol.t
169 test-eolfilename.t
169 test-eolfilename.t
170 test-excessive-merge.t
170 test-excessive-merge.t
171 test-exchange-obsmarkers-case-A1.t
171 test-exchange-obsmarkers-case-A1.t
172 test-exchange-obsmarkers-case-A2.t
172 test-exchange-obsmarkers-case-A2.t
173 test-exchange-obsmarkers-case-A3.t
173 test-exchange-obsmarkers-case-A3.t
174 test-exchange-obsmarkers-case-A4.t
174 test-exchange-obsmarkers-case-A4.t
175 test-exchange-obsmarkers-case-A5.t
175 test-exchange-obsmarkers-case-A5.t
176 test-exchange-obsmarkers-case-A6.t
176 test-exchange-obsmarkers-case-A6.t
177 test-exchange-obsmarkers-case-A7.t
177 test-exchange-obsmarkers-case-A7.t
178 test-exchange-obsmarkers-case-B1.t
178 test-exchange-obsmarkers-case-B1.t
179 test-exchange-obsmarkers-case-B2.t
179 test-exchange-obsmarkers-case-B2.t
180 test-exchange-obsmarkers-case-B3.t
180 test-exchange-obsmarkers-case-B3.t
181 test-exchange-obsmarkers-case-B4.t
181 test-exchange-obsmarkers-case-B4.t
182 test-exchange-obsmarkers-case-B5.t
182 test-exchange-obsmarkers-case-B5.t
183 test-exchange-obsmarkers-case-B6.t
183 test-exchange-obsmarkers-case-B6.t
184 test-exchange-obsmarkers-case-B7.t
184 test-exchange-obsmarkers-case-B7.t
185 test-exchange-obsmarkers-case-C1.t
185 test-exchange-obsmarkers-case-C1.t
186 test-exchange-obsmarkers-case-C2.t
186 test-exchange-obsmarkers-case-C2.t
187 test-exchange-obsmarkers-case-C3.t
187 test-exchange-obsmarkers-case-C3.t
188 test-exchange-obsmarkers-case-C4.t
188 test-exchange-obsmarkers-case-C4.t
189 test-exchange-obsmarkers-case-D1.t
189 test-exchange-obsmarkers-case-D1.t
190 test-exchange-obsmarkers-case-D2.t
190 test-exchange-obsmarkers-case-D2.t
191 test-exchange-obsmarkers-case-D3.t
191 test-exchange-obsmarkers-case-D3.t
192 test-exchange-obsmarkers-case-D4.t
192 test-exchange-obsmarkers-case-D4.t
193 test-execute-bit.t
193 test-execute-bit.t
194 test-export.t
194 test-export.t
195 test-extdata.t
195 test-extdata.t
196 test-extdiff.t
196 test-extdiff.t
197 test-extension-timing.t
197 test-extension-timing.t
198 test-extensions-afterloaded.t
198 test-extensions-afterloaded.t
199 test-extensions-wrapfunction.py
199 test-extensions-wrapfunction.py
200 test-extra-filelog-entry.t
200 test-extra-filelog-entry.t
201 test-fetch.t
201 test-fetch.t
202 test-filebranch.t
202 test-filebranch.t
203 test-filecache.py
203 test-filecache.py
204 test-filelog.py
204 test-filelog.py
205 test-fileset-generated.t
205 test-fileset-generated.t
206 test-fileset.t
206 test-fileset.t
207 test-fix-topology.t
207 test-fix-topology.t
208 test-fix.t
208 test-fix.t
209 test-flags.t
209 test-flags.t
210 test-fncache.t
210 test-fncache.t
211 test-generaldelta.t
211 test-generaldelta.t
212 test-getbundle.t
212 test-getbundle.t
213 test-git-export.t
213 test-git-export.t
214 test-globalopts.t
214 test-globalopts.t
215 test-glog-beautifygraph.t
215 test-glog-beautifygraph.t
216 test-glog-topological.t
216 test-glog-topological.t
217 test-glog.t
217 test-glog.t
218 test-gpg.t
218 test-gpg.t
219 test-graft.t
219 test-graft.t
220 test-grep.t
220 test-grep.t
221 test-hardlinks.t
221 test-hardlinks.t
222 test-help-hide.t
222 test-help-hide.t
223 test-help.t
223 test-help.t
224 test-hg-parseurl.py
224 test-hg-parseurl.py
225 test-hghave.t
225 test-hghave.t
226 test-hgignore.t
226 test-hgignore.t
227 test-hgk.t
227 test-hgk.t
228 test-hgrc.t
228 test-hgrc.t
229 test-hgweb-annotate-whitespace.t
229 test-hgweb-annotate-whitespace.t
230 test-hgweb-bundle.t
230 test-hgweb-bundle.t
231 test-hgweb-csp.t
231 test-hgweb-csp.t
232 test-hgweb-descend-empties.t
232 test-hgweb-descend-empties.t
233 test-hgweb-diffs.t
233 test-hgweb-diffs.t
234 test-hgweb-empty.t
234 test-hgweb-empty.t
235 test-hgweb-filelog.t
235 test-hgweb-filelog.t
236 test-hgweb-non-interactive.t
236 test-hgweb-non-interactive.t
237 test-hgweb-raw.t
237 test-hgweb-raw.t
238 test-hgweb-removed.t
238 test-hgweb-removed.t
239 test-hgweb.t
239 test-hgweb.t
240 test-hgwebdir-paths.py
240 test-hgwebdir-paths.py
241 test-hgwebdirsym.t
241 test-hgwebdirsym.t
242 test-histedit-arguments.t
242 test-histedit-arguments.t
243 test-histedit-base.t
243 test-histedit-base.t
244 test-histedit-bookmark-motion.t
244 test-histedit-bookmark-motion.t
245 test-histedit-commute.t
245 test-histedit-commute.t
246 test-histedit-drop.t
246 test-histedit-drop.t
247 test-histedit-edit.t
247 test-histedit-edit.t
248 test-histedit-fold-non-commute.t
248 test-histedit-fold-non-commute.t
249 test-histedit-fold.t
249 test-histedit-fold.t
250 test-histedit-no-backup.t
250 test-histedit-no-backup.t
251 test-histedit-no-change.t
251 test-histedit-no-change.t
252 test-histedit-non-commute-abort.t
252 test-histedit-non-commute-abort.t
253 test-histedit-non-commute.t
253 test-histedit-non-commute.t
254 test-histedit-obsolete.t
254 test-histedit-obsolete.t
255 test-histedit-outgoing.t
255 test-histedit-outgoing.t
256 test-histedit-templates.t
256 test-histedit-templates.t
257 test-http-branchmap.t
257 test-http-branchmap.t
258 test-http-bundle1.t
258 test-http-bundle1.t
259 test-http-clone-r.t
259 test-http-clone-r.t
260 test-http-permissions.t
260 test-http-permissions.t
261 test-http.t
261 test-http.t
262 test-hybridencode.py
262 test-hybridencode.py
263 test-i18n.t
263 test-i18n.t
264 test-identify.t
264 test-identify.t
265 test-impexp-branch.t
265 test-impexp-branch.t
266 test-import-bypass.t
266 test-import-bypass.t
267 test-import-context.t
267 test-import-context.t
268 test-import-eol.t
268 test-import-eol.t
269 test-import-merge.t
269 test-import-merge.t
270 test-import-unknown.t
270 test-import-unknown.t
271 test-import.t
271 test-import.t
272 test-imports-checker.t
272 test-imports-checker.t
273 test-incoming-outgoing.t
273 test-incoming-outgoing.t
274 test-infinitepush-bundlestore.t
274 test-infinitepush-bundlestore.t
275 test-infinitepush-ci.t
275 test-infinitepush-ci.t
276 test-infinitepush.t
276 test-infinitepush.t
277 test-inherit-mode.t
277 test-inherit-mode.t
278 test-init.t
278 test-init.t
279 test-issue1089.t
279 test-issue1089.t
280 test-issue1102.t
280 test-issue1102.t
281 test-issue1175.t
281 test-issue1175.t
282 test-issue1306.t
282 test-issue1306.t
283 test-issue1438.t
283 test-issue1438.t
284 test-issue1502.t
284 test-issue1502.t
285 test-issue1802.t
285 test-issue1802.t
286 test-issue1877.t
286 test-issue1877.t
287 test-issue1993.t
287 test-issue1993.t
288 test-issue2137.t
288 test-issue2137.t
289 test-issue3084.t
289 test-issue3084.t
290 test-issue4074.t
290 test-issue4074.t
291 test-issue522.t
291 test-issue522.t
292 test-issue586.t
292 test-issue586.t
293 test-issue5979.t
293 test-issue5979.t
294 test-issue612.t
294 test-issue612.t
295 test-issue619.t
295 test-issue619.t
296 test-issue660.t
296 test-issue660.t
297 test-issue672.t
297 test-issue672.t
298 test-issue842.t
298 test-issue842.t
299 test-journal-exists.t
299 test-journal-exists.t
300 test-journal-share.t
300 test-journal-share.t
301 test-journal.t
301 test-journal.t
302 test-keyword.t
302 test-keyword.t
303 test-known.t
303 test-known.t
304 test-largefiles-cache.t
304 test-largefiles-cache.t
305 test-largefiles-misc.t
305 test-largefiles-misc.t
306 test-largefiles-small-disk.t
306 test-largefiles-small-disk.t
307 test-largefiles-update.t
307 test-largefiles-update.t
308 test-largefiles-wireproto.t
308 test-largefiles.t
309 test-largefiles.t
309 test-lfconvert.t
310 test-lfconvert.t
310 test-lfs-bundle.t
311 test-lfs-bundle.t
311 test-lfs-largefiles.t
312 test-lfs-largefiles.t
312 test-lfs-pointer.py
313 test-lfs-pointer.py
313 test-lfs.t
314 test-lfs.t
314 test-linelog.py
315 test-linelog.py
315 test-linerange.py
316 test-linerange.py
316 test-locate.t
317 test-locate.t
317 test-lock-badness.t
318 test-lock-badness.t
318 test-log-exthook.t
319 test-log-exthook.t
319 test-log-linerange.t
320 test-log-linerange.t
320 test-log.t
321 test-log.t
321 test-logexchange.t
322 test-logexchange.t
322 test-logtoprocess.t
323 test-logtoprocess.t
323 test-lrucachedict.py
324 test-lrucachedict.py
324 test-mactext.t
325 test-mactext.t
325 test-mailmap.t
326 test-mailmap.t
326 test-manifest-merging.t
327 test-manifest-merging.t
327 test-manifest.py
328 test-manifest.py
328 test-manifest.t
329 test-manifest.t
329 test-match.py
330 test-match.py
330 test-mdiff.py
331 test-mdiff.py
331 test-merge-changedelete.t
332 test-merge-changedelete.t
332 test-merge-closedheads.t
333 test-merge-closedheads.t
333 test-merge-commit.t
334 test-merge-commit.t
334 test-merge-criss-cross.t
335 test-merge-criss-cross.t
335 test-merge-default.t
336 test-merge-default.t
336 test-merge-force.t
337 test-merge-force.t
337 test-merge-halt.t
338 test-merge-halt.t
338 test-merge-internal-tools-pattern.t
339 test-merge-internal-tools-pattern.t
339 test-merge-local.t
340 test-merge-local.t
340 test-merge-no-file-change.t
341 test-merge-no-file-change.t
341 test-merge-remove.t
342 test-merge-remove.t
342 test-merge-revert.t
343 test-merge-revert.t
343 test-merge-revert2.t
344 test-merge-revert2.t
344 test-merge-subrepos.t
345 test-merge-subrepos.t
345 test-merge-symlinks.t
346 test-merge-symlinks.t
346 test-merge-tools.t
347 test-merge-tools.t
347 test-merge-types.t
348 test-merge-types.t
348 test-merge1.t
349 test-merge1.t
349 test-merge10.t
350 test-merge10.t
350 test-merge2.t
351 test-merge2.t
351 test-merge4.t
352 test-merge4.t
352 test-merge5.t
353 test-merge5.t
353 test-merge6.t
354 test-merge6.t
354 test-merge7.t
355 test-merge7.t
355 test-merge8.t
356 test-merge8.t
356 test-merge9.t
357 test-merge9.t
357 test-minifileset.py
358 test-minifileset.py
358 test-minirst.py
359 test-minirst.py
359 test-mq-git.t
360 test-mq-git.t
360 test-mq-guards.t
361 test-mq-guards.t
361 test-mq-header-date.t
362 test-mq-header-date.t
362 test-mq-header-from.t
363 test-mq-header-from.t
363 test-mq-merge.t
364 test-mq-merge.t
364 test-mq-pull-from-bundle.t
365 test-mq-pull-from-bundle.t
365 test-mq-qclone-http.t
366 test-mq-qclone-http.t
366 test-mq-qdelete.t
367 test-mq-qdelete.t
367 test-mq-qdiff.t
368 test-mq-qdiff.t
368 test-mq-qfold.t
369 test-mq-qfold.t
369 test-mq-qgoto.t
370 test-mq-qgoto.t
370 test-mq-qimport-fail-cleanup.t
371 test-mq-qimport-fail-cleanup.t
371 test-mq-qnew.t
372 test-mq-qnew.t
372 test-mq-qpush-exact.t
373 test-mq-qpush-exact.t
373 test-mq-qpush-fail.t
374 test-mq-qpush-fail.t
374 test-mq-qqueue.t
375 test-mq-qqueue.t
375 test-mq-qrefresh-interactive.t
376 test-mq-qrefresh-interactive.t
376 test-mq-qrefresh-replace-log-message.t
377 test-mq-qrefresh-replace-log-message.t
377 test-mq-qrefresh.t
378 test-mq-qrefresh.t
378 test-mq-qrename.t
379 test-mq-qrename.t
379 test-mq-qsave.t
380 test-mq-qsave.t
380 test-mq-safety.t
381 test-mq-safety.t
381 test-mq-subrepo.t
382 test-mq-subrepo.t
382 test-mq-symlinks.t
383 test-mq-symlinks.t
383 test-mq.t
384 test-mq.t
384 test-mv-cp-st-diff.t
385 test-mv-cp-st-diff.t
385 test-narrow-acl.t
386 test-narrow-acl.t
386 test-narrow-archive.t
387 test-narrow-archive.t
387 test-narrow-clone-no-ellipsis.t
388 test-narrow-clone-no-ellipsis.t
388 test-narrow-clone-non-narrow-server.t
389 test-narrow-clone-non-narrow-server.t
389 test-narrow-clone-nonlinear.t
390 test-narrow-clone-nonlinear.t
390 test-narrow-clone-stream.t
391 test-narrow-clone-stream.t
391 test-narrow-clone.t
392 test-narrow-clone.t
392 test-narrow-commit.t
393 test-narrow-commit.t
393 test-narrow-copies.t
394 test-narrow-copies.t
394 test-narrow-debugcommands.t
395 test-narrow-debugcommands.t
395 test-narrow-debugrebuilddirstate.t
396 test-narrow-debugrebuilddirstate.t
396 test-narrow-exchange-merges.t
397 test-narrow-exchange-merges.t
397 test-narrow-exchange.t
398 test-narrow-exchange.t
398 test-narrow-expanddirstate.t
399 test-narrow-expanddirstate.t
399 test-narrow-merge.t
400 test-narrow-merge.t
400 test-narrow-patch.t
401 test-narrow-patch.t
401 test-narrow-patterns.t
402 test-narrow-patterns.t
402 test-narrow-pull.t
403 test-narrow-pull.t
403 test-narrow-rebase.t
404 test-narrow-rebase.t
404 test-narrow-shallow-merges.t
405 test-narrow-shallow-merges.t
405 test-narrow-shallow.t
406 test-narrow-shallow.t
406 test-narrow-strip.t
407 test-narrow-strip.t
407 test-narrow-trackedcmd.t
408 test-narrow-trackedcmd.t
408 test-narrow-update.t
409 test-narrow-update.t
409 test-narrow-widen-no-ellipsis.t
410 test-narrow-widen-no-ellipsis.t
410 test-narrow-widen.t
411 test-narrow-widen.t
411 test-narrow.t
412 test-narrow.t
412 test-nested-repo.t
413 test-nested-repo.t
413 test-newbranch.t
414 test-newbranch.t
414 test-newercgi.t
415 test-newercgi.t
415 test-nointerrupt.t
416 test-nointerrupt.t
416 test-obshistory.t
417 test-obshistory.t
417 test-obsmarker-template.t
418 test-obsmarker-template.t
418 test-obsmarkers-effectflag.t
419 test-obsmarkers-effectflag.t
419 test-obsolete-bounds-checking.t
420 test-obsolete-bounds-checking.t
420 test-obsolete-bundle-strip.t
421 test-obsolete-bundle-strip.t
421 test-obsolete-changeset-exchange.t
422 test-obsolete-changeset-exchange.t
422 test-obsolete-checkheads.t
423 test-obsolete-checkheads.t
423 test-obsolete-distributed.t
424 test-obsolete-distributed.t
424 test-obsolete-divergent.t
425 test-obsolete-divergent.t
425 test-obsolete-tag-cache.t
426 test-obsolete-tag-cache.t
426 test-obsolete.t
427 test-obsolete.t
427 test-origbackup-conflict.t
428 test-origbackup-conflict.t
428 test-pager-legacy.t
429 test-pager-legacy.t
429 test-pager.t
430 test-pager.t
430 test-parents.t
431 test-parents.t
431 test-parse-date.t
432 test-parse-date.t
432 test-parseindex2.py
433 test-parseindex2.py
433 test-patch-offset.t
434 test-patch-offset.t
434 test-patch.t
435 test-patch.t
435 test-patchbomb-bookmark.t
436 test-patchbomb-bookmark.t
436 test-patchbomb-tls.t
437 test-patchbomb-tls.t
437 test-patchbomb.t
438 test-patchbomb.t
438 test-pathconflicts-basic.t
439 test-pathconflicts-basic.t
439 test-pathconflicts-merge.t
440 test-pathconflicts-merge.t
440 test-pathconflicts-update.t
441 test-pathconflicts-update.t
441 test-pathencode.py
442 test-pathencode.py
442 test-pending.t
443 test-pending.t
443 test-permissions.t
444 test-permissions.t
444 test-phases-exchange.t
445 test-phases-exchange.t
445 test-phases.t
446 test-phases.t
446 test-profile.t
447 test-profile.t
447 test-progress.t
448 test-progress.t
448 test-propertycache.py
449 test-propertycache.py
449 test-pull-branch.t
450 test-pull-branch.t
450 test-pull-http.t
451 test-pull-http.t
451 test-pull-permission.t
452 test-pull-permission.t
452 test-pull-pull-corruption.t
453 test-pull-pull-corruption.t
453 test-pull-r.t
454 test-pull-r.t
454 test-pull-update.t
455 test-pull-update.t
455 test-pull.t
456 test-pull.t
456 test-purge.t
457 test-purge.t
457 test-push-cgi.t
458 test-push-cgi.t
458 test-push-checkheads-partial-C1.t
459 test-push-checkheads-partial-C1.t
459 test-push-checkheads-partial-C2.t
460 test-push-checkheads-partial-C2.t
460 test-push-checkheads-partial-C3.t
461 test-push-checkheads-partial-C3.t
461 test-push-checkheads-partial-C4.t
462 test-push-checkheads-partial-C4.t
462 test-push-checkheads-pruned-B1.t
463 test-push-checkheads-pruned-B1.t
463 test-push-checkheads-pruned-B2.t
464 test-push-checkheads-pruned-B2.t
464 test-push-checkheads-pruned-B3.t
465 test-push-checkheads-pruned-B3.t
465 test-push-checkheads-pruned-B4.t
466 test-push-checkheads-pruned-B4.t
466 test-push-checkheads-pruned-B5.t
467 test-push-checkheads-pruned-B5.t
467 test-push-checkheads-pruned-B6.t
468 test-push-checkheads-pruned-B6.t
468 test-push-checkheads-pruned-B7.t
469 test-push-checkheads-pruned-B7.t
469 test-push-checkheads-pruned-B8.t
470 test-push-checkheads-pruned-B8.t
470 test-push-checkheads-superceed-A1.t
471 test-push-checkheads-superceed-A1.t
471 test-push-checkheads-superceed-A2.t
472 test-push-checkheads-superceed-A2.t
472 test-push-checkheads-superceed-A3.t
473 test-push-checkheads-superceed-A3.t
473 test-push-checkheads-superceed-A4.t
474 test-push-checkheads-superceed-A4.t
474 test-push-checkheads-superceed-A5.t
475 test-push-checkheads-superceed-A5.t
475 test-push-checkheads-superceed-A6.t
476 test-push-checkheads-superceed-A6.t
476 test-push-checkheads-superceed-A7.t
477 test-push-checkheads-superceed-A7.t
477 test-push-checkheads-superceed-A8.t
478 test-push-checkheads-superceed-A8.t
478 test-push-checkheads-unpushed-D1.t
479 test-push-checkheads-unpushed-D1.t
479 test-push-checkheads-unpushed-D2.t
480 test-push-checkheads-unpushed-D2.t
480 test-push-checkheads-unpushed-D3.t
481 test-push-checkheads-unpushed-D3.t
481 test-push-checkheads-unpushed-D4.t
482 test-push-checkheads-unpushed-D4.t
482 test-push-checkheads-unpushed-D5.t
483 test-push-checkheads-unpushed-D5.t
483 test-push-checkheads-unpushed-D6.t
484 test-push-checkheads-unpushed-D6.t
484 test-push-checkheads-unpushed-D7.t
485 test-push-checkheads-unpushed-D7.t
485 test-push-http.t
486 test-push-http.t
486 test-push-race.t
487 test-push-race.t
487 test-push-warn.t
488 test-push-warn.t
488 test-push.t
489 test-push.t
489 test-pushvars.t
490 test-pushvars.t
490 test-qrecord.t
491 test-qrecord.t
491 test-rebase-abort.t
492 test-rebase-abort.t
492 test-rebase-backup.t
493 test-rebase-backup.t
493 test-rebase-base-flag.t
494 test-rebase-base-flag.t
494 test-rebase-bookmarks.t
495 test-rebase-bookmarks.t
495 test-rebase-brute-force.t
496 test-rebase-brute-force.t
496 test-rebase-cache.t
497 test-rebase-cache.t
497 test-rebase-check-restore.t
498 test-rebase-check-restore.t
498 test-rebase-collapse.t
499 test-rebase-collapse.t
499 test-rebase-conflicts.t
500 test-rebase-conflicts.t
500 test-rebase-dest.t
501 test-rebase-dest.t
501 test-rebase-detach.t
502 test-rebase-detach.t
502 test-rebase-emptycommit.t
503 test-rebase-emptycommit.t
503 test-rebase-inmemory.t
504 test-rebase-inmemory.t
504 test-rebase-interruptions.t
505 test-rebase-interruptions.t
505 test-rebase-issue-noparam-single-rev.t
506 test-rebase-issue-noparam-single-rev.t
506 test-rebase-legacy.t
507 test-rebase-legacy.t
507 test-rebase-mq-skip.t
508 test-rebase-mq-skip.t
508 test-rebase-mq.t
509 test-rebase-mq.t
509 test-rebase-named-branches.t
510 test-rebase-named-branches.t
510 test-rebase-newancestor.t
511 test-rebase-newancestor.t
511 test-rebase-obsolete.t
512 test-rebase-obsolete.t
512 test-rebase-parameters.t
513 test-rebase-parameters.t
513 test-rebase-partial.t
514 test-rebase-partial.t
514 test-rebase-pull.t
515 test-rebase-pull.t
515 test-rebase-rename.t
516 test-rebase-rename.t
516 test-rebase-scenario-global.t
517 test-rebase-scenario-global.t
517 test-rebase-templates.t
518 test-rebase-templates.t
518 test-rebase-transaction.t
519 test-rebase-transaction.t
519 test-rebuildstate.t
520 test-rebuildstate.t
520 test-record.t
521 test-record.t
521 test-releasenotes-formatting.t
522 test-releasenotes-formatting.t
522 test-releasenotes-merging.t
523 test-releasenotes-merging.t
523 test-releasenotes-parsing.t
524 test-releasenotes-parsing.t
524 test-relink.t
525 test-relink.t
525 test-remotefilelog-bad-configs.t
526 test-remotefilelog-bad-configs.t
526 test-remotefilelog-blame.t
527 test-remotefilelog-blame.t
527 test-remotefilelog-clone-tree.t
528 test-remotefilelog-clone-tree.t
528 test-remotefilelog-clone.t
529 test-remotefilelog-clone.t
529 test-remotefilelog-keepset.t
530 test-remotefilelog-keepset.t
530 test-remotefilelog-partial-shallow.t
531 test-remotefilelog-partial-shallow.t
531 test-remotefilelog-prefetch.t
532 test-remotefilelog-prefetch.t
532 test-remotefilelog-share.t
533 test-remotefilelog-share.t
533 test-remotefilelog-tags.t
534 test-remotefilelog-tags.t
534 test-remove.t
535 test-remove.t
535 test-removeemptydirs.t
536 test-removeemptydirs.t
536 test-rename-after-merge.t
537 test-rename-after-merge.t
537 test-rename-dir-merge.t
538 test-rename-dir-merge.t
538 test-rename-merge1.t
539 test-rename-merge1.t
539 test-rename-merge2.t
540 test-rename-merge2.t
540 test-rename.t
541 test-rename.t
541 test-repair-strip.t
542 test-repair-strip.t
542 test-repo-compengines.t
543 test-repo-compengines.t
543 test-requires.t
544 test-requires.t
544 test-resolve.t
545 test-resolve.t
545 test-revert-flags.t
546 test-revert-flags.t
546 test-revert-interactive.t
547 test-revert-interactive.t
547 test-revert-unknown.t
548 test-revert-unknown.t
548 test-revert.t
549 test-revert.t
549 test-revisions.t
550 test-revisions.t
550 test-revlog-ancestry.py
551 test-revlog-ancestry.py
551 test-revlog-group-emptyiter.t
552 test-revlog-group-emptyiter.t
552 test-revlog-mmapindex.t
553 test-revlog-mmapindex.t
553 test-revlog-packentry.t
554 test-revlog-packentry.t
554 test-revlog-raw.py
555 test-revlog-raw.py
555 test-revlog-v2.t
556 test-revlog-v2.t
556 test-revlog.t
557 test-revlog.t
557 test-revset-dirstate-parents.t
558 test-revset-dirstate-parents.t
558 test-revset-legacy-lookup.t
559 test-revset-legacy-lookup.t
559 test-revset-outgoing.t
560 test-revset-outgoing.t
560 test-rollback.t
561 test-rollback.t
561 test-run-tests.py
562 test-run-tests.py
562 test-run-tests.t
563 test-run-tests.t
563 test-schemes.t
564 test-schemes.t
564 test-serve.t
565 test-serve.t
565 test-setdiscovery.t
566 test-setdiscovery.t
566 test-share.t
567 test-share.t
567 test-shelve.t
568 test-shelve.t
568 test-show-stack.t
569 test-show-stack.t
569 test-show-work.t
570 test-show-work.t
570 test-show.t
571 test-show.t
571 test-simple-update.t
572 test-simple-update.t
572 test-simplekeyvaluefile.py
573 test-simplekeyvaluefile.py
573 test-simplemerge.py
574 test-simplemerge.py
574 test-single-head.t
575 test-single-head.t
575 test-sparse-clear.t
576 test-sparse-clear.t
576 test-sparse-clone.t
577 test-sparse-clone.t
577 test-sparse-import.t
578 test-sparse-import.t
578 test-sparse-merges.t
579 test-sparse-merges.t
579 test-sparse-profiles.t
580 test-sparse-profiles.t
580 test-sparse-requirement.t
581 test-sparse-requirement.t
581 test-sparse-verbose-json.t
582 test-sparse-verbose-json.t
582 test-sparse.t
583 test-sparse.t
583 test-split.t
584 test-split.t
584 test-ssh-bundle1.t
585 test-ssh-bundle1.t
585 test-ssh-clone-r.t
586 test-ssh-clone-r.t
586 test-ssh-proto-unbundle.t
587 test-ssh-proto-unbundle.t
587 test-ssh-proto.t
588 test-ssh-proto.t
588 test-ssh-repoerror.t
589 test-ssh-repoerror.t
589 test-ssh.t
590 test-ssh.t
590 test-sshserver.py
591 test-sshserver.py
591 test-stack.t
592 test-stack.t
592 test-status-color.t
593 test-status-color.t
593 test-status-inprocess.py
594 test-status-inprocess.py
594 test-status-rev.t
595 test-status-rev.t
595 test-status-terse.t
596 test-status-terse.t
596 test-status.t
597 test-status.t
597 test-storage.py
598 test-storage.py
598 test-stream-bundle-v2.t
599 test-stream-bundle-v2.t
599 test-strict.t
600 test-strict.t
600 test-strip-cross.t
601 test-strip-cross.t
601 test-strip.t
602 test-strip.t
602 test-subrepo-deep-nested-change.t
603 test-subrepo-deep-nested-change.t
603 test-subrepo-missing.t
604 test-subrepo-missing.t
604 test-subrepo-paths.t
605 test-subrepo-paths.t
605 test-subrepo-recursion.t
606 test-subrepo-recursion.t
606 test-subrepo-relative-path.t
607 test-subrepo-relative-path.t
607 test-subrepo.t
608 test-subrepo.t
608 test-symlink-os-yes-fs-no.py
609 test-symlink-os-yes-fs-no.py
609 test-symlink-placeholder.t
610 test-symlink-placeholder.t
610 test-symlinks.t
611 test-symlinks.t
611 test-tag.t
612 test-tag.t
612 test-tags.t
613 test-tags.t
613 test-template-basic.t
614 test-template-basic.t
614 test-template-functions.t
615 test-template-functions.t
615 test-template-keywords.t
616 test-template-keywords.t
616 test-template-map.t
617 test-template-map.t
617 test-tools.t
618 test-tools.t
618 test-transplant.t
619 test-transplant.t
619 test-treemanifest.t
620 test-treemanifest.t
620 test-ui-color.py
621 test-ui-color.py
621 test-ui-config.py
622 test-ui-config.py
622 test-ui-verbosity.py
623 test-ui-verbosity.py
623 test-unamend.t
624 test-unamend.t
624 test-unbundlehash.t
625 test-unbundlehash.t
625 test-uncommit.t
626 test-uncommit.t
626 test-unified-test.t
627 test-unified-test.t
627 test-unionrepo.t
628 test-unionrepo.t
628 test-unrelated-pull.t
629 test-unrelated-pull.t
629 test-up-local-change.t
630 test-up-local-change.t
630 test-update-branches.t
631 test-update-branches.t
631 test-update-dest.t
632 test-update-dest.t
632 test-update-issue1456.t
633 test-update-issue1456.t
633 test-update-names.t
634 test-update-names.t
634 test-update-reverse.t
635 test-update-reverse.t
635 test-upgrade-repo.t
636 test-upgrade-repo.t
636 test-url-download.t
637 test-url-download.t
637 test-url-rev.t
638 test-url-rev.t
638 test-url.py
639 test-url.py
639 test-username-newline.t
640 test-username-newline.t
640 test-util.py
641 test-util.py
641 test-verify.t
642 test-verify.t
642 test-walk.t
643 test-walk.t
643 test-walkrepo.py
644 test-walkrepo.py
644 test-websub.t
645 test-websub.t
645 test-win32text.t
646 test-win32text.t
646 test-wireproto-clientreactor.py
647 test-wireproto-clientreactor.py
647 test-wireproto-command-branchmap.t
648 test-wireproto-command-branchmap.t
648 test-wireproto-command-changesetdata.t
649 test-wireproto-command-changesetdata.t
649 test-wireproto-command-filedata.t
650 test-wireproto-command-filedata.t
650 test-wireproto-command-filesdata.t
651 test-wireproto-command-filesdata.t
651 test-wireproto-command-heads.t
652 test-wireproto-command-heads.t
652 test-wireproto-command-listkeys.t
653 test-wireproto-command-listkeys.t
653 test-wireproto-command-lookup.t
654 test-wireproto-command-lookup.t
654 test-wireproto-command-manifestdata.t
655 test-wireproto-command-manifestdata.t
655 test-wireproto-command-pushkey.t
656 test-wireproto-command-pushkey.t
656 test-wireproto-command-rawstorefiledata.t
657 test-wireproto-command-rawstorefiledata.t
657 test-wireproto-framing.py
658 test-wireproto-framing.py
658 test-wireproto-serverreactor.py
659 test-wireproto-serverreactor.py
659 test-wireproto.py
660 test-wireproto.py
660 test-wsgirequest.py
661 test-wsgirequest.py
661 test-xdg.t
662 test-xdg.t
@@ -1,464 +1,464
1 #testcases sshv1 sshv2
1 #testcases sshv1 sshv2
2
2
3 #if sshv2
3 #if sshv2
4 $ cat >> $HGRCPATH << EOF
4 $ cat >> $HGRCPATH << EOF
5 > [experimental]
5 > [experimental]
6 > sshpeer.advertise-v2 = true
6 > sshpeer.advertise-v2 = true
7 > sshserver.support-v2 = true
7 > sshserver.support-v2 = true
8 > EOF
8 > EOF
9 #endif
9 #endif
10
10
11 This file contains testcases that tend to be related to the wire protocol part
11 This file contains testcases that tend to be related to the wire protocol part
12 of largefiles.
12 of largefiles.
13
13
14 $ USERCACHE="$TESTTMP/cache"; export USERCACHE
14 $ USERCACHE="$TESTTMP/cache"; export USERCACHE
15 $ mkdir "${USERCACHE}"
15 $ mkdir "${USERCACHE}"
16 $ cat >> $HGRCPATH <<EOF
16 $ cat >> $HGRCPATH <<EOF
17 > [extensions]
17 > [extensions]
18 > largefiles=
18 > largefiles=
19 > purge=
19 > purge=
20 > rebase=
20 > rebase=
21 > transplant=
21 > transplant=
22 > [phases]
22 > [phases]
23 > publish=False
23 > publish=False
24 > [largefiles]
24 > [largefiles]
25 > minsize=2
25 > minsize=2
26 > patterns=glob:**.dat
26 > patterns=glob:**.dat
27 > usercache=${USERCACHE}
27 > usercache=${USERCACHE}
28 > [web]
28 > [web]
29 > allow-archive = zip
29 > allow-archive = zip
30 > [hooks]
30 > [hooks]
31 > precommit=sh -c "echo \\"Invoking status precommit hook\\"; hg status"
31 > precommit=sh -c "echo \\"Invoking status precommit hook\\"; hg status"
32 > EOF
32 > EOF
33
33
34
34
35 #if serve
35 #if serve
36 vanilla clients not locked out from largefiles servers on vanilla repos
36 vanilla clients not locked out from largefiles servers on vanilla repos
37 $ mkdir r1
37 $ mkdir r1
38 $ cd r1
38 $ cd r1
39 $ hg init
39 $ hg init
40 $ echo c1 > f1
40 $ echo c1 > f1
41 $ hg add f1
41 $ hg add f1
42 $ hg commit -m "m1"
42 $ hg commit -m "m1"
43 Invoking status precommit hook
43 Invoking status precommit hook
44 A f1
44 A f1
45 $ cd ..
45 $ cd ..
46 $ hg serve -R r1 -d -p $HGPORT --pid-file hg.pid
46 $ hg serve -R r1 -d -p $HGPORT --pid-file hg.pid
47 $ cat hg.pid >> $DAEMON_PIDS
47 $ cat hg.pid >> $DAEMON_PIDS
48 $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT r2
48 $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT r2
49 requesting all changes
49 requesting all changes
50 adding changesets
50 adding changesets
51 adding manifests
51 adding manifests
52 adding file changes
52 adding file changes
53 added 1 changesets with 1 changes to 1 files
53 added 1 changesets with 1 changes to 1 files
54 new changesets b6eb3a2e2efe (1 drafts)
54 new changesets b6eb3a2e2efe (1 drafts)
55 updating to branch default
55 updating to branch default
56 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
56 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
57
57
58 largefiles clients still work with vanilla servers
58 largefiles clients still work with vanilla servers
59 $ hg serve --config extensions.largefiles=! -R r1 -d -p $HGPORT1 --pid-file hg.pid
59 $ hg serve --config extensions.largefiles=! -R r1 -d -p $HGPORT1 --pid-file hg.pid
60 $ cat hg.pid >> $DAEMON_PIDS
60 $ cat hg.pid >> $DAEMON_PIDS
61 $ hg clone http://localhost:$HGPORT1 r3
61 $ hg clone http://localhost:$HGPORT1 r3
62 requesting all changes
62 requesting all changes
63 adding changesets
63 adding changesets
64 adding manifests
64 adding manifests
65 adding file changes
65 adding file changes
66 added 1 changesets with 1 changes to 1 files
66 added 1 changesets with 1 changes to 1 files
67 new changesets b6eb3a2e2efe (1 drafts)
67 new changesets b6eb3a2e2efe (1 drafts)
68 updating to branch default
68 updating to branch default
69 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
69 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
70 #endif
70 #endif
71
71
72 vanilla clients locked out from largefiles http repos
72 vanilla clients locked out from largefiles http repos
73 $ mkdir r4
73 $ mkdir r4
74 $ cd r4
74 $ cd r4
75 $ hg init
75 $ hg init
76 $ echo c1 > f1
76 $ echo c1 > f1
77 $ hg add --large f1
77 $ hg add --large f1
78 $ hg commit -m "m1"
78 $ hg commit -m "m1"
79 Invoking status precommit hook
79 Invoking status precommit hook
80 A f1
80 A f1
81 $ cd ..
81 $ cd ..
82
82
83 largefiles can be pushed locally (issue3583)
83 largefiles can be pushed locally (issue3583)
84 $ hg init dest
84 $ hg init dest
85 $ cd r4
85 $ cd r4
86 $ hg outgoing ../dest
86 $ hg outgoing ../dest
87 comparing with ../dest
87 comparing with ../dest
88 searching for changes
88 searching for changes
89 changeset: 0:639881c12b4c
89 changeset: 0:639881c12b4c
90 tag: tip
90 tag: tip
91 user: test
91 user: test
92 date: Thu Jan 01 00:00:00 1970 +0000
92 date: Thu Jan 01 00:00:00 1970 +0000
93 summary: m1
93 summary: m1
94
94
95 $ hg push ../dest
95 $ hg push ../dest
96 pushing to ../dest
96 pushing to ../dest
97 searching for changes
97 searching for changes
98 adding changesets
98 adding changesets
99 adding manifests
99 adding manifests
100 adding file changes
100 adding file changes
101 added 1 changesets with 1 changes to 1 files
101 added 1 changesets with 1 changes to 1 files
102
102
103 exit code with nothing outgoing (issue3611)
103 exit code with nothing outgoing (issue3611)
104 $ hg outgoing ../dest
104 $ hg outgoing ../dest
105 comparing with ../dest
105 comparing with ../dest
106 searching for changes
106 searching for changes
107 no changes found
107 no changes found
108 [1]
108 [1]
109 $ cd ..
109 $ cd ..
110
110
111 #if serve
111 #if serve
112 $ hg serve -R r4 -d -p $HGPORT2 --pid-file hg.pid
112 $ hg serve -R r4 -d -p $HGPORT2 --pid-file hg.pid
113 $ cat hg.pid >> $DAEMON_PIDS
113 $ cat hg.pid >> $DAEMON_PIDS
114 $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT2 r5
114 $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT2 r5
115 abort: remote error:
115 abort: remote error:
116
116
117 This repository uses the largefiles extension.
117 This repository uses the largefiles extension.
118
118
119 Please enable it in your Mercurial config file.
119 Please enable it in your Mercurial config file.
120 [255]
120 [255]
121
121
122 used all HGPORTs, kill all daemons
122 used all HGPORTs, kill all daemons
123 $ killdaemons.py
123 $ killdaemons.py
124 #endif
124 #endif
125
125
126 vanilla clients locked out from largefiles ssh repos
126 vanilla clients locked out from largefiles ssh repos
127 $ hg --config extensions.largefiles=! clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/r4 r5
127 $ hg --config extensions.largefiles=! clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/r4 r5
128 remote:
128 remote:
129 remote: This repository uses the largefiles extension.
129 remote: This repository uses the largefiles extension.
130 remote:
130 remote:
131 remote: Please enable it in your Mercurial config file.
131 remote: Please enable it in your Mercurial config file.
132 remote:
132 remote:
133 remote: -
133 remote: -
134 abort: remote error
134 abort: remote error
135 (check previous remote output)
135 (check previous remote output)
136 [255]
136 [255]
137
137
138 #if serve
138 #if serve
139
139
140 largefiles clients refuse to push largefiles repos to vanilla servers
140 largefiles clients refuse to push largefiles repos to vanilla servers
141 $ mkdir r6
141 $ mkdir r6
142 $ cd r6
142 $ cd r6
143 $ hg init
143 $ hg init
144 $ echo c1 > f1
144 $ echo c1 > f1
145 $ hg add f1
145 $ hg add f1
146 $ hg commit -m "m1"
146 $ hg commit -m "m1"
147 Invoking status precommit hook
147 Invoking status precommit hook
148 A f1
148 A f1
149 $ cat >> .hg/hgrc <<!
149 $ cat >> .hg/hgrc <<!
150 > [web]
150 > [web]
151 > push_ssl = false
151 > push_ssl = false
152 > allow_push = *
152 > allow_push = *
153 > !
153 > !
154 $ cd ..
154 $ cd ..
155 $ hg clone r6 r7
155 $ hg clone r6 r7
156 updating to branch default
156 updating to branch default
157 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
157 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
158 $ cd r7
158 $ cd r7
159 $ echo c2 > f2
159 $ echo c2 > f2
160 $ hg add --large f2
160 $ hg add --large f2
161 $ hg commit -m "m2"
161 $ hg commit -m "m2"
162 Invoking status precommit hook
162 Invoking status precommit hook
163 A f2
163 A f2
164 $ hg verify --large
164 $ hg verify --large
165 checking changesets
165 checking changesets
166 checking manifests
166 checking manifests
167 crosschecking files in changesets and manifests
167 crosschecking files in changesets and manifests
168 checking files
168 checking files
169 checked 2 changesets with 2 changes to 2 files
169 checked 2 changesets with 2 changes to 2 files
170 searching 1 changesets for largefiles
170 searching 1 changesets for largefiles
171 verified existence of 1 revisions of 1 largefiles
171 verified existence of 1 revisions of 1 largefiles
172 $ hg serve --config extensions.largefiles=! -R ../r6 -d -p $HGPORT --pid-file ../hg.pid
172 $ hg serve --config extensions.largefiles=! -R ../r6 -d -p $HGPORT --pid-file ../hg.pid
173 $ cat ../hg.pid >> $DAEMON_PIDS
173 $ cat ../hg.pid >> $DAEMON_PIDS
174 $ hg push http://localhost:$HGPORT
174 $ hg push http://localhost:$HGPORT
175 pushing to http://localhost:$HGPORT/
175 pushing to http://localhost:$HGPORT/
176 searching for changes
176 searching for changes
177 abort: http://localhost:$HGPORT/ does not appear to be a largefile store
177 abort: http://localhost:$HGPORT/ does not appear to be a largefile store
178 [255]
178 [255]
179 $ cd ..
179 $ cd ..
180
180
181 putlfile errors are shown (issue3123)
181 putlfile errors are shown (issue3123)
182 Corrupt the cached largefile in r7 and move it out of the servers usercache
182 Corrupt the cached largefile in r7 and move it out of the servers usercache
183 $ mv r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8 .
183 $ mv r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8 .
184 $ echo 'client side corruption' > r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
184 $ echo 'client side corruption' > r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
185 $ rm "$USERCACHE/4cdac4d8b084d0b599525cf732437fb337d422a8"
185 $ rm "$USERCACHE/4cdac4d8b084d0b599525cf732437fb337d422a8"
186 $ hg init empty
186 $ hg init empty
187 $ hg serve -R empty -d -p $HGPORT1 --pid-file hg.pid \
187 $ hg serve -R empty -d -p $HGPORT1 --pid-file hg.pid \
188 > --config 'web.allow_push=*' --config web.push_ssl=False
188 > --config 'web.allow_push=*' --config web.push_ssl=False
189 $ cat hg.pid >> $DAEMON_PIDS
189 $ cat hg.pid >> $DAEMON_PIDS
190 $ hg push -R r7 http://localhost:$HGPORT1
190 $ hg push -R r7 http://localhost:$HGPORT1
191 pushing to http://localhost:$HGPORT1/
191 pushing to http://localhost:$HGPORT1/
192 searching for changes
192 searching for changes
193 remote: largefiles: failed to put 4cdac4d8b084d0b599525cf732437fb337d422a8 into store: largefile contents do not match hash
193 remote: largefiles: failed to put 4cdac4d8b084d0b599525cf732437fb337d422a8 into store: largefile contents do not match hash
194 abort: remotestore: could not put $TESTTMP/r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8 to remote store http://localhost:$HGPORT1/
194 abort: remotestore: could not put $TESTTMP/r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8 to remote store http://localhost:$HGPORT1/
195 [255]
195 [255]
196 $ mv 4cdac4d8b084d0b599525cf732437fb337d422a8 r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
196 $ mv 4cdac4d8b084d0b599525cf732437fb337d422a8 r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
197 Push of file that exists on server but is corrupted - magic healing would be nice ... but too magic
197 Push of file that exists on server but is corrupted - magic healing would be nice ... but too magic
198 $ echo "server side corruption" > empty/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
198 $ echo "server side corruption" > empty/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
199 $ hg push -R r7 http://localhost:$HGPORT1
199 $ hg push -R r7 http://localhost:$HGPORT1
200 pushing to http://localhost:$HGPORT1/
200 pushing to http://localhost:$HGPORT1/
201 searching for changes
201 searching for changes
202 remote: adding changesets
202 remote: adding changesets
203 remote: adding manifests
203 remote: adding manifests
204 remote: adding file changes
204 remote: adding file changes
205 remote: added 2 changesets with 2 changes to 2 files
205 remote: added 2 changesets with 2 changes to 2 files
206 $ cat empty/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
206 $ cat empty/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
207 server side corruption
207 server side corruption
208 $ rm -rf empty
208 $ rm -rf empty
209
209
210 Push a largefiles repository to a served empty repository
210 Push a largefiles repository to a served empty repository
211 $ hg init r8
211 $ hg init r8
212 $ echo c3 > r8/f1
212 $ echo c3 > r8/f1
213 $ hg add --large r8/f1 -R r8
213 $ hg add --large r8/f1 -R r8
214 $ hg commit -m "m1" -R r8
214 $ hg commit -m "m1" -R r8
215 Invoking status precommit hook
215 Invoking status precommit hook
216 A f1
216 A f1
217 $ hg init empty
217 $ hg init empty
218 $ hg serve -R empty -d -p $HGPORT2 --pid-file hg.pid \
218 $ hg serve -R empty -d -p $HGPORT2 --pid-file hg.pid \
219 > --config 'web.allow_push=*' --config web.push_ssl=False
219 > --config 'web.allow_push=*' --config web.push_ssl=False
220 $ cat hg.pid >> $DAEMON_PIDS
220 $ cat hg.pid >> $DAEMON_PIDS
221 $ rm "${USERCACHE}"/*
221 $ rm "${USERCACHE}"/*
222 $ hg push -R r8 http://localhost:$HGPORT2/#default
222 $ hg push -R r8 http://localhost:$HGPORT2/#default
223 pushing to http://localhost:$HGPORT2/
223 pushing to http://localhost:$HGPORT2/
224 searching for changes
224 searching for changes
225 remote: adding changesets
225 remote: adding changesets
226 remote: adding manifests
226 remote: adding manifests
227 remote: adding file changes
227 remote: adding file changes
228 remote: added 1 changesets with 1 changes to 1 files
228 remote: added 1 changesets with 1 changes to 1 files
229 $ [ -f "${USERCACHE}"/02a439e5c31c526465ab1a0ca1f431f76b827b90 ]
229 $ [ -f "${USERCACHE}"/02a439e5c31c526465ab1a0ca1f431f76b827b90 ]
230 $ [ -f empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 ]
230 $ [ -f empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 ]
231
231
232 Clone over http, no largefiles pulled on clone.
232 Clone over http, no largefiles pulled on clone.
233
233
234 $ hg clone http://localhost:$HGPORT2/#default http-clone -U
234 $ hg clone http://localhost:$HGPORT2/#default http-clone -U
235 adding changesets
235 adding changesets
236 adding manifests
236 adding manifests
237 adding file changes
237 adding file changes
238 added 1 changesets with 1 changes to 1 files
238 added 1 changesets with 1 changes to 1 files
239 new changesets cf03e5bb9936 (1 drafts)
239 new changesets cf03e5bb9936 (1 drafts)
240
240
241 Archive contains largefiles
241 Archive contains largefiles
242 >>> import os
242 >>> import os
243 >>> import urllib2
243 >>> from mercurial import urllibcompat
244 >>> u = 'http://localhost:%s/archive/default.zip' % os.environ['HGPORT2']
244 >>> u = 'http://localhost:%s/archive/default.zip' % os.environ['HGPORT2']
245 >>> with open('archive.zip', 'w') as f:
245 >>> with open('archive.zip', 'wb') as f:
246 ... f.write(urllib2.urlopen(u).read()) and None
246 ... f.write(urllibcompat.urlreq.urlopen(u).read()) and None
247 $ unzip -t archive.zip
247 $ unzip -t archive.zip
248 Archive: archive.zip
248 Archive: archive.zip
249 testing: empty-default/.hg_archival.txt*OK (glob)
249 testing: empty-default/.hg_archival.txt*OK (glob)
250 testing: empty-default/f1*OK (glob)
250 testing: empty-default/f1*OK (glob)
251 No errors detected in compressed data of archive.zip.
251 No errors detected in compressed data of archive.zip.
252
252
253 test 'verify' with remotestore:
253 test 'verify' with remotestore:
254
254
255 $ rm "${USERCACHE}"/02a439e5c31c526465ab1a0ca1f431f76b827b90
255 $ rm "${USERCACHE}"/02a439e5c31c526465ab1a0ca1f431f76b827b90
256 $ mv empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 .
256 $ mv empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 .
257 $ hg -R http-clone verify --large --lfa
257 $ hg -R http-clone verify --large --lfa
258 checking changesets
258 checking changesets
259 checking manifests
259 checking manifests
260 crosschecking files in changesets and manifests
260 crosschecking files in changesets and manifests
261 checking files
261 checking files
262 checked 1 changesets with 1 changes to 1 files
262 checked 1 changesets with 1 changes to 1 files
263 searching 1 changesets for largefiles
263 searching 1 changesets for largefiles
264 changeset 0:cf03e5bb9936: f1 missing
264 changeset 0:cf03e5bb9936: f1 missing
265 verified existence of 1 revisions of 1 largefiles
265 verified existence of 1 revisions of 1 largefiles
266 [1]
266 [1]
267 $ mv 02a439e5c31c526465ab1a0ca1f431f76b827b90 empty/.hg/largefiles/
267 $ mv 02a439e5c31c526465ab1a0ca1f431f76b827b90 empty/.hg/largefiles/
268 $ hg -R http-clone -q verify --large --lfa
268 $ hg -R http-clone -q verify --large --lfa
269
269
270 largefiles pulled on update - a largefile missing on the server:
270 largefiles pulled on update - a largefile missing on the server:
271 $ mv empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 .
271 $ mv empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 .
272 $ hg -R http-clone up --config largefiles.usercache=http-clone-usercache
272 $ hg -R http-clone up --config largefiles.usercache=http-clone-usercache
273 getting changed largefiles
273 getting changed largefiles
274 f1: largefile 02a439e5c31c526465ab1a0ca1f431f76b827b90 not available from http://localhost:$HGPORT2/
274 f1: largefile 02a439e5c31c526465ab1a0ca1f431f76b827b90 not available from http://localhost:$HGPORT2/
275 0 largefiles updated, 0 removed
275 0 largefiles updated, 0 removed
276 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
276 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
277 $ hg -R http-clone st
277 $ hg -R http-clone st
278 ! f1
278 ! f1
279 $ hg -R http-clone up -Cqr null
279 $ hg -R http-clone up -Cqr null
280
280
281 largefiles pulled on update - a largefile corrupted on the server:
281 largefiles pulled on update - a largefile corrupted on the server:
282 $ echo corruption > empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90
282 $ echo corruption > empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90
283 $ hg -R http-clone up --config largefiles.usercache=http-clone-usercache
283 $ hg -R http-clone up --config largefiles.usercache=http-clone-usercache
284 getting changed largefiles
284 getting changed largefiles
285 f1: data corruption (expected 02a439e5c31c526465ab1a0ca1f431f76b827b90, got 6a7bb2556144babe3899b25e5428123735bb1e27)
285 f1: data corruption (expected 02a439e5c31c526465ab1a0ca1f431f76b827b90, got 6a7bb2556144babe3899b25e5428123735bb1e27)
286 0 largefiles updated, 0 removed
286 0 largefiles updated, 0 removed
287 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
287 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
288 $ hg -R http-clone st
288 $ hg -R http-clone st
289 ! f1
289 ! f1
290 $ [ ! -f http-clone/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 ]
290 $ [ ! -f http-clone/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 ]
291 $ [ ! -f http-clone/f1 ]
291 $ [ ! -f http-clone/f1 ]
292 $ [ ! -f http-clone-usercache ]
292 $ [ ! -f http-clone-usercache ]
293 $ hg -R http-clone verify --large --lfc
293 $ hg -R http-clone verify --large --lfc
294 checking changesets
294 checking changesets
295 checking manifests
295 checking manifests
296 crosschecking files in changesets and manifests
296 crosschecking files in changesets and manifests
297 checking files
297 checking files
298 checked 1 changesets with 1 changes to 1 files
298 checked 1 changesets with 1 changes to 1 files
299 searching 1 changesets for largefiles
299 searching 1 changesets for largefiles
300 verified contents of 1 revisions of 1 largefiles
300 verified contents of 1 revisions of 1 largefiles
301 $ hg -R http-clone up -Cqr null
301 $ hg -R http-clone up -Cqr null
302
302
303 largefiles pulled on update - no server side problems:
303 largefiles pulled on update - no server side problems:
304 $ mv 02a439e5c31c526465ab1a0ca1f431f76b827b90 empty/.hg/largefiles/
304 $ mv 02a439e5c31c526465ab1a0ca1f431f76b827b90 empty/.hg/largefiles/
305 $ hg -R http-clone --debug up --config largefiles.usercache=http-clone-usercache --config progress.debug=true
305 $ hg -R http-clone --debug up --config largefiles.usercache=http-clone-usercache --config progress.debug=true
306 resolving manifests
306 resolving manifests
307 branchmerge: False, force: False, partial: False
307 branchmerge: False, force: False, partial: False
308 ancestor: 000000000000, local: 000000000000+, remote: cf03e5bb9936
308 ancestor: 000000000000, local: 000000000000+, remote: cf03e5bb9936
309 .hglf/f1: remote created -> g
309 .hglf/f1: remote created -> g
310 getting .hglf/f1
310 getting .hglf/f1
311 updating: .hglf/f1 1/1 files (100.00%)
311 updating: .hglf/f1 1/1 files (100.00%)
312 getting changed largefiles
312 getting changed largefiles
313 using http://localhost:$HGPORT2/
313 using http://localhost:$HGPORT2/
314 sending capabilities command
314 sending capabilities command
315 sending statlfile command
315 sending statlfile command
316 getting largefiles: 0/1 files (0.00%)
316 getting largefiles: 0/1 files (0.00%)
317 getting f1:02a439e5c31c526465ab1a0ca1f431f76b827b90
317 getting f1:02a439e5c31c526465ab1a0ca1f431f76b827b90
318 sending getlfile command
318 sending getlfile command
319 found 02a439e5c31c526465ab1a0ca1f431f76b827b90 in store
319 found 02a439e5c31c526465ab1a0ca1f431f76b827b90 in store
320 1 largefiles updated, 0 removed
320 1 largefiles updated, 0 removed
321 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
321 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
322
322
323 $ ls http-clone-usercache/*
323 $ ls http-clone-usercache/*
324 http-clone-usercache/02a439e5c31c526465ab1a0ca1f431f76b827b90
324 http-clone-usercache/02a439e5c31c526465ab1a0ca1f431f76b827b90
325
325
326 $ rm -rf empty http-clone*
326 $ rm -rf empty http-clone*
327
327
328 used all HGPORTs, kill all daemons
328 used all HGPORTs, kill all daemons
329 $ killdaemons.py
329 $ killdaemons.py
330
330
331 largefiles should batch verify remote calls
331 largefiles should batch verify remote calls
332
332
333 $ hg init batchverifymain
333 $ hg init batchverifymain
334 $ cd batchverifymain
334 $ cd batchverifymain
335 $ echo "aaa" >> a
335 $ echo "aaa" >> a
336 $ hg add --large a
336 $ hg add --large a
337 $ hg commit -m "a"
337 $ hg commit -m "a"
338 Invoking status precommit hook
338 Invoking status precommit hook
339 A a
339 A a
340 $ echo "bbb" >> b
340 $ echo "bbb" >> b
341 $ hg add --large b
341 $ hg add --large b
342 $ hg commit -m "b"
342 $ hg commit -m "b"
343 Invoking status precommit hook
343 Invoking status precommit hook
344 A b
344 A b
345 $ cd ..
345 $ cd ..
346 $ hg serve -R batchverifymain -d -p $HGPORT --pid-file hg.pid \
346 $ hg serve -R batchverifymain -d -p $HGPORT --pid-file hg.pid \
347 > -A access.log
347 > -A access.log
348 $ cat hg.pid >> $DAEMON_PIDS
348 $ cat hg.pid >> $DAEMON_PIDS
349 $ hg clone --noupdate http://localhost:$HGPORT batchverifyclone
349 $ hg clone --noupdate http://localhost:$HGPORT batchverifyclone
350 requesting all changes
350 requesting all changes
351 adding changesets
351 adding changesets
352 adding manifests
352 adding manifests
353 adding file changes
353 adding file changes
354 added 2 changesets with 2 changes to 2 files
354 added 2 changesets with 2 changes to 2 files
355 new changesets 567253b0f523:04d19c27a332 (2 drafts)
355 new changesets 567253b0f523:04d19c27a332 (2 drafts)
356 $ hg -R batchverifyclone verify --large --lfa
356 $ hg -R batchverifyclone verify --large --lfa
357 checking changesets
357 checking changesets
358 checking manifests
358 checking manifests
359 crosschecking files in changesets and manifests
359 crosschecking files in changesets and manifests
360 checking files
360 checking files
361 checked 2 changesets with 2 changes to 2 files
361 checked 2 changesets with 2 changes to 2 files
362 searching 2 changesets for largefiles
362 searching 2 changesets for largefiles
363 verified existence of 2 revisions of 2 largefiles
363 verified existence of 2 revisions of 2 largefiles
364 $ tail -1 access.log
364 $ tail -1 access.log
365 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=statlfile+sha%3D972a1a11f19934401291cc99117ec614933374ce%3Bstatlfile+sha%3Dc801c9cfe94400963fcb683246217d5db77f9a9a x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
365 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=statlfile+sha%3D972a1a11f19934401291cc99117ec614933374ce%3Bstatlfile+sha%3Dc801c9cfe94400963fcb683246217d5db77f9a9a x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
366 $ hg -R batchverifyclone update
366 $ hg -R batchverifyclone update
367 getting changed largefiles
367 getting changed largefiles
368 2 largefiles updated, 0 removed
368 2 largefiles updated, 0 removed
369 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
369 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
370
370
371 Clear log file before next test
371 Clear log file before next test
372
372
373 $ printf "" > access.log
373 $ printf "" > access.log
374
374
375 Verify should check file on remote server only when file is not
375 Verify should check file on remote server only when file is not
376 available locally.
376 available locally.
377
377
378 $ echo "ccc" >> batchverifymain/c
378 $ echo "ccc" >> batchverifymain/c
379 $ hg -R batchverifymain status
379 $ hg -R batchverifymain status
380 ? c
380 ? c
381 $ hg -R batchverifymain add --large batchverifymain/c
381 $ hg -R batchverifymain add --large batchverifymain/c
382 $ hg -R batchverifymain commit -m "c"
382 $ hg -R batchverifymain commit -m "c"
383 Invoking status precommit hook
383 Invoking status precommit hook
384 A c
384 A c
385 $ hg -R batchverifyclone pull
385 $ hg -R batchverifyclone pull
386 pulling from http://localhost:$HGPORT/
386 pulling from http://localhost:$HGPORT/
387 searching for changes
387 searching for changes
388 adding changesets
388 adding changesets
389 adding manifests
389 adding manifests
390 adding file changes
390 adding file changes
391 added 1 changesets with 1 changes to 1 files
391 added 1 changesets with 1 changes to 1 files
392 new changesets 6bba8cb6935d (1 drafts)
392 new changesets 6bba8cb6935d (1 drafts)
393 (run 'hg update' to get a working copy)
393 (run 'hg update' to get a working copy)
394 $ hg -R batchverifyclone verify --lfa
394 $ hg -R batchverifyclone verify --lfa
395 checking changesets
395 checking changesets
396 checking manifests
396 checking manifests
397 crosschecking files in changesets and manifests
397 crosschecking files in changesets and manifests
398 checking files
398 checking files
399 checked 3 changesets with 3 changes to 3 files
399 checked 3 changesets with 3 changes to 3 files
400 searching 3 changesets for largefiles
400 searching 3 changesets for largefiles
401 verified existence of 3 revisions of 3 largefiles
401 verified existence of 3 revisions of 3 largefiles
402 $ tail -1 access.log
402 $ tail -1 access.log
403 $LOCALIP - - [$LOGDATE$] "GET /?cmd=statlfile HTTP/1.1" 200 - x-hgarg-1:sha=c8559c3c9cfb42131794b7d8009230403b9b454c x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
403 $LOCALIP - - [$LOGDATE$] "GET /?cmd=statlfile HTTP/1.1" 200 - x-hgarg-1:sha=c8559c3c9cfb42131794b7d8009230403b9b454c x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
404
404
405 $ killdaemons.py
405 $ killdaemons.py
406
406
407 largefiles should not ask for password again after successful authorization
407 largefiles should not ask for password again after successful authorization
408
408
409 $ hg init credentialmain
409 $ hg init credentialmain
410 $ cd credentialmain
410 $ cd credentialmain
411 $ echo "aaa" >> a
411 $ echo "aaa" >> a
412 $ hg add --large a
412 $ hg add --large a
413 $ hg commit -m "a"
413 $ hg commit -m "a"
414 Invoking status precommit hook
414 Invoking status precommit hook
415 A a
415 A a
416
416
417 Before running server clear the user cache to force clone to download
417 Before running server clear the user cache to force clone to download
418 a large file from the server rather than to get it from the cache
418 a large file from the server rather than to get it from the cache
419
419
420 $ rm "${USERCACHE}"/*
420 $ rm "${USERCACHE}"/*
421
421
422 $ cd ..
422 $ cd ..
423 $ cat << EOT > userpass.py
423 $ cat << EOT > userpass.py
424 > import base64
424 > import base64
425 > from mercurial.hgweb import common
425 > from mercurial.hgweb import common
426 > def perform_authentication(hgweb, req, op):
426 > def perform_authentication(hgweb, req, op):
427 > auth = req.headers.get(b'Authorization')
427 > auth = req.headers.get(b'Authorization')
428 > if not auth:
428 > if not auth:
429 > raise common.ErrorResponse(common.HTTP_UNAUTHORIZED, b'who',
429 > raise common.ErrorResponse(common.HTTP_UNAUTHORIZED, b'who',
430 > [(b'WWW-Authenticate', b'Basic Realm="mercurial"')])
430 > [(b'WWW-Authenticate', b'Basic Realm="mercurial"')])
431 > if base64.b64decode(auth.split()[1]).split(b':', 1) != [b'user', b'pass']:
431 > if base64.b64decode(auth.split()[1]).split(b':', 1) != [b'user', b'pass']:
432 > raise common.ErrorResponse(common.HTTP_FORBIDDEN, b'no')
432 > raise common.ErrorResponse(common.HTTP_FORBIDDEN, b'no')
433 > def extsetup():
433 > def extsetup():
434 > common.permhooks.insert(0, perform_authentication)
434 > common.permhooks.insert(0, perform_authentication)
435 > EOT
435 > EOT
436 $ hg serve --config extensions.x=userpass.py -R credentialmain \
436 $ hg serve --config extensions.x=userpass.py -R credentialmain \
437 > -d -p $HGPORT --pid-file hg.pid -A access.log
437 > -d -p $HGPORT --pid-file hg.pid -A access.log
438 $ cat hg.pid >> $DAEMON_PIDS
438 $ cat hg.pid >> $DAEMON_PIDS
439 $ cat << EOF > get_pass.py
439 $ cat << EOF > get_pass.py
440 > import getpass
440 > import getpass
441 > def newgetpass(arg):
441 > def newgetpass(arg):
442 > return "pass"
442 > return "pass"
443 > getpass.getpass = newgetpass
443 > getpass.getpass = newgetpass
444 > EOF
444 > EOF
445 $ hg clone --config ui.interactive=true --config extensions.getpass=get_pass.py \
445 $ hg clone --config ui.interactive=true --config extensions.getpass=get_pass.py \
446 > http://user@localhost:$HGPORT credentialclone
446 > http://user@localhost:$HGPORT credentialclone
447 http authorization required for http://localhost:$HGPORT/
447 http authorization required for http://localhost:$HGPORT/
448 realm: mercurial
448 realm: mercurial
449 user: user
449 user: user
450 password: requesting all changes
450 password: requesting all changes
451 adding changesets
451 adding changesets
452 adding manifests
452 adding manifests
453 adding file changes
453 adding file changes
454 added 1 changesets with 1 changes to 1 files
454 added 1 changesets with 1 changes to 1 files
455 new changesets 567253b0f523 (1 drafts)
455 new changesets 567253b0f523 (1 drafts)
456 updating to branch default
456 updating to branch default
457 getting changed largefiles
457 getting changed largefiles
458 1 largefiles updated, 0 removed
458 1 largefiles updated, 0 removed
459 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
459 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
460
460
461 $ killdaemons.py
461 $ killdaemons.py
462 $ rm hg.pid access.log
462 $ rm hg.pid access.log
463
463
464 #endif
464 #endif
General Comments 0
You need to be logged in to leave comments. Login now