##// END OF EJS Templates
py3: fix test-status.t...
Mark Thomas -
r40314:125fc478 default
parent child Browse files
Show More
@@ -1,629 +1,630 b''
1 1 test-abort-checkin.t
2 2 test-absorb-filefixupstate.py
3 3 test-absorb-phase.t
4 4 test-absorb-rename.t
5 5 test-absorb-strip.t
6 6 test-absorb.t
7 7 test-add.t
8 8 test-addremove-similar.t
9 9 test-addremove.t
10 10 test-alias.t
11 11 test-amend-subrepo.t
12 12 test-amend.t
13 13 test-ancestor.py
14 14 test-annotate.py
15 15 test-annotate.t
16 16 test-archive-symlinks.t
17 17 test-archive.t
18 18 test-atomictempfile.py
19 19 test-audit-path.t
20 20 test-audit-subrepo.t
21 21 test-automv.t
22 22 test-backout.t
23 23 test-backwards-remove.t
24 24 test-bad-extension.t
25 25 test-bad-pull.t
26 26 test-basic.t
27 27 test-bdiff.py
28 28 test-bheads.t
29 29 test-bisect.t
30 30 test-bisect2.t
31 31 test-bisect3.t
32 32 test-blackbox.t
33 33 test-bookmarks-current.t
34 34 test-bookmarks-merge.t
35 35 test-bookmarks-pushpull.t
36 36 test-bookmarks-rebase.t
37 37 test-bookmarks-strip.t
38 38 test-bookmarks.t
39 39 test-branch-change.t
40 40 test-branch-option.t
41 41 test-branch-tag-confict.t
42 42 test-branches.t
43 43 test-bundle-phases.t
44 44 test-bundle-r.t
45 45 test-bundle-type.t
46 46 test-bundle-vs-outgoing.t
47 47 test-bundle.t
48 48 test-bundle2-exchange.t
49 49 test-bundle2-format.t
50 50 test-bundle2-multiple-changegroups.t
51 51 test-bundle2-pushback.t
52 52 test-bundle2-remote-changegroup.t
53 53 test-cache-abuse.t
54 54 test-cappedreader.py
55 55 test-casecollision.t
56 56 test-cat.t
57 57 test-cbor.py
58 58 test-censor.t
59 59 test-changelog-exec.t
60 60 test-check-code.t
61 61 test-check-commit.t
62 62 test-check-config.py
63 63 test-check-config.t
64 64 test-check-execute.t
65 65 test-check-interfaces.py
66 66 test-check-module-imports.t
67 67 test-check-py3-compat.t
68 68 test-check-pyflakes.t
69 69 test-check-pylint.t
70 70 test-check-shbang.t
71 71 test-children.t
72 72 test-churn.t
73 73 test-clone-cgi.t
74 74 test-clone-pull-corruption.t
75 75 test-clone-r.t
76 76 test-clone-uncompressed.t
77 77 test-clone-update-order.t
78 78 test-clone.t
79 79 test-clonebundles.t
80 80 test-close-head.t
81 81 test-commit-amend.t
82 82 test-commit-interactive.t
83 83 test-commit-multiple.t
84 84 test-commit-unresolved.t
85 85 test-commit.t
86 86 test-committer.t
87 87 test-completion.t
88 88 test-config-env.py
89 89 test-config.t
90 90 test-conflict.t
91 91 test-confused-revert.t
92 92 test-context.py
93 93 test-contrib-check-code.t
94 94 test-contrib-check-commit.t
95 95 test-contrib-dumprevlog.t
96 96 test-contrib-perf.t
97 97 test-contrib-relnotes.t
98 98 test-contrib-testparseutil.t
99 99 test-contrib.t
100 100 test-convert-authormap.t
101 101 test-convert-clonebranches.t
102 102 test-convert-cvs-branch.t
103 103 test-convert-cvs-detectmerge.t
104 104 test-convert-cvs-synthetic.t
105 105 test-convert-cvs.t
106 106 test-convert-cvsnt-mergepoints.t
107 107 test-convert-datesort.t
108 108 test-convert-filemap.t
109 109 test-convert-hg-sink.t
110 110 test-convert-hg-source.t
111 111 test-convert-hg-startrev.t
112 112 test-convert-splicemap.t
113 113 test-convert-tagsbranch-topology.t
114 114 test-copy-move-merge.t
115 115 test-copy.t
116 116 test-copytrace-heuristics.t
117 117 test-debugbuilddag.t
118 118 test-debugbundle.t
119 119 test-debugcommands.t
120 120 test-debugextensions.t
121 121 test-debugindexdot.t
122 122 test-debugrename.t
123 123 test-default-push.t
124 124 test-diff-antipatience.t
125 125 test-diff-binary-file.t
126 126 test-diff-change.t
127 127 test-diff-copy-depth.t
128 128 test-diff-hashes.t
129 129 test-diff-ignore-whitespace.t
130 130 test-diff-indent-heuristic.t
131 131 test-diff-issue2761.t
132 132 test-diff-newlines.t
133 133 test-diff-reverse.t
134 134 test-diff-subdir.t
135 135 test-diff-unified.t
136 136 test-diff-upgrade.t
137 137 test-diffdir.t
138 138 test-diffstat.t
139 139 test-directaccess.t
140 140 test-dirstate-backup.t
141 141 test-dirstate-nonnormalset.t
142 142 test-dirstate.t
143 143 test-dispatch.py
144 144 test-doctest.py
145 145 test-double-merge.t
146 146 test-drawdag.t
147 147 test-duplicateoptions.py
148 148 test-editor-filename.t
149 149 test-empty-dir.t
150 150 test-empty-file.t
151 151 test-empty-group.t
152 152 test-empty.t
153 153 test-encode.t
154 154 test-encoding-func.py
155 155 test-encoding.t
156 156 test-eol-add.t
157 157 test-eol-clone.t
158 158 test-eol-hook.t
159 159 test-eol-patch.t
160 160 test-eol-tag.t
161 161 test-eol-update.t
162 162 test-eol.t
163 163 test-eolfilename.t
164 164 test-excessive-merge.t
165 165 test-exchange-obsmarkers-case-A1.t
166 166 test-exchange-obsmarkers-case-A2.t
167 167 test-exchange-obsmarkers-case-A3.t
168 168 test-exchange-obsmarkers-case-A4.t
169 169 test-exchange-obsmarkers-case-A5.t
170 170 test-exchange-obsmarkers-case-A6.t
171 171 test-exchange-obsmarkers-case-A7.t
172 172 test-exchange-obsmarkers-case-B1.t
173 173 test-exchange-obsmarkers-case-B2.t
174 174 test-exchange-obsmarkers-case-B3.t
175 175 test-exchange-obsmarkers-case-B4.t
176 176 test-exchange-obsmarkers-case-B5.t
177 177 test-exchange-obsmarkers-case-B6.t
178 178 test-exchange-obsmarkers-case-B7.t
179 179 test-exchange-obsmarkers-case-C1.t
180 180 test-exchange-obsmarkers-case-C2.t
181 181 test-exchange-obsmarkers-case-C3.t
182 182 test-exchange-obsmarkers-case-C4.t
183 183 test-exchange-obsmarkers-case-D1.t
184 184 test-exchange-obsmarkers-case-D2.t
185 185 test-exchange-obsmarkers-case-D3.t
186 186 test-exchange-obsmarkers-case-D4.t
187 187 test-execute-bit.t
188 188 test-export.t
189 189 test-extdata.t
190 190 test-extdiff.t
191 191 test-extensions-afterloaded.t
192 192 test-extensions-wrapfunction.py
193 193 test-extra-filelog-entry.t
194 194 test-fetch.t
195 195 test-filebranch.t
196 196 test-filecache.py
197 197 test-filelog.py
198 198 test-fileset-generated.t
199 199 test-fileset.t
200 200 test-fix-topology.t
201 201 test-fix.t
202 202 test-flags.t
203 203 test-fncache.t
204 204 test-generaldelta.t
205 205 test-getbundle.t
206 206 test-git-export.t
207 207 test-globalopts.t
208 208 test-glog-beautifygraph.t
209 209 test-glog-topological.t
210 210 test-glog.t
211 211 test-gpg.t
212 212 test-graft.t
213 213 test-grep.t
214 214 test-hg-parseurl.py
215 215 test-hghave.t
216 216 test-hgignore.t
217 217 test-hgk.t
218 218 test-hgrc.t
219 219 test-hgweb-annotate-whitespace.t
220 220 test-hgweb-bundle.t
221 221 test-hgweb-csp.t
222 222 test-hgweb-descend-empties.t
223 223 test-hgweb-diffs.t
224 224 test-hgweb-empty.t
225 225 test-hgweb-filelog.t
226 226 test-hgweb-non-interactive.t
227 227 test-hgweb-raw.t
228 228 test-hgweb-removed.t
229 229 test-hgweb.t
230 230 test-hgwebdir-paths.py
231 231 test-hgwebdirsym.t
232 232 test-histedit-arguments.t
233 233 test-histedit-base.t
234 234 test-histedit-bookmark-motion.t
235 235 test-histedit-commute.t
236 236 test-histedit-drop.t
237 237 test-histedit-edit.t
238 238 test-histedit-fold-non-commute.t
239 239 test-histedit-fold.t
240 240 test-histedit-no-backup.t
241 241 test-histedit-no-change.t
242 242 test-histedit-non-commute-abort.t
243 243 test-histedit-non-commute.t
244 244 test-histedit-obsolete.t
245 245 test-histedit-outgoing.t
246 246 test-histedit-templates.t
247 247 test-http-branchmap.t
248 248 test-http-bundle1.t
249 249 test-http-clone-r.t
250 250 test-http-permissions.t
251 251 test-http.t
252 252 test-hybridencode.py
253 253 test-i18n.t
254 254 test-identify.t
255 255 test-impexp-branch.t
256 256 test-import-bypass.t
257 257 test-import-eol.t
258 258 test-import-merge.t
259 259 test-import-unknown.t
260 260 test-import.t
261 261 test-imports-checker.t
262 262 test-incoming-outgoing.t
263 263 test-infinitepush-bundlestore.t
264 264 test-infinitepush-ci.t
265 265 test-infinitepush.t
266 266 test-inherit-mode.t
267 267 test-init.t
268 268 test-issue1089.t
269 269 test-issue1102.t
270 270 test-issue1175.t
271 271 test-issue1306.t
272 272 test-issue1438.t
273 273 test-issue1502.t
274 274 test-issue1802.t
275 275 test-issue1877.t
276 276 test-issue1993.t
277 277 test-issue2137.t
278 278 test-issue3084.t
279 279 test-issue4074.t
280 280 test-issue522.t
281 281 test-issue586.t
282 282 test-issue5979.t
283 283 test-issue612.t
284 284 test-issue619.t
285 285 test-issue660.t
286 286 test-issue672.t
287 287 test-issue842.t
288 288 test-journal-exists.t
289 289 test-journal-share.t
290 290 test-journal.t
291 291 test-known.t
292 292 test-largefiles-cache.t
293 293 test-largefiles-misc.t
294 294 test-largefiles-small-disk.t
295 295 test-largefiles-update.t
296 296 test-largefiles.t
297 297 test-lfs-largefiles.t
298 298 test-lfs-pointer.py
299 299 test-linelog.py
300 300 test-linerange.py
301 301 test-locate.t
302 302 test-lock-badness.t
303 303 test-log-linerange.t
304 304 test-log.t
305 305 test-logexchange.t
306 306 test-lrucachedict.py
307 307 test-mactext.t
308 308 test-mailmap.t
309 309 test-manifest-merging.t
310 310 test-manifest.py
311 311 test-manifest.t
312 312 test-match.py
313 313 test-mdiff.py
314 314 test-merge-changedelete.t
315 315 test-merge-closedheads.t
316 316 test-merge-commit.t
317 317 test-merge-criss-cross.t
318 318 test-merge-default.t
319 319 test-merge-force.t
320 320 test-merge-halt.t
321 321 test-merge-internal-tools-pattern.t
322 322 test-merge-local.t
323 323 test-merge-no-file-change.t
324 324 test-merge-remove.t
325 325 test-merge-revert.t
326 326 test-merge-revert2.t
327 327 test-merge-subrepos.t
328 328 test-merge-symlinks.t
329 329 test-merge-tools.t
330 330 test-merge-types.t
331 331 test-merge1.t
332 332 test-merge10.t
333 333 test-merge2.t
334 334 test-merge4.t
335 335 test-merge5.t
336 336 test-merge6.t
337 337 test-merge7.t
338 338 test-merge8.t
339 339 test-merge9.t
340 340 test-minifileset.py
341 341 test-minirst.py
342 342 test-mq-git.t
343 343 test-mq-guards.t
344 344 test-mq-header-date.t
345 345 test-mq-header-from.t
346 346 test-mq-merge.t
347 347 test-mq-pull-from-bundle.t
348 348 test-mq-qclone-http.t
349 349 test-mq-qdelete.t
350 350 test-mq-qdiff.t
351 351 test-mq-qfold.t
352 352 test-mq-qgoto.t
353 353 test-mq-qimport-fail-cleanup.t
354 354 test-mq-qnew.t
355 355 test-mq-qpush-exact.t
356 356 test-mq-qpush-fail.t
357 357 test-mq-qqueue.t
358 358 test-mq-qrefresh-interactive.t
359 359 test-mq-qrefresh-replace-log-message.t
360 360 test-mq-qrefresh.t
361 361 test-mq-qrename.t
362 362 test-mq-qsave.t
363 363 test-mq-safety.t
364 364 test-mq-subrepo.t
365 365 test-mq-symlinks.t
366 366 test-mq.t
367 367 test-mv-cp-st-diff.t
368 368 test-narrow-acl.t
369 369 test-narrow-archive.t
370 370 test-narrow-clone-no-ellipsis.t
371 371 test-narrow-clone-non-narrow-server.t
372 372 test-narrow-clone-nonlinear.t
373 373 test-narrow-clone.t
374 374 test-narrow-commit.t
375 375 test-narrow-copies.t
376 376 test-narrow-debugcommands.t
377 377 test-narrow-debugrebuilddirstate.t
378 378 test-narrow-exchange-merges.t
379 379 test-narrow-exchange.t
380 380 test-narrow-expanddirstate.t
381 381 test-narrow-merge.t
382 382 test-narrow-patch.t
383 383 test-narrow-patterns.t
384 384 test-narrow-pull.t
385 385 test-narrow-rebase.t
386 386 test-narrow-shallow-merges.t
387 387 test-narrow-shallow.t
388 388 test-narrow-strip.t
389 389 test-narrow-trackedcmd.t
390 390 test-narrow-update.t
391 391 test-narrow-widen-no-ellipsis.t
392 392 test-narrow-widen.t
393 393 test-narrow.t
394 394 test-nested-repo.t
395 395 test-newbranch.t
396 396 test-newercgi.t
397 397 test-nointerrupt.t
398 398 test-obshistory.t
399 399 test-obsmarker-template.t
400 400 test-obsmarkers-effectflag.t
401 401 test-obsolete-bounds-checking.t
402 402 test-obsolete-bundle-strip.t
403 403 test-obsolete-changeset-exchange.t
404 404 test-obsolete-checkheads.t
405 405 test-obsolete-distributed.t
406 406 test-obsolete-divergent.t
407 407 test-obsolete-tag-cache.t
408 408 test-obsolete.t
409 409 test-origbackup-conflict.t
410 410 test-pager-legacy.t
411 411 test-pager.t
412 412 test-parents.t
413 413 test-parse-date.t
414 414 test-parseindex2.py
415 415 test-patch-offset.t
416 416 test-patch.t
417 417 test-patchbomb-bookmark.t
418 418 test-patchbomb-tls.t
419 419 test-patchbomb.t
420 420 test-pathconflicts-basic.t
421 421 test-pathconflicts-merge.t
422 422 test-pathconflicts-update.t
423 423 test-pathencode.py
424 424 test-pending.t
425 425 test-permissions.t
426 426 test-phases-exchange.t
427 427 test-phases.t
428 428 test-profile.t
429 429 test-progress.t
430 430 test-pull-branch.t
431 431 test-pull-http.t
432 432 test-pull-permission.t
433 433 test-pull-pull-corruption.t
434 434 test-pull-r.t
435 435 test-pull-update.t
436 436 test-pull.t
437 437 test-purge.t
438 438 test-push-cgi.t
439 439 test-push-checkheads-partial-C1.t
440 440 test-push-checkheads-partial-C2.t
441 441 test-push-checkheads-partial-C3.t
442 442 test-push-checkheads-partial-C4.t
443 443 test-push-checkheads-pruned-B1.t
444 444 test-push-checkheads-pruned-B2.t
445 445 test-push-checkheads-pruned-B3.t
446 446 test-push-checkheads-pruned-B4.t
447 447 test-push-checkheads-pruned-B5.t
448 448 test-push-checkheads-pruned-B6.t
449 449 test-push-checkheads-pruned-B7.t
450 450 test-push-checkheads-pruned-B8.t
451 451 test-push-checkheads-superceed-A1.t
452 452 test-push-checkheads-superceed-A2.t
453 453 test-push-checkheads-superceed-A3.t
454 454 test-push-checkheads-superceed-A4.t
455 455 test-push-checkheads-superceed-A5.t
456 456 test-push-checkheads-superceed-A6.t
457 457 test-push-checkheads-superceed-A7.t
458 458 test-push-checkheads-superceed-A8.t
459 459 test-push-checkheads-unpushed-D1.t
460 460 test-push-checkheads-unpushed-D2.t
461 461 test-push-checkheads-unpushed-D3.t
462 462 test-push-checkheads-unpushed-D4.t
463 463 test-push-checkheads-unpushed-D5.t
464 464 test-push-checkheads-unpushed-D6.t
465 465 test-push-checkheads-unpushed-D7.t
466 466 test-push-http.t
467 467 test-push-warn.t
468 468 test-push.t
469 469 test-pushvars.t
470 470 test-qrecord.t
471 471 test-rebase-abort.t
472 472 test-rebase-backup.t
473 473 test-rebase-base-flag.t
474 474 test-rebase-bookmarks.t
475 475 test-rebase-brute-force.t
476 476 test-rebase-cache.t
477 477 test-rebase-check-restore.t
478 478 test-rebase-collapse.t
479 479 test-rebase-conflicts.t
480 480 test-rebase-dest.t
481 481 test-rebase-detach.t
482 482 test-rebase-emptycommit.t
483 483 test-rebase-inmemory.t
484 484 test-rebase-interruptions.t
485 485 test-rebase-issue-noparam-single-rev.t
486 486 test-rebase-legacy.t
487 487 test-rebase-mq-skip.t
488 488 test-rebase-mq.t
489 489 test-rebase-named-branches.t
490 490 test-rebase-newancestor.t
491 491 test-rebase-obsolete.t
492 492 test-rebase-parameters.t
493 493 test-rebase-partial.t
494 494 test-rebase-pull.t
495 495 test-rebase-rename.t
496 496 test-rebase-scenario-global.t
497 497 test-rebase-templates.t
498 498 test-rebase-transaction.t
499 499 test-rebuildstate.t
500 500 test-record.t
501 501 test-releasenotes-formatting.t
502 502 test-releasenotes-merging.t
503 503 test-releasenotes-parsing.t
504 504 test-relink.t
505 505 test-remove.t
506 506 test-removeemptydirs.t
507 507 test-rename-after-merge.t
508 508 test-rename-dir-merge.t
509 509 test-rename-merge1.t
510 510 test-rename-merge2.t
511 511 test-rename.t
512 512 test-repair-strip.t
513 513 test-repo-compengines.t
514 514 test-requires.t
515 515 test-resolve.t
516 516 test-revert-flags.t
517 517 test-revert-interactive.t
518 518 test-revert-unknown.t
519 519 test-revert.t
520 520 test-revisions.t
521 521 test-revlog-ancestry.py
522 522 test-revlog-group-emptyiter.t
523 523 test-revlog-mmapindex.t
524 524 test-revlog-packentry.t
525 525 test-revlog-raw.py
526 526 test-revlog-v2.t
527 527 test-revset-dirstate-parents.t
528 528 test-revset-legacy-lookup.t
529 529 test-revset-outgoing.t
530 530 test-rollback.t
531 531 test-run-tests.py
532 532 test-run-tests.t
533 533 test-schemes.t
534 534 test-serve.t
535 535 test-setdiscovery.t
536 536 test-share.t
537 537 test-shelve.t
538 538 test-show-stack.t
539 539 test-show-work.t
540 540 test-show.t
541 541 test-simple-update.t
542 542 test-simplekeyvaluefile.py
543 543 test-simplemerge.py
544 544 test-single-head.t
545 545 test-sparse-clear.t
546 546 test-sparse-clone.t
547 547 test-sparse-import.t
548 548 test-sparse-merges.t
549 549 test-sparse-profiles.t
550 550 test-sparse-requirement.t
551 551 test-sparse-verbose-json.t
552 552 test-sparse.t
553 553 test-split.t
554 554 test-ssh-bundle1.t
555 555 test-ssh-clone-r.t
556 556 test-ssh-proto-unbundle.t
557 557 test-ssh-proto.t
558 558 test-ssh-repoerror.t
559 559 test-ssh.t
560 560 test-sshserver.py
561 561 test-stack.t
562 562 test-status-color.t
563 563 test-status-inprocess.py
564 564 test-status-rev.t
565 565 test-status-terse.t
566 test-status.t
566 567 test-storage.py
567 568 test-stream-bundle-v2.t
568 569 test-strict.t
569 570 test-strip-cross.t
570 571 test-strip.t
571 572 test-subrepo-deep-nested-change.t
572 573 test-subrepo-missing.t
573 574 test-subrepo-paths.t
574 575 test-subrepo-recursion.t
575 576 test-subrepo-relative-path.t
576 577 test-subrepo.t
577 578 test-symlink-os-yes-fs-no.py
578 579 test-symlink-placeholder.t
579 580 test-symlinks.t
580 581 test-tag.t
581 582 test-tags.t
582 583 test-template-basic.t
583 584 test-template-functions.t
584 585 test-template-keywords.t
585 586 test-template-map.t
586 587 test-tools.t
587 588 test-transplant.t
588 589 test-treemanifest.t
589 590 test-ui-color.py
590 591 test-ui-config.py
591 592 test-ui-verbosity.py
592 593 test-unamend.t
593 594 test-unbundlehash.t
594 595 test-uncommit.t
595 596 test-unified-test.t
596 597 test-unionrepo.t
597 598 test-unrelated-pull.t
598 599 test-up-local-change.t
599 600 test-update-branches.t
600 601 test-update-dest.t
601 602 test-update-issue1456.t
602 603 test-update-names.t
603 604 test-update-reverse.t
604 605 test-upgrade-repo.t
605 606 test-url-download.t
606 607 test-url-rev.t
607 608 test-url.py
608 609 test-username-newline.t
609 610 test-util.py
610 611 test-verify.t
611 612 test-walk.t
612 613 test-walkrepo.py
613 614 test-websub.t
614 615 test-win32text.t
615 616 test-wireproto-clientreactor.py
616 617 test-wireproto-command-branchmap.t
617 618 test-wireproto-command-changesetdata.t
618 619 test-wireproto-command-filedata.t
619 620 test-wireproto-command-filesdata.t
620 621 test-wireproto-command-heads.t
621 622 test-wireproto-command-listkeys.t
622 623 test-wireproto-command-lookup.t
623 624 test-wireproto-command-manifestdata.t
624 625 test-wireproto-command-pushkey.t
625 626 test-wireproto-framing.py
626 627 test-wireproto-serverreactor.py
627 628 test-wireproto.py
628 629 test-wsgirequest.py
629 630 test-xdg.t
@@ -1,626 +1,635 b''
1 1 $ hg init repo1
2 2 $ cd repo1
3 3 $ mkdir a b a/1 b/1 b/2
4 4 $ touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2
5 5
6 6 hg status in repo root:
7 7
8 8 $ hg status
9 9 ? a/1/in_a_1
10 10 ? a/in_a
11 11 ? b/1/in_b_1
12 12 ? b/2/in_b_2
13 13 ? b/in_b
14 14 ? in_root
15 15
16 16 hg status . in repo root:
17 17
18 18 $ hg status .
19 19 ? a/1/in_a_1
20 20 ? a/in_a
21 21 ? b/1/in_b_1
22 22 ? b/2/in_b_2
23 23 ? b/in_b
24 24 ? in_root
25 25
26 26 $ hg status --cwd a
27 27 ? a/1/in_a_1
28 28 ? a/in_a
29 29 ? b/1/in_b_1
30 30 ? b/2/in_b_2
31 31 ? b/in_b
32 32 ? in_root
33 33 $ hg status --cwd a .
34 34 ? 1/in_a_1
35 35 ? in_a
36 36 $ hg status --cwd a ..
37 37 ? 1/in_a_1
38 38 ? in_a
39 39 ? ../b/1/in_b_1
40 40 ? ../b/2/in_b_2
41 41 ? ../b/in_b
42 42 ? ../in_root
43 43
44 44 $ hg status --cwd b
45 45 ? a/1/in_a_1
46 46 ? a/in_a
47 47 ? b/1/in_b_1
48 48 ? b/2/in_b_2
49 49 ? b/in_b
50 50 ? in_root
51 51 $ hg status --cwd b .
52 52 ? 1/in_b_1
53 53 ? 2/in_b_2
54 54 ? in_b
55 55 $ hg status --cwd b ..
56 56 ? ../a/1/in_a_1
57 57 ? ../a/in_a
58 58 ? 1/in_b_1
59 59 ? 2/in_b_2
60 60 ? in_b
61 61 ? ../in_root
62 62
63 63 $ hg status --cwd a/1
64 64 ? a/1/in_a_1
65 65 ? a/in_a
66 66 ? b/1/in_b_1
67 67 ? b/2/in_b_2
68 68 ? b/in_b
69 69 ? in_root
70 70 $ hg status --cwd a/1 .
71 71 ? in_a_1
72 72 $ hg status --cwd a/1 ..
73 73 ? in_a_1
74 74 ? ../in_a
75 75
76 76 $ hg status --cwd b/1
77 77 ? a/1/in_a_1
78 78 ? a/in_a
79 79 ? b/1/in_b_1
80 80 ? b/2/in_b_2
81 81 ? b/in_b
82 82 ? in_root
83 83 $ hg status --cwd b/1 .
84 84 ? in_b_1
85 85 $ hg status --cwd b/1 ..
86 86 ? in_b_1
87 87 ? ../2/in_b_2
88 88 ? ../in_b
89 89
90 90 $ hg status --cwd b/2
91 91 ? a/1/in_a_1
92 92 ? a/in_a
93 93 ? b/1/in_b_1
94 94 ? b/2/in_b_2
95 95 ? b/in_b
96 96 ? in_root
97 97 $ hg status --cwd b/2 .
98 98 ? in_b_2
99 99 $ hg status --cwd b/2 ..
100 100 ? ../1/in_b_1
101 101 ? in_b_2
102 102 ? ../in_b
103 103
104 104 combining patterns with root and patterns without a root works
105 105
106 106 $ hg st a/in_a re:.*b$
107 107 ? a/in_a
108 108 ? b/in_b
109 109
110 110 tweaking defaults works
111 111 $ hg status --cwd a --config ui.tweakdefaults=yes
112 112 ? 1/in_a_1
113 113 ? in_a
114 114 ? ../b/1/in_b_1
115 115 ? ../b/2/in_b_2
116 116 ? ../b/in_b
117 117 ? ../in_root
118 118 $ HGPLAIN=1 hg status --cwd a --config ui.tweakdefaults=yes
119 119 ? a/1/in_a_1 (glob)
120 120 ? a/in_a (glob)
121 121 ? b/1/in_b_1 (glob)
122 122 ? b/2/in_b_2 (glob)
123 123 ? b/in_b (glob)
124 124 ? in_root
125 125 $ HGPLAINEXCEPT=tweakdefaults hg status --cwd a --config ui.tweakdefaults=yes
126 126 ? 1/in_a_1
127 127 ? in_a
128 128 ? ../b/1/in_b_1
129 129 ? ../b/2/in_b_2
130 130 ? ../b/in_b
131 131 ? ../in_root (glob)
132 132
133 133 relative paths can be requested
134 134
135 135 $ cat >> $HGRCPATH <<EOF
136 136 > [commands]
137 137 > status.relative = True
138 138 > EOF
139 139 $ hg status --cwd a
140 140 ? 1/in_a_1
141 141 ? in_a
142 142 ? ../b/1/in_b_1
143 143 ? ../b/2/in_b_2
144 144 ? ../b/in_b
145 145 ? ../in_root
146 146 $ HGPLAIN=1 hg status --cwd a
147 147 ? a/1/in_a_1 (glob)
148 148 ? a/in_a (glob)
149 149 ? b/1/in_b_1 (glob)
150 150 ? b/2/in_b_2 (glob)
151 151 ? b/in_b (glob)
152 152 ? in_root
153 153
154 154 if relative paths are explicitly off, tweakdefaults doesn't change it
155 155 $ cat >> $HGRCPATH <<EOF
156 156 > [commands]
157 157 > status.relative = False
158 158 > EOF
159 159 $ hg status --cwd a --config ui.tweakdefaults=yes
160 160 ? a/1/in_a_1
161 161 ? a/in_a
162 162 ? b/1/in_b_1
163 163 ? b/2/in_b_2
164 164 ? b/in_b
165 165 ? in_root
166 166
167 167 $ cd ..
168 168
169 169 $ hg init repo2
170 170 $ cd repo2
171 171 $ touch modified removed deleted ignored
172 172 $ echo "^ignored$" > .hgignore
173 173 $ hg ci -A -m 'initial checkin'
174 174 adding .hgignore
175 175 adding deleted
176 176 adding modified
177 177 adding removed
178 178 $ touch modified added unknown ignored
179 179 $ hg add added
180 180 $ hg remove removed
181 181 $ rm deleted
182 182
183 183 hg status:
184 184
185 185 $ hg status
186 186 A added
187 187 R removed
188 188 ! deleted
189 189 ? unknown
190 190
191 191 hg status modified added removed deleted unknown never-existed ignored:
192 192
193 193 $ hg status modified added removed deleted unknown never-existed ignored
194 194 never-existed: * (glob)
195 195 A added
196 196 R removed
197 197 ! deleted
198 198 ? unknown
199 199
200 200 $ hg copy modified copied
201 201
202 202 hg status -C:
203 203
204 204 $ hg status -C
205 205 A added
206 206 A copied
207 207 modified
208 208 R removed
209 209 ! deleted
210 210 ? unknown
211 211
212 212 hg status -A:
213 213
214 214 $ hg status -A
215 215 A added
216 216 A copied
217 217 modified
218 218 R removed
219 219 ! deleted
220 220 ? unknown
221 221 I ignored
222 222 C .hgignore
223 223 C modified
224 224
225 225 $ hg status -A -T '{status} {path} {node|shortest}\n'
226 226 A added ffff
227 227 A copied ffff
228 228 R removed ffff
229 229 ! deleted ffff
230 230 ? unknown ffff
231 231 I ignored ffff
232 232 C .hgignore ffff
233 233 C modified ffff
234 234
235 235 $ hg status -A -Tjson
236 236 [
237 237 {
238 238 "path": "added",
239 239 "status": "A"
240 240 },
241 241 {
242 242 "path": "copied",
243 243 "source": "modified",
244 244 "status": "A"
245 245 },
246 246 {
247 247 "path": "removed",
248 248 "status": "R"
249 249 },
250 250 {
251 251 "path": "deleted",
252 252 "status": "!"
253 253 },
254 254 {
255 255 "path": "unknown",
256 256 "status": "?"
257 257 },
258 258 {
259 259 "path": "ignored",
260 260 "status": "I"
261 261 },
262 262 {
263 263 "path": ".hgignore",
264 264 "status": "C"
265 265 },
266 266 {
267 267 "path": "modified",
268 268 "status": "C"
269 269 }
270 270 ]
271 271
272 272 $ hg status -A -Tpickle > pickle
273 273 >>> from __future__ import print_function
274 274 >>> import pickle
275 >>> print(sorted((x['status'], x['path']) for x in pickle.load(open("pickle"))))
276 [('!', 'deleted'), ('?', 'pickle'), ('?', 'unknown'), ('A', 'added'), ('A', 'copied'), ('C', '.hgignore'), ('C', 'modified'), ('I', 'ignored'), ('R', 'removed')]
275 >>> data = sorted((x[b'status'].decode(), x[b'path'].decode()) for x in pickle.load(open("pickle", r"rb")))
276 >>> for s, p in data: print("%s %s" % (s, p))
277 ! deleted
278 ? pickle
279 ? unknown
280 A added
281 A copied
282 C .hgignore
283 C modified
284 I ignored
285 R removed
277 286 $ rm pickle
278 287
279 288 $ echo "^ignoreddir$" > .hgignore
280 289 $ mkdir ignoreddir
281 290 $ touch ignoreddir/file
282 291
283 292 Test templater support:
284 293
285 294 $ hg status -AT "[{status}]\t{if(source, '{source} -> ')}{path}\n"
286 295 [M] .hgignore
287 296 [A] added
288 297 [A] modified -> copied
289 298 [R] removed
290 299 [!] deleted
291 300 [?] ignored
292 301 [?] unknown
293 302 [I] ignoreddir/file
294 303 [C] modified
295 304 $ hg status -AT default
296 305 M .hgignore
297 306 A added
298 307 A copied
299 308 modified
300 309 R removed
301 310 ! deleted
302 311 ? ignored
303 312 ? unknown
304 313 I ignoreddir/file
305 314 C modified
306 315 $ hg status -T compact
307 316 abort: "status" not in template map
308 317 [255]
309 318
310 319 hg status ignoreddir/file:
311 320
312 321 $ hg status ignoreddir/file
313 322
314 323 hg status -i ignoreddir/file:
315 324
316 325 $ hg status -i ignoreddir/file
317 326 I ignoreddir/file
318 327 $ cd ..
319 328
320 329 Check 'status -q' and some combinations
321 330
322 331 $ hg init repo3
323 332 $ cd repo3
324 333 $ touch modified removed deleted ignored
325 334 $ echo "^ignored$" > .hgignore
326 335 $ hg commit -A -m 'initial checkin'
327 336 adding .hgignore
328 337 adding deleted
329 338 adding modified
330 339 adding removed
331 340 $ touch added unknown ignored
332 341 $ hg add added
333 342 $ echo "test" >> modified
334 343 $ hg remove removed
335 344 $ rm deleted
336 345 $ hg copy modified copied
337 346
338 347 Specify working directory revision explicitly, that should be the same as
339 348 "hg status"
340 349
341 350 $ hg status --change "wdir()"
342 351 M modified
343 352 A added
344 353 A copied
345 354 R removed
346 355 ! deleted
347 356 ? unknown
348 357
349 358 Run status with 2 different flags.
350 359 Check if result is the same or different.
351 360 If result is not as expected, raise error
352 361
353 362 $ assert() {
354 363 > hg status $1 > ../a
355 364 > hg status $2 > ../b
356 365 > if diff ../a ../b > /dev/null; then
357 366 > out=0
358 367 > else
359 368 > out=1
360 369 > fi
361 370 > if [ $3 -eq 0 ]; then
362 371 > df="same"
363 372 > else
364 373 > df="different"
365 374 > fi
366 375 > if [ $out -ne $3 ]; then
367 376 > echo "Error on $1 and $2, should be $df."
368 377 > fi
369 378 > }
370 379
371 380 Assert flag1 flag2 [0-same | 1-different]
372 381
373 382 $ assert "-q" "-mard" 0
374 383 $ assert "-A" "-marduicC" 0
375 384 $ assert "-qA" "-mardcC" 0
376 385 $ assert "-qAui" "-A" 0
377 386 $ assert "-qAu" "-marducC" 0
378 387 $ assert "-qAi" "-mardicC" 0
379 388 $ assert "-qu" "-u" 0
380 389 $ assert "-q" "-u" 1
381 390 $ assert "-m" "-a" 1
382 391 $ assert "-r" "-d" 1
383 392 $ cd ..
384 393
385 394 $ hg init repo4
386 395 $ cd repo4
387 396 $ touch modified removed deleted
388 397 $ hg ci -q -A -m 'initial checkin'
389 398 $ touch added unknown
390 399 $ hg add added
391 400 $ hg remove removed
392 401 $ rm deleted
393 402 $ echo x > modified
394 403 $ hg copy modified copied
395 404 $ hg ci -m 'test checkin' -d "1000001 0"
396 405 $ rm *
397 406 $ touch unrelated
398 407 $ hg ci -q -A -m 'unrelated checkin' -d "1000002 0"
399 408
400 409 hg status --change 1:
401 410
402 411 $ hg status --change 1
403 412 M modified
404 413 A added
405 414 A copied
406 415 R removed
407 416
408 417 hg status --change 1 unrelated:
409 418
410 419 $ hg status --change 1 unrelated
411 420
412 421 hg status -C --change 1 added modified copied removed deleted:
413 422
414 423 $ hg status -C --change 1 added modified copied removed deleted
415 424 M modified
416 425 A added
417 426 A copied
418 427 modified
419 428 R removed
420 429
421 430 hg status -A --change 1 and revset:
422 431
423 432 $ hg status -A --change '1|1'
424 433 M modified
425 434 A added
426 435 A copied
427 436 modified
428 437 R removed
429 438 C deleted
430 439
431 440 $ cd ..
432 441
433 442 hg status with --rev and reverted changes:
434 443
435 444 $ hg init reverted-changes-repo
436 445 $ cd reverted-changes-repo
437 446 $ echo a > file
438 447 $ hg add file
439 448 $ hg ci -m a
440 449 $ echo b > file
441 450 $ hg ci -m b
442 451
443 452 reverted file should appear clean
444 453
445 454 $ hg revert -r 0 .
446 455 reverting file
447 456 $ hg status -A --rev 0
448 457 C file
449 458
450 459 #if execbit
451 460 reverted file with changed flag should appear modified
452 461
453 462 $ chmod +x file
454 463 $ hg status -A --rev 0
455 464 M file
456 465
457 466 $ hg revert -r 0 .
458 467 reverting file
459 468
460 469 reverted and committed file with changed flag should appear modified
461 470
462 471 $ hg co -C .
463 472 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
464 473 $ chmod +x file
465 474 $ hg ci -m 'change flag'
466 475 $ hg status -A --rev 1 --rev 2
467 476 M file
468 477 $ hg diff -r 1 -r 2
469 478
470 479 #endif
471 480
472 481 $ cd ..
473 482
474 483 hg status of binary file starting with '\1\n', a separator for metadata:
475 484
476 485 $ hg init repo5
477 486 $ cd repo5
478 487 >>> open("010a", r"wb").write(b"\1\nfoo") and None
479 488 $ hg ci -q -A -m 'initial checkin'
480 489 $ hg status -A
481 490 C 010a
482 491
483 492 >>> open("010a", r"wb").write(b"\1\nbar") and None
484 493 $ hg status -A
485 494 M 010a
486 495 $ hg ci -q -m 'modify 010a'
487 496 $ hg status -A --rev 0:1
488 497 M 010a
489 498
490 499 $ touch empty
491 500 $ hg ci -q -A -m 'add another file'
492 501 $ hg status -A --rev 1:2 010a
493 502 C 010a
494 503
495 504 $ cd ..
496 505
497 506 test "hg status" with "directory pattern" which matches against files
498 507 only known on target revision.
499 508
500 509 $ hg init repo6
501 510 $ cd repo6
502 511
503 512 $ echo a > a.txt
504 513 $ hg add a.txt
505 514 $ hg commit -m '#0'
506 515 $ mkdir -p 1/2/3/4/5
507 516 $ echo b > 1/2/3/4/5/b.txt
508 517 $ hg add 1/2/3/4/5/b.txt
509 518 $ hg commit -m '#1'
510 519
511 520 $ hg update -C 0 > /dev/null
512 521 $ hg status -A
513 522 C a.txt
514 523
515 524 the directory matching against specified pattern should be removed,
516 525 because directory existence prevents 'dirstate.walk()' from showing
517 526 warning message about such pattern.
518 527
519 528 $ test ! -d 1
520 529 $ hg status -A --rev 1 1/2/3/4/5/b.txt
521 530 R 1/2/3/4/5/b.txt
522 531 $ hg status -A --rev 1 1/2/3/4/5
523 532 R 1/2/3/4/5/b.txt
524 533 $ hg status -A --rev 1 1/2/3
525 534 R 1/2/3/4/5/b.txt
526 535 $ hg status -A --rev 1 1
527 536 R 1/2/3/4/5/b.txt
528 537
529 538 $ hg status --config ui.formatdebug=True --rev 1 1
530 539 status = [
531 540 {
532 541 'path': '1/2/3/4/5/b.txt',
533 542 'status': 'R'
534 543 },
535 544 ]
536 545
537 546 #if windows
538 547 $ hg --config ui.slash=false status -A --rev 1 1
539 548 R 1\2\3\4\5\b.txt
540 549 #endif
541 550
542 551 $ cd ..
543 552
544 553 Status after move overwriting a file (issue4458)
545 554 =================================================
546 555
547 556
548 557 $ hg init issue4458
549 558 $ cd issue4458
550 559 $ echo a > a
551 560 $ echo b > b
552 561 $ hg commit -Am base
553 562 adding a
554 563 adding b
555 564
556 565
557 566 with --force
558 567
559 568 $ hg mv b --force a
560 569 $ hg st --copies
561 570 M a
562 571 b
563 572 R b
564 573 $ hg revert --all
565 574 reverting a
566 575 undeleting b
567 576 $ rm *.orig
568 577
569 578 without force
570 579
571 580 $ hg rm a
572 581 $ hg st --copies
573 582 R a
574 583 $ hg mv b a
575 584 $ hg st --copies
576 585 M a
577 586 b
578 587 R b
579 588
580 589 using ui.statuscopies setting
581 590 $ hg st --config ui.statuscopies=true
582 591 M a
583 592 b
584 593 R b
585 594 $ hg st --config ui.statuscopies=false
586 595 M a
587 596 R b
588 597 $ hg st --config ui.tweakdefaults=yes
589 598 M a
590 599 b
591 600 R b
592 601
593 602 using log status template (issue5155)
594 603 $ hg log -Tstatus -r 'wdir()' -C
595 604 changeset: 2147483647:ffffffffffff
596 605 parent: 0:8c55c58b4c0e
597 606 user: test
598 607 date: * (glob)
599 608 files:
600 609 M a
601 610 b
602 611 R b
603 612
604 613
605 614 Other "bug" highlight, the revision status does not report the copy information.
606 615 This is buggy behavior.
607 616
608 617 $ hg commit -m 'blah'
609 618 $ hg st --copies --change .
610 619 M a
611 620 R b
612 621
613 622 using log status template, the copy information is displayed correctly.
614 623 $ hg log -Tstatus -r. -C
615 624 changeset: 1:6685fde43d21
616 625 tag: tip
617 626 user: test
618 627 date: * (glob)
619 628 summary: blah
620 629 files:
621 630 M a
622 631 b
623 632 R b
624 633
625 634
626 635 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now