##// END OF EJS Templates
merge with stable
Mads Kiilerich -
r12944:fc069544 merge default
parent child Browse files
Show More
@@ -454,6 +454,15 b' def shtest(test, options, replacements):'
454 454 vlog("# Running", cmd)
455 455 return run(cmd, options, replacements)
456 456
457 needescape = re.compile(r'[\x00-\x08\x0b-\x1f\x7f-\xff]').search
458 escapesub = re.compile(r'[\x00-\x08\x0b-\x1f\\\x7f-\xff]').sub
459 escapemap = dict((chr(i), r'\x%02x' % i) for i in range(256))
460 escapemap.update({'\\': '\\\\', '\r': r'\r'})
461 def escapef(m):
462 return escapemap[m.group(0)]
463 def stringescape(s):
464 return escapesub(escapef, s)
465
457 466 def tsttest(test, options, replacements):
458 467 t = open(test)
459 468 out = []
@@ -464,6 +473,8 b' def tsttest(test, options, replacements)'
464 473 after = {}
465 474 expected = {}
466 475 for n, l in enumerate(t):
476 if not l.endswith('\n'):
477 l += '\n'
467 478 if l.startswith(' $ '): # commands
468 479 after.setdefault(pos, []).append(l)
469 480 prepos = pos
@@ -480,8 +491,6 b' def tsttest(test, options, replacements)'
480 491 # non-command/result - queue up for merged output
481 492 after.setdefault(pos, []).append(l)
482 493
483 if script and not script[-1].endswith('\n'):
484 script[-1] = script[-1] + '\n'
485 494 script.append('echo %s %s $?\n' % (salt, n + 1))
486 495
487 496 fd, name = tempfile.mkstemp(suffix='hg-tst')
@@ -531,29 +540,38 b' def tsttest(test, options, replacements)'
531 540 postout = []
532 541 ret = 0
533 542 for n, l in enumerate(output):
534 if l.startswith(salt):
543 lout, lcmd = l, None
544 if salt in l:
545 lout, lcmd = l.split(salt, 1)
546
547 if lout:
548 if lcmd:
549 lout += ' (no-eol)\n'
550
551 el = None
552 if pos in expected and expected[pos]:
553 el = expected[pos].pop(0)
554
555 if el == lout: # perfect match (fast)
556 postout.append(" " + lout)
557 elif (el and
558 (el.endswith(" (re)\n") and rematch(el[:-6] + '\n', lout) or
559 el.endswith(" (glob)\n") and globmatch(el[:-8] + '\n', lout)) or
560 el.endswith(" (esc)\n") and el.decode('string-escape') == l):
561 postout.append(" " + el) # fallback regex/glob/esc match
562 else:
563 if needescape(lout):
564 lout = stringescape(lout.rstrip('\n')) + " (esc)\n"
565 postout.append(" " + lout) # let diff deal with it
566
567 if lcmd:
535 568 # add on last return code
536 ret = int(l.split()[2])
569 ret = int(lcmd.split()[1])
537 570 if ret != 0:
538 571 postout.append(" [%s]\n" % ret)
539 572 if pos in after:
540 573 postout += after.pop(pos)
541 pos = int(l.split()[1])
542 else:
543 el = None
544 if pos in expected and expected[pos]:
545 el = expected[pos].pop(0)
546
547 if el == l: # perfect match (fast)
548 postout.append(" " + l)
549 elif el and el.decode('string-escape') == l:
550 postout.append(" " + el) # \-escape match
551 elif (el and
552 (el.endswith(" (re)\n") and rematch(el[:-6] + '\n', l) or
553 el.endswith(" (glob)\n") and globmatch(el[:-8] + '\n', l))):
554 postout.append(" " + el) # fallback regex/glob match
555 else:
556 postout.append(" " + l) # let diff deal with it
574 pos = int(lcmd.split()[0])
557 575
558 576 if pos in after:
559 577 postout += after.pop(pos)
@@ -24,7 +24,7 b' list bookmarks with color'
24 24
25 25 $ hg --config extensions.color= --config color.mode=ansi \
26 26 > bookmark --color=always
27  * X -1:000000000000
27 \x1b[0;32m * X -1:000000000000\x1b[0m (esc)
28 28
29 29 update to bookmark X
30 30
@@ -21,7 +21,7 b' list bookmarks with color'
21 21
22 22 $ hg --config extensions.color= --config color.mode=ansi \
23 23 > bookmarks --color=always
24  * X -1:000000000000
24 \x1b[0;32m * X -1:000000000000\x1b[0m (esc)
25 25
26 26 $ echo a > a
27 27 $ hg add a
@@ -34,13 +34,13 b' test branch selection options'
34 34 $ hg up 0
35 35 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
36 36 $ hg --encoding utf-8 branch æ
37 marked working directory as branch æ
37 marked working directory as branch \xc3\xa6 (esc)
38 38 $ echo ae1 > foo
39 39 $ hg ci -d '0 0' -mae1
40 40 $ hg up 0
41 41 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
42 42 $ hg --encoding utf-8 branch -f æ
43 marked working directory as branch æ
43 marked working directory as branch \xc3\xa6 (esc)
44 44 $ echo ae2 > foo
45 45 $ hg ci -d '0 0' -mae2
46 46 created new head
@@ -357,19 +357,19 b' default branch colors:'
357 357 $ hg up -C b
358 358 2 files updated, 0 files merged, 3 files removed, 0 files unresolved
359 359 $ hg branches --color=always
360 b  13:6ac12926b8c3
361 a branch name much longer than the default justification used by branches 7:10ff5895aa57
362 a  5:d8cbc61dbaa6 (inactive)
363 default  0:19709c5a4e75 (inactive)
360 \x1b[0;32mb\x1b[0m \x1b[0;33m 13:6ac12926b8c3\x1b[0m (esc)
361 \x1b[0;0ma branch name much longer than the default justification used by branches\x1b[0m \x1b[0;33m7:10ff5895aa57\x1b[0m (esc)
362 \x1b[0;0ma\x1b[0m \x1b[0;33m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
363 \x1b[0;0mdefault\x1b[0m \x1b[0;33m 0:19709c5a4e75\x1b[0m (inactive) (esc)
364 364
365 365 default closed branch color:
366 366
367 367 $ hg branches --color=always --closed
368 b  13:6ac12926b8c3
369 a branch name much longer than the default justification used by branches 7:10ff5895aa57
370 c  14:717d2e6fabe1 (closed)
371 a  5:d8cbc61dbaa6 (inactive)
372 default  0:19709c5a4e75 (inactive)
368 \x1b[0;32mb\x1b[0m \x1b[0;33m 13:6ac12926b8c3\x1b[0m (esc)
369 \x1b[0;0ma branch name much longer than the default justification used by branches\x1b[0m \x1b[0;33m7:10ff5895aa57\x1b[0m (esc)
370 \x1b[0;30;1mc\x1b[0m \x1b[0;33m 14:717d2e6fabe1\x1b[0m (closed) (esc)
371 \x1b[0;0ma\x1b[0m \x1b[0;33m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
372 \x1b[0;0mdefault\x1b[0m \x1b[0;33m 0:19709c5a4e75\x1b[0m (inactive) (esc)
373 373
374 374 $ echo "[extensions]" >> $HGRCPATH
375 375 $ echo "color =" >> $HGRCPATH
@@ -383,16 +383,16 b' default closed branch color:'
383 383 custom branch colors:
384 384
385 385 $ hg branches --color=always
386 b  13:6ac12926b8c3
387 a branch name much longer than the default justification used by branches 7:10ff5895aa57
388 a  5:d8cbc61dbaa6 (inactive)
389 default  0:19709c5a4e75 (inactive)
386 \x1b[0;31mb\x1b[0m \x1b[0;36m 13:6ac12926b8c3\x1b[0m (esc)
387 \x1b[0;32ma branch name much longer than the default justification used by branches\x1b[0m \x1b[0;36m7:10ff5895aa57\x1b[0m (esc)
388 \x1b[0;35ma\x1b[0m \x1b[0;36m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
389 \x1b[0;35mdefault\x1b[0m \x1b[0;36m 0:19709c5a4e75\x1b[0m (inactive) (esc)
390 390
391 391 custom closed branch color:
392 392
393 393 $ hg branches --color=always --closed
394 b  13:6ac12926b8c3
395 a branch name much longer than the default justification used by branches 7:10ff5895aa57
396 c  14:717d2e6fabe1 (closed)
397 a  5:d8cbc61dbaa6 (inactive)
398 default  0:19709c5a4e75 (inactive)
394 \x1b[0;31mb\x1b[0m \x1b[0;36m 13:6ac12926b8c3\x1b[0m (esc)
395 \x1b[0;32ma branch name much longer than the default justification used by branches\x1b[0m \x1b[0;36m7:10ff5895aa57\x1b[0m (esc)
396 \x1b[0;34mc\x1b[0m \x1b[0;36m 14:717d2e6fabe1\x1b[0m (closed) (esc)
397 \x1b[0;35ma\x1b[0m \x1b[0;36m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
398 \x1b[0;35mdefault\x1b[0m \x1b[0;36m 0:19709c5a4e75\x1b[0m (inactive) (esc)
@@ -102,9 +102,9 b' churn --diffstat with color'
102 102
103 103 $ hg --config extensions.color= churn --config color.mode=ansi \
104 104 > --diffstat --color=always
105 user1 +3/-1 +++++++++++++++++++++++++++++++++++++++++--------------
106 user3 +3/-0 +++++++++++++++++++++++++++++++++++++++++
107 user2 +2/-0 +++++++++++++++++++++++++++
105 user1 +3/-1 \x1b[0;32m+++++++++++++++++++++++++++++++++++++++++\x1b[0m\x1b[0;31m--------------\x1b[0m (esc)
106 user3 +3/-0 \x1b[0;32m+++++++++++++++++++++++++++++++++++++++++\x1b[0m (esc)
107 user2 +2/-0 \x1b[0;32m+++++++++++++++++++++++++++\x1b[0m (esc)
108 108
109 109
110 110 changeset number churn
@@ -82,7 +82,7 b' test utf-8 commit message and author'
82 82 darcs is encoding agnostic, so it takes whatever bytes it's given
83 83
84 84 $ darcs record -a -l -m 'p4: desc ñ' -A 'author ñ'
85 Finished recording patch 'p4: desc ñ'
85 Finished recording patch 'p4: desc \xc3\xb1' (esc)
86 86
87 87 Test latin-1 commit message
88 88
@@ -90,7 +90,7 b' Test latin-1 commit message'
90 90 $ printf "p5: desc " > ../p5
91 91 $ python -c 'print "".join([chr(i) for i in range(128, 256)])' >> ../p5
92 92 $ darcs record -a -l --logfile ../p5
93 Finished recording patch 'p5: desc ��������������������������������������������������������������������������������������������������������������������������������'
93 Finished recording patch 'p5: desc \x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff' (esc)
94 94
95 95 $ glog()
96 96 > {
@@ -117,11 +117,11 b' Unfortunately, non-conflicting changes, '
117 117 "c" file in p1.1 patch are reverted too.
118 118 Just to say that manifest not listing "c" here is a bug.
119 119
120 $ HGENCODING=latin-1 glog -R darcs-repo-hg -r 6 | "$TESTDIR"/printrepr.py
121 o 6 "p5: desc \xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xc2\xa1\xc2\xa2\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xc2\xaa\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xc2\xba\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xc2\xbf\xc3\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x90\xc3\x91\xc3\x92\xc3\x93\xc3\x94\xc3\x95\xc3\x96\xc3\x97\xc3\x98\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc3\x9d\xc3\x9e\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4\xc3\xa5\xc3\xa6\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xc3\xac\xc3\xad\xc3\xae\xc3\xaf\xc3\xb0\xc3\xb1\xc3\xb2\xc3\xb3\xc3\xb4\xc3\xb5\xc3\xb6\xc3\xb7\xc3\xb8\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbc\xc3\xbd\xc3\xbe\xc3\xbf" (test@example.org) files: h
120 $ HGENCODING=latin-1 glog -R darcs-repo-hg -r 6
121 o 6 "p5: desc \xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\xc2\xa0\xc2\xa1\xc2\xa2\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xc2\xaa\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xc2\xba\xc2\xbb\xc2\xbc\xc2\xbd\xc2\xbe\xc2\xbf\xc3\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x90\xc3\x91\xc3\x92\xc3\x93\xc3\x94\xc3\x95\xc3\x96\xc3\x97\xc3\x98\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc3\x9d\xc3\x9e\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4\xc3\xa5\xc3\xa6\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xc3\xac\xc3\xad\xc3\xae\xc3\xaf\xc3\xb0\xc3\xb1\xc3\xb2\xc3\xb3\xc3\xb4\xc3\xb5\xc3\xb6\xc3\xb7\xc3\xb8\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbc\xc3\xbd\xc3\xbe\xc3\xbf" (test@example.org) files: h (esc)
122 122 |
123 $ HGENCODING=utf-8 glog -R darcs-repo-hg -r 0:5 | "$TESTDIR"/printrepr.py
124 o 5 "p4: desc \xc3\xb1" (author \xc3\xb1) files: g
123 $ HGENCODING=utf-8 glog -R darcs-repo-hg -r 0:5
124 o 5 "p4: desc \xc3\xb1" (author \xc3\xb1) files: g (esc)
125 125 |
126 126 o 4 "p3" (test@example.org) files: dir/d dir/d2 dir2/d f ff
127 127 |
@@ -20,8 +20,8 b' Convert while testing all possible outpu'
20 20 found trunk at 'trunk'
21 21 found tags at 'tags'
22 22 found branches at 'branches'
23 found branch branché at 5
24 found branch branchée at 6
23 found branch branch\xc3\xa9 at 5 (esc)
24 found branch branch\xc3\xa9e at 6 (esc)
25 25 scanning: 1 revisions
26 26 reparent to file://*/svn-repo/trunk (glob)
27 27 fetching revision log for "/trunk" from 4 to 0
@@ -34,18 +34,18 b' Convert while testing all possible outpu'
34 34 '/tags' is not under '/trunk', ignoring
35 35 scanning: 2 revisions
36 36 reparent to file://*/svn-repo/branches/branch%C3%A9 (glob)
37 fetching revision log for "/branches/branché" from 5 to 0
37 fetching revision log for "/branches/branch\xc3\xa9" from 5 to 0 (esc)
38 38 parsing revision 5 (1 changes)
39 39 reparent to file://*/svn-repo (glob)
40 40 reparent to file://*/svn-repo/branches/branch%C3%A9 (glob)
41 found parent of branch /branches/branché at 4: /trunk
41 found parent of branch /branches/branch\xc3\xa9 at 4: /trunk (esc)
42 42 scanning: 3 revisions
43 43 reparent to file://*/svn-repo/branches/branch%C3%A9e (glob)
44 fetching revision log for "/branches/branchée" from 6 to 0
44 fetching revision log for "/branches/branch\xc3\xa9e" from 6 to 0 (esc)
45 45 parsing revision 6 (1 changes)
46 46 reparent to file://*/svn-repo (glob)
47 47 reparent to file://*/svn-repo/branches/branch%C3%A9e (glob)
48 found parent of branch /branches/branchée at 5: /branches/branché
48 found parent of branch /branches/branch\xc3\xa9e at 5: /branches/branch\xc3\xa9 (esc)
49 49 scanning: 4 revisions
50 50 scanning: 5 revisions
51 51 scanning: 6 revisions
@@ -58,63 +58,63 b' Convert while testing all possible outpu'
58 58 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@2
59 59 converting: 1/6 revisions (16.67%)
60 60 reparent to file://*/svn-repo/trunk (glob)
61 scanning paths: /trunk/à 0/3 (0.00%)
62 scanning paths: /trunk/à/é 1/3 (33.33%)
63 scanning paths: /trunk/é 2/3 (66.67%)
64 à/é
65 getting files: à/é 1/2 (50.00%)
66 é
67 getting files: é 2/2 (100.00%)
61 scanning paths: /trunk/\xc3\xa0 0/3 (0.00%) (esc)
62 scanning paths: /trunk/\xc3\xa0/e\xcc\x81 1/3 (33.33%) (esc)
63 scanning paths: /trunk/\xc3\xa9 2/3 (66.67%) (esc)
64 \xc3\xa0/e\xcc\x81 (esc)
65 getting files: \xc3\xa0/e\xcc\x81 1/2 (50.00%) (esc)
66 \xc3\xa9 (esc)
67 getting files: \xc3\xa9 2/2 (100.00%) (esc)
68 68 3 copy files
69 69 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@3
70 70 converting: 2/6 revisions (33.33%)
71 scanning paths: /trunk/à 0/4 (0.00%)
71 scanning paths: /trunk/\xc3\xa0 0/4 (0.00%) (esc)
72 72 gone from -1
73 73 reparent to file://*/svn-repo (glob)
74 74 reparent to file://*/svn-repo/trunk (glob)
75 scanning paths: /trunk/è 1/4 (25.00%)
76 copied to è from é@2
77 scanning paths: /trunk/é 2/4 (50.00%)
75 scanning paths: /trunk/\xc3\xa8 1/4 (25.00%) (esc)
76 copied to \xc3\xa8 from \xc3\xa9@2 (esc)
77 scanning paths: /trunk/\xc3\xa9 2/4 (50.00%) (esc)
78 78 gone from -1
79 79 reparent to file://*/svn-repo (glob)
80 80 reparent to file://*/svn-repo/trunk (glob)
81 scanning paths: /trunk/ù 3/4 (75.00%)
82 mark /trunk/ù came from à:2
83 à/é
84 getting files: à/é 1/4 (25.00%)
85 è
86 getting files: è 2/4 (50.00%)
87 è: copy é:6b67ccefd5ce6de77e7ead4f5292843a0255329f
88 é
89 getting files: é 3/4 (75.00%)
90 ù/é
91 getting files: ù/é 4/4 (100.00%)
92 ù/é: copy à/é:a9092a3d84a37b9993b5c73576f6de29b7ea50f6
81 scanning paths: /trunk/\xc3\xb9 3/4 (75.00%) (esc)
82 mark /trunk/\xc3\xb9 came from \xc3\xa0:2 (esc)
83 \xc3\xa0/e\xcc\x81 (esc)
84 getting files: \xc3\xa0/e\xcc\x81 1/4 (25.00%) (esc)
85 \xc3\xa8 (esc)
86 getting files: \xc3\xa8 2/4 (50.00%) (esc)
87 \xc3\xa8: copy \xc3\xa9:6b67ccefd5ce6de77e7ead4f5292843a0255329f (esc)
88 \xc3\xa9 (esc)
89 getting files: \xc3\xa9 3/4 (75.00%) (esc)
90 \xc3\xb9/e\xcc\x81 (esc)
91 getting files: \xc3\xb9/e\xcc\x81 4/4 (100.00%) (esc)
92 \xc3\xb9/e\xcc\x81: copy \xc3\xa0/e\xcc\x81:a9092a3d84a37b9993b5c73576f6de29b7ea50f6 (esc)
93 93 2 remove files
94 94 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@4
95 95 converting: 3/6 revisions (50.00%)
96 scanning paths: /trunk/è 0/2 (0.00%)
96 scanning paths: /trunk/\xc3\xa8 0/2 (0.00%) (esc)
97 97 gone from -1
98 98 reparent to file://*/svn-repo (glob)
99 99 reparent to file://*/svn-repo/trunk (glob)
100 scanning paths: /trunk/ù 1/2 (50.00%)
100 scanning paths: /trunk/\xc3\xb9 1/2 (50.00%) (esc)
101 101 gone from -1
102 102 reparent to file://*/svn-repo (glob)
103 103 reparent to file://*/svn-repo/trunk (glob)
104 è
105 getting files: è 1/2 (50.00%)
106 ù/é
107 getting files: ù/é 2/2 (100.00%)
104 \xc3\xa8 (esc)
105 getting files: \xc3\xa8 1/2 (50.00%) (esc)
106 \xc3\xb9/e\xcc\x81 (esc)
107 getting files: \xc3\xb9/e\xcc\x81 2/2 (100.00%) (esc)
108 108 1 branch to branch?
109 109 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/branches/branch?@5
110 110 converting: 4/6 revisions (66.67%)
111 111 reparent to file://*/svn-repo/branches/branch%C3%A9 (glob)
112 scanning paths: /branches/branché 0/1 (0.00%)
112 scanning paths: /branches/branch\xc3\xa9 0/1 (0.00%) (esc)
113 113 0 branch to branch?e
114 114 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/branches/branch?e@6
115 115 converting: 5/6 revisions (83.33%)
116 116 reparent to file://*/svn-repo/branches/branch%C3%A9e (glob)
117 scanning paths: /branches/branchée 0/1 (0.00%)
117 scanning paths: /branches/branch\xc3\xa9e 0/1 (0.00%) (esc)
118 118 reparent to file://*/svn-repo (glob)
119 119 reparent to file://*/svn-repo/branches/branch%C3%A9e (glob)
120 120 reparent to file://*/svn-repo (glob)
@@ -128,8 +128,8 b' Convert while testing all possible outpu'
128 128
129 129 Check tags are in UTF-8
130 130
131 $ python -c "print '\n'.join([('%r' % l) for l in file('.hgtags', 'rb').readlines()])"
132 '221c3fdaf24df5f14c0a64c597581e2eacfb47bb branch\xc3\xa9e\n'
133 '7a40952c2db29cf00d9e31df3749e98d8a4bdcbf branch\xc3\xa9\n'
131 $ cat .hgtags
132 221c3fdaf24df5f14c0a64c597581e2eacfb47bb branch\xc3\xa9e (esc)
133 7a40952c2db29cf00d9e31df3749e98d8a4bdcbf branch\xc3\xa9 (esc)
134 134
135 135 $ cd ..
@@ -32,15 +32,15 b' Setup'
32 32 default context
33 33
34 34 $ hg diff --nodates --color=always
35 diff -r cf9f4ba66af2 a
36 --- a/a
37 +++ b/a
38 @@ -2,7 +2,7 @@
35 \x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
36 \x1b[0;31;1m--- a/a\x1b[0m (esc)
37 \x1b[0;32;1m+++ b/a\x1b[0m (esc)
38 \x1b[0;35m@@ -2,7 +2,7 @@\x1b[0m (esc)
39 39 c
40 40 a
41 41 a
42 -b
43 +dd
42 \x1b[0;31m-b\x1b[0m (esc)
43 \x1b[0;32m+dd\x1b[0m (esc)
44 44 a
45 45 a
46 46 c
@@ -48,21 +48,21 b' default context'
48 48 --unified=2
49 49
50 50 $ hg diff --nodates -U 2 --color=always
51 diff -r cf9f4ba66af2 a
52 --- a/a
53 +++ b/a
54 @@ -3,5 +3,5 @@
51 \x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
52 \x1b[0;31;1m--- a/a\x1b[0m (esc)
53 \x1b[0;32;1m+++ b/a\x1b[0m (esc)
54 \x1b[0;35m@@ -3,5 +3,5 @@\x1b[0m (esc)
55 55 a
56 56 a
57 -b
58 +dd
57 \x1b[0;31m-b\x1b[0m (esc)
58 \x1b[0;32m+dd\x1b[0m (esc)
59 59 a
60 60 a
61 61
62 62 diffstat
63 63
64 64 $ hg diff --stat --color=always
65 a | 2 +-
65 a | 2 \x1b[0;32m+\x1b[0m\x1b[0;31m-\x1b[0m (esc)
66 66 1 files changed, 1 insertions(+), 1 deletions(-)
67 67 $ echo "record=" >> $HGRCPATH
68 68 $ echo "[ui]" >> $HGRCPATH
@@ -77,17 +77,17 b' record'
77 77 > y
78 78 > y
79 79 > EOF
80 diff --git a/a b/a
81 old mode 100644
82 new mode 100755
80 \x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
81 \x1b[0;36;1mold mode 100644\x1b[0m (esc)
82 \x1b[0;36;1mnew mode 100755\x1b[0m (esc)
83 83 1 hunks, 1 lines changed
84 84 examine changes to 'a'? [Ynsfdaq?]
85 @@ -2,7 +2,7 @@
85 \x1b[0;35m@@ -2,7 +2,7 @@\x1b[0m (esc)
86 86 c
87 87 a
88 88 a
89 -b
90 +dd
89 \x1b[0;31m-b\x1b[0m (esc)
90 \x1b[0;32m+dd\x1b[0m (esc)
91 91 a
92 92 a
93 93 c
@@ -105,17 +105,17 b' qrecord'
105 105 > y
106 106 > y
107 107 > EOF
108 diff --git a/a b/a
109 old mode 100644
110 new mode 100755
108 \x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
109 \x1b[0;36;1mold mode 100644\x1b[0m (esc)
110 \x1b[0;36;1mnew mode 100755\x1b[0m (esc)
111 111 1 hunks, 1 lines changed
112 112 examine changes to 'a'? [Ynsfdaq?]
113 @@ -2,7 +2,7 @@
113 \x1b[0;35m@@ -2,7 +2,7 @@\x1b[0m (esc)
114 114 c
115 115 a
116 116 a
117 -b
118 +dd
117 \x1b[0;31m-b\x1b[0m (esc)
118 \x1b[0;32m+dd\x1b[0m (esc)
119 119 a
120 120 a
121 121 c
@@ -402,10 +402,9 b' Test \\r (carriage return) as used in "DO'
402 402 @@ -1,2 +1,3 @@
403 403 -hello world
404 404 -goodbye world
405 +hello world
406 +
407 +goodbye
408 world
405 +hello world\r (esc)
406 +\r (esc)
407 +goodbye\rworld (esc)
409 408 world
410 409
411 410 No completely blank lines to ignore:
@@ -416,10 +415,9 b' No completely blank lines to ignore:'
416 415 +++ b/foo
417 416 @@ -1,2 +1,3 @@
418 417 -hello world
419 -goodbye world
420 +hello world
421 +
422 +goodbye
418 +hello world\r (esc)
419 +\r (esc)
420 +goodbye\rworld (esc)
423 421 world
424 422 world
425 423
@@ -429,7 +427,7 b' Only new line noticed:'
429 427 diff -r 540c40a65b78 foo
430 428 --- a/foo
431 429 +++ b/foo
432 @@ -1,2 +1,3 @@
430 +\r (esc)
433 431 hello world
434 432 +
435 433 goodbye world
@@ -438,7 +436,7 b' Only new line noticed:'
438 436 diff -r 540c40a65b78 foo
439 437 --- a/foo
440 438 +++ b/foo
441 @@ -1,2 +1,3 @@
439 +\r (esc)
442 440 hello world
443 441 +
444 442 goodbye world
@@ -13,6 +13,6 b''
13 13 +++ b/a Thu Jan 01 00:00:02 1970 +0000
14 14 @@ -1,2 +1,3 @@
15 15 confuse str.splitlines
16 embedded
16 embedded\rnewline (esc)
17 17 newline
18 18 +clean diff
@@ -52,9 +52,9 b' check alignment of option descriptions i'
52 52
53 53 options:
54 54
55 -s --opt1 \xe7\x9f\xad\xe5\x90\x8d short width
55 -s --opt1 \xe7\x9f\xad\xe5\x90\x8d short width (esc)
56 56 -m --opt2 MIDDLE_ middle width
57 -l --opt3 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d long width
57 -l --opt3 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d long width (esc)
58 58
59 59 use "hg -v help showoptlist" to show global options
60 60
@@ -96,42 +96,42 b' commit(3)'
96 96 check alignment of user names in annotate
97 97
98 98 $ hg annotate -u $M
99 \xe7\x9f\xad\xe5\x90\x8d: first line(2)
99 \xe7\x9f\xad\xe5\x90\x8d: first line(2) (esc)
100 100 MIDDLE_: second line(2)
101 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d: third line(2)
101 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d: third line(2) (esc)
102 102
103 103 check alignment of filenames in diffstat
104 104
105 105 $ hg diff -c tip --stat
106 106 MIDDLE_ | 1 +
107 \xe7\x9f\xad\xe5\x90\x8d | 1 +
108 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d | 1 +
107 \xe7\x9f\xad\xe5\x90\x8d | 1 + (esc)
108 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d | 1 + (esc)
109 109 3 files changed, 3 insertions(+), 0 deletions(-)
110 110
111 111 add branches/tags
112 112
113 113 $ hg branch $S
114 marked working directory as branch \xe7\x9f\xad\xe5\x90\x8d
114 marked working directory as branch \xe7\x9f\xad\xe5\x90\x8d (esc)
115 115 $ hg tag $S
116 116 $ hg branch $M
117 117 marked working directory as branch MIDDLE_
118 118 $ hg tag $M
119 119 $ hg branch $L
120 marked working directory as branch \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d
120 marked working directory as branch \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
121 121 $ hg tag $L
122 122
123 123 check alignment of branches
124 124
125 125 $ hg tags
126 126 tip 5:d745ff46155b
127 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d 4:9259be597f19
127 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d 4:9259be597f19 (esc)
128 128 MIDDLE_ 3:b06c5b6def9e
129 \xe7\x9f\xad\xe5\x90\x8d 2:64a70663cee8
129 \xe7\x9f\xad\xe5\x90\x8d 2:64a70663cee8 (esc)
130 130
131 131 check alignment of tags
132 132
133 133 $ hg tags
134 134 tip 5:d745ff46155b
135 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d 4:9259be597f19
135 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d 4:9259be597f19 (esc)
136 136 MIDDLE_ 3:b06c5b6def9e
137 \xe7\x9f\xad\xe5\x90\x8d 2:64a70663cee8
137 \xe7\x9f\xad\xe5\x90\x8d 2:64a70663cee8 (esc)
@@ -30,7 +30,7 b' should fail with encoding error'
30 30 $ HGENCODING=ascii hg ci -l latin-1
31 31 transaction abort!
32 32 rollback completed
33 abort: decoding near ' encoded: ': 'ascii' codec can't decode byte 0xe9 in position 20: ordinal not in range(128)!
33 abort: decoding near ' encoded: \xe9': 'ascii' codec can't decode byte 0xe9 in position 20: ordinal not in range(128)! (esc)
34 34 [255]
35 35
36 36 these should work
@@ -41,7 +41,7 b' these should work'
41 41 $ HGENCODING=utf-8 hg ci -l utf-8
42 42 $ HGENCODING=latin-1 hg tag `cat latin-1-tag`
43 43 $ HGENCODING=latin-1 hg branch `cat latin-1-tag`
44 marked working directory as branch
44 marked working directory as branch \xe9 (esc)
45 45 $ HGENCODING=latin-1 hg ci -m 'latin1 branch'
46 46 $ rm .hg/branch
47 47
@@ -86,7 +86,7 b' hg log (latin-1)'
86 86
87 87 $ hg --encoding latin-1 log
88 88 changeset: 5:093c6077d1c8
89 branch:
89 branch: \xe9 (esc)
90 90 tag: tip
91 91 user: test
92 92 date: Thu Jan 01 00:00:00 1970 +0000
@@ -95,35 +95,35 b' hg log (latin-1)'
95 95 changeset: 4:94db611b4196
96 96 user: test
97 97 date: Thu Jan 01 00:00:00 1970 +0000
98 summary: Added tag for changeset ca661e7520de
98 summary: Added tag \xe9 for changeset ca661e7520de (esc)
99 99
100 100 changeset: 3:ca661e7520de
101 tag:
101 tag: \xe9 (esc)
102 102 user: test
103 103 date: Thu Jan 01 00:00:00 1970 +0000
104 summary: utf-8 e' encoded:
104 summary: utf-8 e' encoded: \xe9 (esc)
105 105
106 106 changeset: 2:650c6f3d55dd
107 107 user: test
108 108 date: Thu Jan 01 00:00:00 1970 +0000
109 summary: latin-1 e' encoded:
109 summary: latin-1 e' encoded: \xe9 (esc)
110 110
111 111 changeset: 1:0e5b7e3f9c4a
112 112 user: test
113 113 date: Mon Jan 12 13:46:40 1970 +0000
114 summary: koi8-r: ����� = u'\u0440\u0442\u0443\u0442\u044c'
114 summary: koi8-r: \xd2\xd4\xd5\xd4\xd8 = u'\\u0440\\u0442\\u0443\\u0442\\u044c' (esc)
115 115
116 116 changeset: 0:1e78a93102a3
117 117 user: test
118 118 date: Mon Jan 12 13:46:40 1970 +0000
119 summary: latin-1 e': = u'\xe9'
119 summary: latin-1 e': \xe9 = u'\\xe9' (esc)
120 120
121 121
122 122 hg log (utf-8)
123 123
124 124 $ hg --encoding utf-8 log
125 125 changeset: 5:093c6077d1c8
126 branch: é
126 branch: \xc3\xa9 (esc)
127 127 tag: tip
128 128 user: test
129 129 date: Thu Jan 01 00:00:00 1970 +0000
@@ -132,28 +132,28 b' hg log (utf-8)'
132 132 changeset: 4:94db611b4196
133 133 user: test
134 134 date: Thu Jan 01 00:00:00 1970 +0000
135 summary: Added tag é for changeset ca661e7520de
135 summary: Added tag \xc3\xa9 for changeset ca661e7520de (esc)
136 136
137 137 changeset: 3:ca661e7520de
138 tag: é
138 tag: \xc3\xa9 (esc)
139 139 user: test
140 140 date: Thu Jan 01 00:00:00 1970 +0000
141 summary: utf-8 e' encoded: é
141 summary: utf-8 e' encoded: \xc3\xa9 (esc)
142 142
143 143 changeset: 2:650c6f3d55dd
144 144 user: test
145 145 date: Thu Jan 01 00:00:00 1970 +0000
146 summary: latin-1 e' encoded: é
146 summary: latin-1 e' encoded: \xc3\xa9 (esc)
147 147
148 148 changeset: 1:0e5b7e3f9c4a
149 149 user: test
150 150 date: Mon Jan 12 13:46:40 1970 +0000
151 summary: koi8-r: ÒÔÕÔØ = u'\u0440\u0442\u0443\u0442\u044c'
151 summary: koi8-r: \xc3\x92\xc3\x94\xc3\x95\xc3\x94\xc3\x98 = u'\\u0440\\u0442\\u0443\\u0442\\u044c' (esc)
152 152
153 153 changeset: 0:1e78a93102a3
154 154 user: test
155 155 date: Mon Jan 12 13:46:40 1970 +0000
156 summary: latin-1 e': é = u'\xe9'
156 summary: latin-1 e': \xc3\xa9 = u'\\xe9' (esc)
157 157
158 158
159 159 hg tags (ascii)
@@ -166,13 +166,13 b' hg tags (latin-1)'
166 166
167 167 $ HGENCODING=latin-1 hg tags
168 168 tip 5:093c6077d1c8
169 3:ca661e7520de
169 \xe9 3:ca661e7520de (esc)
170 170
171 171 hg tags (utf-8)
172 172
173 173 $ HGENCODING=utf-8 hg tags
174 174 tip 5:093c6077d1c8
175 é 3:ca661e7520de
175 \xc3\xa9 3:ca661e7520de (esc)
176 176
177 177 hg branches (ascii)
178 178
@@ -183,13 +183,13 b' hg branches (ascii)'
183 183 hg branches (latin-1)
184 184
185 185 $ HGENCODING=latin-1 hg branches
186 5:093c6077d1c8
186 \xe9 5:093c6077d1c8 (esc)
187 187 default 4:94db611b4196 (inactive)
188 188
189 189 hg branches (utf-8)
190 190
191 191 $ HGENCODING=utf-8 hg branches
192 é 5:093c6077d1c8
192 \xc3\xa9 5:093c6077d1c8 (esc)
193 193 default 4:94db611b4196 (inactive)
194 194 $ echo '[ui]' >> .hg/hgrc
195 195 $ echo 'fallbackencoding = koi8-r' >> .hg/hgrc
@@ -198,7 +198,7 b' hg log (utf-8)'
198 198
199 199 $ HGENCODING=utf-8 hg log
200 200 changeset: 5:093c6077d1c8
201 branch: é
201 branch: \xc3\xa9 (esc)
202 202 tag: tip
203 203 user: test
204 204 date: Thu Jan 01 00:00:00 1970 +0000
@@ -207,28 +207,28 b' hg log (utf-8)'
207 207 changeset: 4:94db611b4196
208 208 user: test
209 209 date: Thu Jan 01 00:00:00 1970 +0000
210 summary: Added tag é for changeset ca661e7520de
210 summary: Added tag \xc3\xa9 for changeset ca661e7520de (esc)
211 211
212 212 changeset: 3:ca661e7520de
213 tag: é
213 tag: \xc3\xa9 (esc)
214 214 user: test
215 215 date: Thu Jan 01 00:00:00 1970 +0000
216 summary: utf-8 e' encoded: é
216 summary: utf-8 e' encoded: \xc3\xa9 (esc)
217 217
218 218 changeset: 2:650c6f3d55dd
219 219 user: test
220 220 date: Thu Jan 01 00:00:00 1970 +0000
221 summary: latin-1 e' encoded: é
221 summary: latin-1 e' encoded: \xc3\xa9 (esc)
222 222
223 223 changeset: 1:0e5b7e3f9c4a
224 224 user: test
225 225 date: Mon Jan 12 13:46:40 1970 +0000
226 summary: koi8-r: ртуть = u'\u0440\u0442\u0443\u0442\u044c'
226 summary: koi8-r: \xd1\x80\xd1\x82\xd1\x83\xd1\x82\xd1\x8c = u'\\u0440\\u0442\\u0443\\u0442\\u044c' (esc)
227 227
228 228 changeset: 0:1e78a93102a3
229 229 user: test
230 230 date: Mon Jan 12 13:46:40 1970 +0000
231 summary: latin-1 e': И = u'\xe9'
231 summary: latin-1 e': \xd0\x98 = u'\\xe9' (esc)
232 232
233 233
234 234 hg log (dolphin)
@@ -237,7 +237,7 b' hg log (dolphin)'
237 237 abort: unknown encoding: dolphin, please check your locale settings
238 238 [255]
239 239 $ HGENCODING=ascii hg branch `cat latin-1-tag`
240 abort: decoding near '': 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)!
240 abort: decoding near '\xe9': 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)! (esc)
241 241 [255]
242 242 $ cp latin-1-tag .hg/branch
243 243 $ HGENCODING=latin-1 hg ci -m 'should fail'
@@ -48,7 +48,7 b' Test adding .hgeol'
48 48 > echo '% hg status'
49 49 > hg status
50 50 > echo '% hg tip -p'
51 > hg tip -p | python $TESTDIR/printrepr.py
51 > hg tip -p
52 52 > cd ..
53 53 > rm -r repo-$1
54 54 > }
@@ -118,8 +118,8 b' Test adding .hgeol'
118 118 -first
119 119 -second
120 120 -third
121 +first\r
122 +second\r
123 +third\r
121 +first\r (esc)
122 +second\r (esc)
123 +third\r (esc)
124 124
125 125 $ rm -r repo
@@ -31,11 +31,11 b' Clone'
31 31 updating to branch default
32 32 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
33 33 $ cd repo-2
34 $ python $TESTDIR/printrepr.py < a.txt
35 first\r
36 second\r
37 third\r
38 $ hg cat a.txt | python $TESTDIR/printrepr.py
34 $ cat a.txt
35 first\r (esc)
36 second\r (esc)
37 third\r (esc)
38 $ hg cat a.txt
39 39 first
40 40 second
41 41 third
@@ -51,7 +51,7 b' Test clone of repo with .hgeol in workin'
51 51 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
52 52 $ cd repo-3
53 53
54 $ python $TESTDIR/printrepr.py < a.txt
54 $ cat a.txt
55 55 first
56 56 second
57 57 third
@@ -71,7 +71,7 b' Test clone of revision with .hgeol'
71 71 [patterns]
72 72 **.txt = native
73 73
74 $ python $TESTDIR/printrepr.py < a.txt
75 first\r
76 second\r
77 third\r
74 $ cat a.txt
75 first\r (esc)
76 second\r (esc)
77 third\r (esc)
@@ -50,30 +50,30 b' Set up helpers'
50 50 > native = $1
51 51 > EOF
52 52 > hg update
53 > echo '% printrepr.py native.txt'
54 > python $TESTDIR/printrepr.py < native.txt
55 > echo '% printrepr.py unix.txt'
56 > python $TESTDIR/printrepr.py < unix.txt
57 > echo '% printrepr.py win.txt'
58 > python $TESTDIR/printrepr.py < win.txt
53 > echo '% native.txt'
54 > cat native.txt
55 > echo '% unix.txt'
56 > cat unix.txt
57 > echo '% win.txt'
58 > cat win.txt
59 59 > printf "first${EOL}third${EOL}" > native.txt
60 60 > printf "first\r\nthird\r\n" > win.txt
61 61 > printf "first\nthird\n" > unix.txt
62 62 > echo '% hg diff'
63 63 > hg diff > p
64 > python $TESTDIR/printrepr.py < p
64 > cat p
65 65 > echo '% hg revert'
66 66 > hg revert --all
67 67 > echo '% hg import'
68 68 > hg import -m 'patch' p
69 > echo '% printrepr.py native.txt'
70 > python $TESTDIR/printrepr.py < native.txt
71 > echo '% printrepr.py unix.txt'
72 > python $TESTDIR/printrepr.py < unix.txt
73 > echo '% printrepr.py win.txt'
74 > python $TESTDIR/printrepr.py < win.txt
69 > echo '% native.txt'
70 > cat native.txt
71 > echo '% unix.txt'
72 > cat unix.txt
73 > echo '% win.txt'
74 > cat win.txt
75 75 > echo '% hg diff -c tip'
76 > hg diff -c tip | python $TESTDIR/printrepr.py
76 > hg diff -c tip
77 77 > cd ..
78 78 > rm -r repo-$1
79 79 > }
@@ -92,18 +92,18 b' Run tests'
92 92
93 93 % hg clone repo repo-LF
94 94 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
95 % printrepr.py native.txt
95 % native.txt
96 96 first
97 97 second
98 98 third
99 % printrepr.py unix.txt
99 % unix.txt
100 100 first
101 101 second
102 102 third
103 % printrepr.py win.txt
104 first\r
105 second\r
106 third\r
103 % win.txt
104 first\r (esc)
105 second\r (esc)
106 third\r (esc)
107 107 % hg diff
108 108 diff --git a/native.txt b/native.txt
109 109 --- a/native.txt
@@ -123,24 +123,24 b' Run tests'
123 123 --- a/win.txt
124 124 +++ b/win.txt
125 125 @@ -1,3 +1,2 @@
126 first\r
127 -second\r
128 third\r
126 first\r (esc)
127 -second\r (esc)
128 third\r (esc)
129 129 % hg revert
130 130 reverting native.txt
131 131 reverting unix.txt
132 132 reverting win.txt
133 133 % hg import
134 134 applying p
135 % printrepr.py native.txt
135 % native.txt
136 136 first
137 137 third
138 % printrepr.py unix.txt
138 % unix.txt
139 139 first
140 140 third
141 % printrepr.py win.txt
142 first\r
143 third\r
141 % win.txt
142 first\r (esc)
143 third\r (esc)
144 144 % hg diff -c tip
145 145 diff --git a/native.txt b/native.txt
146 146 --- a/native.txt
@@ -160,25 +160,25 b' Run tests'
160 160 --- a/win.txt
161 161 +++ b/win.txt
162 162 @@ -1,3 +1,2 @@
163 first\r
164 -second\r
165 third\r
163 first\r (esc)
164 -second\r (esc)
165 third\r (esc)
166 166 $ dotest CRLF
167 167
168 168 % hg clone repo repo-CRLF
169 169 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
170 % printrepr.py native.txt
171 first\r
172 second\r
173 third\r
174 % printrepr.py unix.txt
170 % native.txt
171 first\r (esc)
172 second\r (esc)
173 third\r (esc)
174 % unix.txt
175 175 first
176 176 second
177 177 third
178 % printrepr.py win.txt
179 first\r
180 second\r
181 third\r
178 % win.txt
179 first\r (esc)
180 second\r (esc)
181 third\r (esc)
182 182 % hg diff
183 183 diff --git a/native.txt b/native.txt
184 184 --- a/native.txt
@@ -198,24 +198,24 b' Run tests'
198 198 --- a/win.txt
199 199 +++ b/win.txt
200 200 @@ -1,3 +1,2 @@
201 first\r
202 -second\r
203 third\r
201 first\r (esc)
202 -second\r (esc)
203 third\r (esc)
204 204 % hg revert
205 205 reverting native.txt
206 206 reverting unix.txt
207 207 reverting win.txt
208 208 % hg import
209 209 applying p
210 % printrepr.py native.txt
211 first\r
212 third\r
213 % printrepr.py unix.txt
210 % native.txt
211 first\r (esc)
212 third\r (esc)
213 % unix.txt
214 214 first
215 215 third
216 % printrepr.py win.txt
217 first\r
218 third\r
216 % win.txt
217 first\r (esc)
218 third\r (esc)
219 219 % hg diff -c tip
220 220 diff --git a/native.txt b/native.txt
221 221 --- a/native.txt
@@ -235,9 +235,9 b' Run tests'
235 235 --- a/win.txt
236 236 +++ b/win.txt
237 237 @@ -1,3 +1,2 @@
238 first\r
239 -second\r
240 third\r
238 first\r (esc)
239 -second\r (esc)
240 third\r (esc)
241 241 $ rm -r repo
242 242 $ makerepo CRLF
243 243
@@ -251,26 +251,26 b' Run tests'
251 251
252 252 % hg clone repo repo-LF
253 253 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
254 % printrepr.py native.txt
254 % native.txt
255 255 first
256 256 second
257 257 third
258 % printrepr.py unix.txt
258 % unix.txt
259 259 first
260 260 second
261 261 third
262 % printrepr.py win.txt
263 first\r
264 second\r
265 third\r
262 % win.txt
263 first\r (esc)
264 second\r (esc)
265 third\r (esc)
266 266 % hg diff
267 267 diff --git a/native.txt b/native.txt
268 268 --- a/native.txt
269 269 +++ b/native.txt
270 270 @@ -1,3 +1,2 @@
271 first\r
272 -second\r
273 third\r
271 first\r (esc)
272 -second\r (esc)
273 third\r (esc)
274 274 diff --git a/unix.txt b/unix.txt
275 275 --- a/unix.txt
276 276 +++ b/unix.txt
@@ -282,32 +282,32 b' Run tests'
282 282 --- a/win.txt
283 283 +++ b/win.txt
284 284 @@ -1,3 +1,2 @@
285 first\r
286 -second\r
287 third\r
285 first\r (esc)
286 -second\r (esc)
287 third\r (esc)
288 288 % hg revert
289 289 reverting native.txt
290 290 reverting unix.txt
291 291 reverting win.txt
292 292 % hg import
293 293 applying p
294 % printrepr.py native.txt
294 % native.txt
295 295 first
296 296 third
297 % printrepr.py unix.txt
297 % unix.txt
298 298 first
299 299 third
300 % printrepr.py win.txt
301 first\r
302 third\r
300 % win.txt
301 first\r (esc)
302 third\r (esc)
303 303 % hg diff -c tip
304 304 diff --git a/native.txt b/native.txt
305 305 --- a/native.txt
306 306 +++ b/native.txt
307 307 @@ -1,3 +1,2 @@
308 first\r
309 -second\r
310 third\r
308 first\r (esc)
309 -second\r (esc)
310 third\r (esc)
311 311 diff --git a/unix.txt b/unix.txt
312 312 --- a/unix.txt
313 313 +++ b/unix.txt
@@ -319,33 +319,33 b' Run tests'
319 319 --- a/win.txt
320 320 +++ b/win.txt
321 321 @@ -1,3 +1,2 @@
322 first\r
323 -second\r
324 third\r
322 first\r (esc)
323 -second\r (esc)
324 third\r (esc)
325 325 $ dotest CRLF
326 326
327 327 % hg clone repo repo-CRLF
328 328 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
329 % printrepr.py native.txt
330 first\r
331 second\r
332 third\r
333 % printrepr.py unix.txt
329 % native.txt
330 first\r (esc)
331 second\r (esc)
332 third\r (esc)
333 % unix.txt
334 334 first
335 335 second
336 336 third
337 % printrepr.py win.txt
338 first\r
339 second\r
340 third\r
337 % win.txt
338 first\r (esc)
339 second\r (esc)
340 third\r (esc)
341 341 % hg diff
342 342 diff --git a/native.txt b/native.txt
343 343 --- a/native.txt
344 344 +++ b/native.txt
345 345 @@ -1,3 +1,2 @@
346 first\r
347 -second\r
348 third\r
346 first\r (esc)
347 -second\r (esc)
348 third\r (esc)
349 349 diff --git a/unix.txt b/unix.txt
350 350 --- a/unix.txt
351 351 +++ b/unix.txt
@@ -357,32 +357,32 b' Run tests'
357 357 --- a/win.txt
358 358 +++ b/win.txt
359 359 @@ -1,3 +1,2 @@
360 first\r
361 -second\r
362 third\r
360 first\r (esc)
361 -second\r (esc)
362 third\r (esc)
363 363 % hg revert
364 364 reverting native.txt
365 365 reverting unix.txt
366 366 reverting win.txt
367 367 % hg import
368 368 applying p
369 % printrepr.py native.txt
370 first\r
371 third\r
372 % printrepr.py unix.txt
369 % native.txt
370 first\r (esc)
371 third\r (esc)
372 % unix.txt
373 373 first
374 374 third
375 % printrepr.py win.txt
376 first\r
377 third\r
375 % win.txt
376 first\r (esc)
377 third\r (esc)
378 378 % hg diff -c tip
379 379 diff --git a/native.txt b/native.txt
380 380 --- a/native.txt
381 381 +++ b/native.txt
382 382 @@ -1,3 +1,2 @@
383 first\r
384 -second\r
385 third\r
383 first\r (esc)
384 -second\r (esc)
385 third\r (esc)
386 386 diff --git a/unix.txt b/unix.txt
387 387 --- a/unix.txt
388 388 +++ b/unix.txt
@@ -394,7 +394,7 b' Run tests'
394 394 --- a/win.txt
395 395 +++ b/win.txt
396 396 @@ -1,3 +1,2 @@
397 first\r
398 -second\r
399 third\r
397 first\r (esc)
398 -second\r (esc)
399 third\r (esc)
400 400 $ rm -r repo
@@ -54,23 +54,23 b' Test EOL update'
54 54 >
55 55 > hg update
56 56 >
57 > echo '% printrepr.py a.txt (before)'
58 > python $TESTDIR/printrepr.py < a.txt
57 > echo '% a.txt (before)'
58 > cat a.txt
59 59 >
60 60 > printf "first${EOL}third${EOL}" > a.txt
61 61 >
62 > echo '% printrepr.py a.txt (after)'
63 > python $TESTDIR/printrepr.py < a.txt
62 > echo '% a.txt (after)'
63 > cat a.txt
64 64 > echo '% hg diff'
65 > hg diff | python $TESTDIR/printrepr.py
65 > hg diff
66 66 >
67 67 > echo '% hg update 0'
68 68 > hg update 0
69 69 >
70 > echo '% printrepr.py a.txt'
71 > python $TESTDIR/printrepr.py < a.txt
70 > echo '% a.txt'
71 > cat a.txt
72 72 > echo '% hg diff'
73 > hg diff | python $TESTDIR/printrepr.py
73 > hg diff
74 74 >
75 75 >
76 76 > cd ..
@@ -87,11 +87,11 b' Test EOL update'
87 87
88 88 % hg clone repo repo-LF
89 89 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
90 % printrepr.py a.txt (before)
91 first\r
92 second\r
93 third\r
94 % printrepr.py a.txt (after)
90 % a.txt (before)
91 first\r (esc)
92 second\r (esc)
93 third\r (esc)
94 % a.txt (after)
95 95 first
96 96 third
97 97 % hg diff
@@ -99,13 +99,13 b' Test EOL update'
99 99 --- a/a.txt
100 100 +++ b/a.txt
101 101 @@ -1,3 +1,2 @@
102 first\r
103 -second\r
104 third\r
102 first\r (esc)
103 -second\r (esc)
104 third\r (esc)
105 105 % hg update 0
106 106 merging a.txt
107 107 1 files updated, 1 files merged, 0 files removed, 0 files unresolved
108 % printrepr.py a.txt
108 % a.txt
109 109 first
110 110 third
111 111 % hg diff
@@ -120,25 +120,25 b' Test EOL update'
120 120
121 121 % hg clone repo repo-CRLF
122 122 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
123 % printrepr.py a.txt (before)
124 first\r
125 second\r
126 third\r
127 % printrepr.py a.txt (after)
128 first\r
129 third\r
123 % a.txt (before)
124 first\r (esc)
125 second\r (esc)
126 third\r (esc)
127 % a.txt (after)
128 first\r (esc)
129 third\r (esc)
130 130 % hg diff
131 131 diff --git a/a.txt b/a.txt
132 132 --- a/a.txt
133 133 +++ b/a.txt
134 134 @@ -1,3 +1,2 @@
135 first\r
136 -second\r
137 third\r
135 first\r (esc)
136 -second\r (esc)
137 third\r (esc)
138 138 % hg update 0
139 139 merging a.txt
140 140 1 files updated, 1 files merged, 0 files removed, 0 files unresolved
141 % printrepr.py a.txt
141 % a.txt
142 142 first
143 143 third
144 144 % hg diff
@@ -61,20 +61,20 b' Set up helpers'
61 61 > native = $1
62 62 > EOF
63 63 > hg update
64 > echo '% printrepr.py a.txt'
65 > python $TESTDIR/printrepr.py < a.txt
64 > echo '% a.txt'
65 > cat a.txt
66 66 > echo '% hg cat a.txt'
67 > hg cat a.txt | python $TESTDIR/printrepr.py
67 > hg cat a.txt
68 68 > printf "fourth${EOL}" >> a.txt
69 > echo '% printrepr.py a.txt'
70 > python $TESTDIR/printrepr.py < a.txt
71 > hg diff | python $TESTDIR/printrepr.py
69 > echo '% a.txt'
70 > cat a.txt
71 > hg diff
72 72 > python ../switch-eol.py $1 a.txt
73 73 > echo '% hg diff only reports a single changed line:'
74 > hg diff | python $TESTDIR/printrepr.py
74 > hg diff
75 75 > echo "% reverting back to $1 format"
76 76 > hg revert a.txt
77 > python $TESTDIR/printrepr.py < a.txt
77 > cat a.txt
78 78 > printf "first\r\nsecond\n" > mixed.txt
79 79 > hg add mixed.txt
80 80 > echo "% hg commit of inconsistent .txt file marked as binary (should work)"
@@ -144,7 +144,7 b' Basic tests'
144 144 $ dotest LF
145 145 % hg clone repo repo-LF
146 146 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
147 % printrepr.py a.txt
147 % a.txt
148 148 first
149 149 second
150 150 third
@@ -152,7 +152,7 b' Basic tests'
152 152 first
153 153 second
154 154 third
155 % printrepr.py a.txt
155 % a.txt
156 156 first
157 157 second
158 158 third
@@ -188,19 +188,19 b' Basic tests'
188 188 $ dotest CRLF
189 189 % hg clone repo repo-CRLF
190 190 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
191 % printrepr.py a.txt
192 first\r
193 second\r
194 third\r
191 % a.txt
192 first\r (esc)
193 second\r (esc)
194 third\r (esc)
195 195 % hg cat a.txt
196 196 first
197 197 second
198 198 third
199 % printrepr.py a.txt
200 first\r
201 second\r
202 third\r
203 fourth\r
199 % a.txt
200 first\r (esc)
201 second\r (esc)
202 third\r (esc)
203 fourth\r (esc)
204 204 diff --git a/a.txt b/a.txt
205 205 --- a/a.txt
206 206 +++ b/a.txt
@@ -220,9 +220,9 b' Basic tests'
220 220 third
221 221 +fourth
222 222 % reverting back to CRLF format
223 first\r
224 second\r
225 third\r
223 first\r (esc)
224 second\r (esc)
225 third\r (esc)
226 226 % hg commit of inconsistent .txt file marked as binary (should work)
227 227 % hg commit of inconsistent .txt file marked as native (should fail)
228 228 abort: inconsistent newline style in a.txt
@@ -238,15 +238,15 b' Basic tests'
238 238 $ dotest LF
239 239 % hg clone repo repo-LF
240 240 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
241 % printrepr.py a.txt
241 % a.txt
242 242 first
243 243 second
244 244 third
245 245 % hg cat a.txt
246 first\r
247 second\r
248 third\r
249 % printrepr.py a.txt
246 first\r (esc)
247 second\r (esc)
248 third\r (esc)
249 % a.txt
250 250 first
251 251 second
252 252 third
@@ -255,20 +255,20 b' Basic tests'
255 255 --- a/a.txt
256 256 +++ b/a.txt
257 257 @@ -1,3 +1,4 @@
258 first\r
259 second\r
260 third\r
261 +fourth\r
258 first\r (esc)
259 second\r (esc)
260 third\r (esc)
261 +fourth\r (esc)
262 262 % switching encoding from '\n' to '\r\n'
263 263 % hg diff only reports a single changed line:
264 264 diff --git a/a.txt b/a.txt
265 265 --- a/a.txt
266 266 +++ b/a.txt
267 267 @@ -1,3 +1,4 @@
268 first\r
269 second\r
270 third\r
271 +fourth\r
268 first\r (esc)
269 second\r (esc)
270 third\r (esc)
271 +fourth\r (esc)
272 272 % reverting back to LF format
273 273 first
274 274 second
@@ -282,41 +282,41 b' Basic tests'
282 282 $ dotest CRLF
283 283 % hg clone repo repo-CRLF
284 284 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
285 % printrepr.py a.txt
286 first\r
287 second\r
288 third\r
285 % a.txt
286 first\r (esc)
287 second\r (esc)
288 third\r (esc)
289 289 % hg cat a.txt
290 first\r
291 second\r
292 third\r
293 % printrepr.py a.txt
294 first\r
295 second\r
296 third\r
297 fourth\r
290 first\r (esc)
291 second\r (esc)
292 third\r (esc)
293 % a.txt
294 first\r (esc)
295 second\r (esc)
296 third\r (esc)
297 fourth\r (esc)
298 298 diff --git a/a.txt b/a.txt
299 299 --- a/a.txt
300 300 +++ b/a.txt
301 301 @@ -1,3 +1,4 @@
302 first\r
303 second\r
304 third\r
305 +fourth\r
302 first\r (esc)
303 second\r (esc)
304 third\r (esc)
305 +fourth\r (esc)
306 306 % switching encoding from '\r\n' to '\n'
307 307 % hg diff only reports a single changed line:
308 308 diff --git a/a.txt b/a.txt
309 309 --- a/a.txt
310 310 +++ b/a.txt
311 311 @@ -1,3 +1,4 @@
312 first\r
313 second\r
314 third\r
315 +fourth\r
312 first\r (esc)
313 second\r (esc)
314 third\r (esc)
315 +fourth\r (esc)
316 316 % reverting back to CRLF format
317 first\r
318 second\r
319 third\r
317 first\r (esc)
318 second\r (esc)
319 third\r (esc)
320 320 % hg commit of inconsistent .txt file marked as binary (should work)
321 321 % hg commit of inconsistent .txt file marked as native (should fail)
322 322 abort: inconsistent newline style in a.txt
@@ -9,11 +9,11 b' test issue352'
9 9 $ A=`printf 'he\rllo'`
10 10 $ echo foo > "$A"
11 11 $ hg add
12 adding he
12 adding he\rllo (esc)
13 13 llo
14 14 abort: '\n' and '\r' disallowed in filenames: 'he\rllo'
15 15 [255]
16 $ hg ci -A -m m
16 adding he\rllo (esc)
17 17 adding he
18 18 llo
19 19 abort: '\n' and '\r' disallowed in filenames: 'he\rllo'
@@ -31,7 +31,7 b' test issue352'
31 31 o
32 32 abort: '\n' and '\r' disallowed in filenames: 'hell\no'
33 33 [255]
34 $ echo foo > "$A"
34 f he\rllo he\rllo (esc)
35 35 $ hg debugwalk
36 36 f he
37 37 llo he
@@ -51,7 +51,7 b' test issue2039'
51 51 $ echo "[extensions]" >> $HGRCPATH
52 52 $ echo "color=" >> $HGRCPATH
53 53 $ A=`printf 'foo\nbar'`
54 $ B=`printf 'foo\nbar.baz'`
55 $ touch "$A"
56 $ touch "$B"
57 $ hg status --color=always
54 \x1b[0;35;1;4m? foo\x1b[0m (esc)
55 \x1b[0;35;1;4mbar\x1b[0m (esc)
56 \x1b[0;35;1;4m? foo\x1b[0m (esc)
57 \x1b[0;35;1;4mbar.baz\x1b[0m (esc)
@@ -352,10 +352,10 b' Move text file and patch as binary'
352 352 > EOF
353 353 applying patch from stdin
354 354
355 $ python $TESTDIR/printrepr.py < binary2
355 $ cat binary2
356 356 a
357 357 b
358 \x00
358 \x00 (no-eol) (esc)
359 359
360 360 $ hg st --copies --change .
361 361 A binary2
@@ -33,9 +33,9 b' simple with color'
33 33
34 34 $ hg --config extensions.color= grep --config color.mode=ansi \
35 35 > --color=always port port
36 port:4:export
37 port:4:vaportight
38 port:4:import/export
36 port:4:ex\x1b[0;31;1mport\x1b[0m (esc)
37 port:4:va\x1b[0;31;1mport\x1b[0might (esc)
38 port:4:im\x1b[0;31;1mport\x1b[0m/export (esc)
39 39
40 40 all
41 41
@@ -919,15 +919,13 b' branches'
919 919
920 920 changegroup
921 921
922 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=changegroup&roots=0000000000000000000000000000000000000000' \
923 > | $TESTDIR/printrepr.py
922 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=changegroup&roots=0000000000000000000000000000000000000000'
924 923 200 Script output follows
925 924
926 x\x9c\xbdTMHUA\x14\xbe\xa8\xf9\xec\xda&\x10\x11*\xb8\x88\x81\x99\xbef\xe6\xce\xbdw\xc6\xf2a\x16E\x1b\x11[%\x98\xcc\xaf\x8f\x8c\xf7\xc0\xf7\x82
927 4\x11KP2m\x95\xad*\xabE\x05AP\xd0\xc22Z\x14\xf9\x03\xb9j\xa3\x9b$\xa4MJ\xb4\x90\xc0\x9a\x9bO0\x10\xdf\x13\xa2\x81\x0f\x869g\xe6|\xe7\x9c\xef\x8ceY\xf7\xa2KO\xd2\xb7K\x16~\
928 \xe9\xad\x90w\x86\xab\x93W\x8e\xdf\xb0r\\Y\xee6(\xa2)\xf6\x95\xc6\x01\xe4\x1az\x80R\xe8kN\x98\xe7R\xa4\xa9K@\xe0!A\xb4k\xa7U*m\x03\x07\xd8\x92\x1d\xd2\xc9\xa4\x1d\xc2\xe6,\xa5\xcc+\x1f\xef\xafDgi\xef\xab\x1d\x1d\xb7\x9a\xe7[W\xfbc\x8f\xde-\xcd\xe7\xcaz\xb3\xbb\x19\xd3\x81\x10>c>\x08\x00"X\x11\xc2\x84@\xd2\xe7B*L\x00\x01P\x04R\xc3@\xbaB0\xdb8#\x83:\x83\xa2h\xbc=\xcd\xdaS\xe1Y,L\xd3\xa0\xf2\xa8\x94J:\xe6\xd8\x81Q\xe0\xe8d\xa7#\xe2,\xd1\xaeR*\xed \xa5\x01\x13\x01\xa6\x0cb\xe3;\xbe\xaf\xfcK[^wK\xe1N\xaf\xbbk\xe8B\xd1\xf4\xc1\x07\xb3\xab[\x10\xfdkmvwcB\xa6\xa4\xd4G\xc4D\xc2\x141\xad\x91\x10\x00\x08J\x81\xcb}\xee\t\xee+W\xba\x8a\x80\x90|\xd4\xa0\xd6\xa0\xd4T\xde\xe1\x9d,!\xe2\xb5\xa94\xe3\xe7\xd5\x9f\x06\x18\xcba\x03aP\xb8f\xcd\x04\x1a_\\9\xf1\xed\xe4\x9e\xe5\xa6\xd1\xd2\x9f\x03\xa7o\xae\x90H\xf3\xfb\xef\xffH3\xadk
929 \xb0\x90\x92\x88\xb9\x14"\x068\xc2\x1e@\x00\xbb\x8a)\xd3\'\x859
930 \xa8\x80\x84S \xa5\xbd-g\x13`\xe4\xdc\xc3H^\xdf\xe2\xc0TM\xc7\xf4BO\xcf\xde\xae\xe5\xae#\x1frM(K\x97`F\x19\x16s\x05GD\xb9\x01\xc1\x00+\x8c|\x9fp\xc11\xf0\x14\x00\x9cJ\x82<\xe0\x12\x9f\xc1\x90\xd0\xf5\xc8\x19>Pr\xaa\xeaW\xf5\xc4\xae\xd1\xfc\x17\xcf\'\x13u\xb1\x9e\xcdHnC\x0e\xcc`\xc8\xa0&\xac\x0e\xf1|\x8c\x10$\xc4\x8c\xa2p\x05`\xdc\x08 \x80\xc4\xd7Rr-\x94\x10\x102\xedi;\xf3f\xf1z\x16\x86\xdb\xd8d\xe5\xe7\x8b\xf5\x8d\rzp\xb2\xfe\xac\xf5\xf2\xd3\xfe\xfckws\xedt\x96b\xd5l\x1c\x0b\x85\xb5\x170\x8f\x11\x84\xb0\x8f\x19\xa0\x00\t_\x07\x1ac\xa2\xc3\x89Z\xe7\x96\xf9 \xccNFg\xc7F\xaa\x8a+\x9a\x9cc_\x17\x1b\x17\x9e]z38<\x97+\xb5,",\xc8\xc8?\\\x91\xff\x17.~U\x96\x97\xf5%\xdeN<\x8e\xf5\x97%\xe7^\xcfL\xed~\xda\x96k\xdc->\x86\x02\x83"\x96H\xa6\xe3\xaas=-\xeb7\xe5\xda\x8f\xbc
925 x\x9c\xbdTMHUA\x14\xbe\xa8\xf9\xec\xda&\x10\x11*\xb8\x88\x81\x99\xbef\xe6\xce\xbdw\xc6\xf2a\x16E\x1b\x11[%\x98\xcc\xaf\x8f\x8c\xf7\xc0\xf7\x82 (esc)
926 4\x11KP2m\x95\xad*\xabE\x05AP\xd0\xc22Z\x14\xf9\x03\xb9j\xa3\x9b$\xa4MJ\xb4\x90\xc0\x9a\x9bO0\x10\xdf\x13\xa2\x81\x0f\x869g\xe6|\xe7\x9c\xef\x8ceY\xf7\xa2KO\xd2\xb7K\x16~\\n\xe9\xad\x90w\x86\xab\x93W\x8e\xdf\xb0r\\Y\xee6(\xa2)\xf6\x95\xc6\x01\xe4\x1az\x80R\xe8kN\x98\xe7R\xa4\xa9K@\xe0!A\xb4k\xa7U*m\x03\x07\xd8\x92\x1d\xd2\xc9\xa4\x1d\xc2\xe6,\xa5\xcc+\x1f\xef\xafDgi\xef\xab\x1d\x1d\xb7\x9a\xe7[W\xfbc\x8f\xde-\xcd\xe7\xcaz\xb3\xbb\x19\xd3\x81\x10>c>\x08\x00"X\x11\xc2\x84@\xd2\xe7B*L\x00\x01P\x04R\xc3@\xbaB0\xdb8#\x83:\x83\xa2h\xbc=\xcd\xdaS\xe1Y,L\xd3\xa0\xf2\xa8\x94J:\xe6\xd8\x81Q\xe0\xe8d\xa7#\xe2,\xd1\xaeR*\xed \xa5\x01\x13\x01\xa6\x0cb\xe3;\xbe\xaf\xfcK[^wK\xe1N\xaf\xbbk\xe8B\xd1\xf4\xc1\x07\xb3\xab[\x10\xfdkmvwcB\xa6\xa4\xd4G\xc4D\xc2\x141\xad\x91\x10\x00\x08J\x81\xcb}\xee \xee+W\xba\x8a\x80\x90|\xd4\xa0\xd6\xa0\xd4T\xde\xe1\x9d,!\xe2\xb5\xa94\xe3\xe7\xd5\x9f\x06\x18\xcba\x03aP\xb8f\xcd\x04\x1a_\\9\xf1\xed\xe4\x9e\xe5\xa6\xd1\xd2\x9f\x03\xa7o\xae\x90H\xf3\xfb\xef\xffH3\xadk (esc)
927 \xb0\x90\x92\x88\xb9\x14"\x068\xc2\x1e@\x00\xbb\x8a)\xd3'\x859 (esc)
928 \xa8\x80\x84S \xa5\xbd-g\x13`\xe4\xdc\xc3H^\xdf\xe2\xc0TM\xc7\xf4BO\xcf\xde\xae\xe5\xae#\x1frM(K\x97`F\x19\x16s\x05GD\xb9\x01\xc1\x00+\x8c|\x9fp\xc11\xf0\x14\x00\x9cJ\x82<\xe0\x12\x9f\xc1\x90\xd0\xf5\xc8\x19>Pr\xaa\xeaW\xf5\xc4\xae\xd1\xfc\x17\xcf'\x13u\xb1\x9e\xcdHnC\x0e\xcc`\xc8\xa0&\xac\x0e\xf1|\x8c\x10$\xc4\x8c\xa2p\x05`\xdc\x08 \x80\xc4\xd7Rr-\x94\x10\x102\xedi;\xf3f\xf1z\x16\x86\xdb\xd8d\xe5\xe7\x8b\xf5\x8d\rzp\xb2\xfe\xac\xf5\xf2\xd3\xfe\xfckws\xedt\x96b\xd5l\x1c\x0b\x85\xb5\x170\x8f\x11\x84\xb0\x8f\x19\xa0\x00 _\x07\x1ac\xa2\xc3\x89Z\xe7\x96\xf9 \xccNFg\xc7F\xaa\x8a+\x9a\x9cc_\x17\x1b\x17\x9e]z38<\x97+\xb5,",\xc8\xc8?\\\x91\xff\x17.~U\x96\x97\xf5%\xdeN<\x8e\xf5\x97%\xe7^\xcfL\xed~\xda\x96k\xdc->\x86\x02\x83"\x96H\xa6\xe3\xaas=-\xeb7\xe5\xda\x8f\xbc (no-eol) (esc)
931 929
932 930 stream_out
933 931
@@ -583,19 +583,19 b' errors encountered'
583 583 >
584 584 > echo % hgweb filerevision, html
585 585 > "$TESTDIR/get-with-headers.py" localhost:$HGPORT "/file/tip/$2" \
586 > | grep '<div class="parity0 source">' | $TESTDIR/printrepr.py
586 > | grep '<div class="parity0 source">'
587 587 > echo % errors encountered
588 588 > cat errors.log
589 589 > }
590 590 $ hgserveget euc-jp eucjp.txt
591 591 % HGENCODING=euc-jp hg serve
592 592 % hgweb filerevision, html
593 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> \xb5\xfe</div>
593 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> \xb5\xfe</div> (esc)
594 594 % errors encountered
595 595 $ hgserveget utf-8 eucjp.txt
596 596 % HGENCODING=utf-8 hg serve
597 597 % hgweb filerevision, html
598 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> \xef\xbf\xbd\xef\xbf\xbd</div>
598 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> \xef\xbf\xbd\xef\xbf\xbd</div> (esc)
599 599 % errors encountered
600 600 $ hgserveget us-ascii eucjp.txt
601 601 % HGENCODING=us-ascii hg serve
@@ -5,7 +5,7 b''
5 5 > }
6 6 $ hg init a
7 7 $ hg --encoding utf-8 -R a branch æ
8 marked working directory as branch æ
8 marked working directory as branch \xc3\xa6 (esc)
9 9 $ echo foo > a/foo
10 10 $ hg -R a ci -Am foo
11 11 adding foo
@@ -17,11 +17,11 b''
17 17 adding manifests
18 18 adding file changes
19 19 added 1 changesets with 1 changes to 1 files
20 updating to branch æ
20 updating to branch \xc3\xa6 (esc)
21 21 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
22 22 $ hg --encoding utf-8 -R b log
23 23 changeset: 0:867c11ce77b8
24 branch: æ
24 branch: \xc3\xa6 (esc)
25 25 tag: tip
26 26 user: test
27 27 date: Thu Jan 01 00:00:00 1970 +0000
@@ -38,14 +38,14 b''
38 38 remote: added 1 changesets with 1 changes to 1 files
39 39 $ hg -R a --encoding utf-8 log
40 40 changeset: 1:58e7c90d67cb
41 branch: æ
41 branch: \xc3\xa6 (esc)
42 42 tag: tip
43 43 user: test
44 44 date: Thu Jan 01 00:00:00 1970 +0000
45 45 summary: bar
46 46
47 47 changeset: 0:867c11ce77b8
48 branch: æ
48 branch: \xc3\xa6 (esc)
49 49 user: test
50 50 date: Thu Jan 01 00:00:00 1970 +0000
51 51 summary: foo
@@ -45,8 +45,13 b' force LF'
45 45
46 46 $ hg --traceback --config patch.eol='LF' import eol.diff
47 47 applying eol.diff
48 $ python -c 'print repr(file("a","rb").read())'
49 'a\nyyyy\ncc\n\nd\ne'
48 $ cat a
49 a
50 yyyy
51 cc
52
53 d
54 e (no-eol)
50 55 $ hg st
51 56
52 57
@@ -56,8 +61,13 b' force CRLF'
56 61 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
57 62 $ hg --traceback --config patch.eol='CRLF' import eol.diff
58 63 applying eol.diff
59 $ python -c 'print repr(file("a","rb").read())'
60 'a\r\nyyyy\r\ncc\r\n\r\nd\r\ne'
64 $ cat a
65 a\r (esc)
66 yyyy\r (esc)
67 cc\r (esc)
68 \r (esc)
69 d\r (esc)
70 e (no-eol)
61 71 $ hg st
62 72
63 73
@@ -67,8 +77,13 b' auto EOL on LF file'
67 77 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
68 78 $ hg --traceback --config patch.eol='auto' import eol.diff
69 79 applying eol.diff
70 $ python -c 'print repr(file("a","rb").read())'
71 'a\nyyyy\ncc\n\nd\ne'
80 $ cat a
81 a
82 yyyy
83 cc
84
85 d
86 e (no-eol)
72 87 $ hg st
73 88
74 89
@@ -78,8 +93,13 b' auto EOL on CRLF file'
78 93 $ hg commit -m 'switch EOLs in a'
79 94 $ hg --traceback --config patch.eol='auto' import eol.diff
80 95 applying eol.diff
81 $ python -c 'print repr(file("a","rb").read())'
82 'a\r\nyyyy\r\ncc\r\n\r\nd\r\ne'
96 $ cat a
97 a\r (esc)
98 yyyy\r (esc)
99 cc\r (esc)
100 \r (esc)
101 d\r (esc)
102 e (no-eol)
83 103 $ hg st
84 104
85 105
@@ -96,10 +116,12 b' auto EOL on new file or source without a'
96 116 $ rm neweol
97 117 $ hg --traceback --config patch.eol='auto' import -m noeol noeol.diff
98 118 applying noeol.diff
99 $ python -c 'print repr(file("noeol","rb").read())'
100 'noeol\r\nnoeol\n'
101 $ python -c 'print repr(file("neweol","rb").read())'
102 'neweol\nneweol\r\n'
119 $ cat noeol
120 noeol\r (esc)
121 noeol
122 $ cat neweol
123 neweol
124 neweol\r (esc)
103 125 $ hg st
104 126
105 127
@@ -116,7 +138,9 b' binary patch with --eol'
116 138
117 139 $ hg import --config patch.eol='CRLF' -m changeb bin.diff
118 140 applying bin.diff
119 $ python -c 'print repr(file("b","rb").read())'
120 'a\x00\nc\r\nd'
141 $ cat b
142 a\x00 (esc)
143 c\r (esc)
144 d (no-eol)
121 145 $ hg st
122 146 $ cd ..
@@ -523,31 +523,31 b' log -p -l2 --color=always'
523 523
524 524 $ hg --config extensions.color= --config color.mode=ansi \
525 525 > log -p -l2 --color=always
526 changeset: 6:2404bbcab562
526 \x1b[0;33mchangeset: 6:2404bbcab562\x1b[0m (esc)
527 527 tag: tip
528 528 user: test
529 529 date: Thu Jan 01 00:00:01 1970 +0000
530 530 summary: b1.1
531 531
532 diff -r 302e9dd6890d -r 2404bbcab562 b1
533 --- a/b1 Thu Jan 01 00:00:01 1970 +0000
534 +++ b/b1 Thu Jan 01 00:00:01 1970 +0000
535 @@ -1,1 +1,2 @@
532 \x1b[0;1mdiff -r 302e9dd6890d -r 2404bbcab562 b1\x1b[0m (esc)
533 \x1b[0;31;1m--- a/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
534 \x1b[0;32;1m+++ b/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
535 \x1b[0;35m@@ -1,1 +1,2 @@\x1b[0m (esc)
536 536 b1
537 +postm
537 \x1b[0;32m+postm\x1b[0m (esc)
538 538
539 changeset: 5:302e9dd6890d
539 \x1b[0;33mchangeset: 5:302e9dd6890d\x1b[0m (esc)
540 540 parent: 3:e62f78d544b4
541 541 parent: 4:ddb82e70d1a1
542 542 user: test
543 543 date: Thu Jan 01 00:00:01 1970 +0000
544 544 summary: m12
545 545
546 diff -r e62f78d544b4 -r 302e9dd6890d b2
547 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
548 +++ b/b2 Thu Jan 01 00:00:01 1970 +0000
549 @@ -0,0 +1,1 @@
550 +b2
546 \x1b[0;1mdiff -r e62f78d544b4 -r 302e9dd6890d b2\x1b[0m (esc)
547 \x1b[0;31;1m--- /dev/null Thu Jan 01 00:00:00 1970 +0000\x1b[0m (esc)
548 \x1b[0;32;1m+++ b/b2 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
549 \x1b[0;35m@@ -0,0 +1,1 @@\x1b[0m (esc)
550 \x1b[0;32m+b2\x1b[0m (esc)
551 551
552 552
553 553
@@ -218,9 +218,9 b' list patches and guards with color'
218 218
219 219 $ hg --config extensions.color= qguard --config color.mode=ansi \
220 220 > -l --color=always
221 a.patch: +1 +2 -3
222 b.patch: +2
223 c.patch: unguarded
221 \x1b[0;30;1ma.patch\x1b[0m: \x1b[0;33m+1\x1b[0m \x1b[0;33m+2\x1b[0m \x1b[0;31m-3\x1b[0m (esc)
222 \x1b[0;34;1;4mb.patch\x1b[0m: \x1b[0;33m+2\x1b[0m (esc)
223 \x1b[0;30;1mc.patch\x1b[0m: \x1b[0;32munguarded\x1b[0m (esc)
224 224
225 225 should pop b.patch
226 226
@@ -310,10 +310,10 b' and d.patch as Unapplied'
310 310 qseries again, but with color
311 311
312 312 $ hg --config extensions.color= qseries -v --color=always
313 0 G new.patch
314 1 G b.patch
315 2 A c.patch
316 3 U d.patch
313 0 G \x1b[0;30;1mnew.patch\x1b[0m (esc)
314 1 G \x1b[0;30;1mb.patch\x1b[0m (esc)
315 2 A \x1b[0;34;1;4mc.patch\x1b[0m (esc)
316 3 U \x1b[0;30;1md.patch\x1b[0m (esc)
317 317
318 318 $ hg qguard d.patch +2
319 319
@@ -433,4 +433,4 b' the guards file was not ignored in the p'
433 433 hg qseries -m with color
434 434
435 435 $ hg --config extensions.color= qseries -m --color=always
436 b.patch
436 \x1b[0;31;1mb.patch\x1b[0m (esc)
@@ -41,7 +41,7 b' test qpush on empty series'
41 41 transaction abort!
42 42 rollback completed
43 43 cleaning up working directory...done
44 abort: decoding near '': 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)!
44 abort: decoding near '\xe9': 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)! (esc)
45 45 [255]
46 46 $ hg parents
47 47 changeset: 0:bbd179dfa0a7
@@ -178,11 +178,11 b' add an untracked file'
178 178 status --mq with color (issue2096)
179 179
180 180 $ hg status --mq --config extensions.color= --color=always
181 A .hgignore
182 A A
183 A B
184 A series
185 ? flaf
181 \x1b[0;32;1mA .hgignore\x1b[0m (esc)
182 \x1b[0;32;1mA A\x1b[0m (esc)
183 \x1b[0;32;1mA B\x1b[0m (esc)
184 \x1b[0;32;1mA series\x1b[0m (esc)
185 \x1b[0;35;1;4m? flaf\x1b[0m (esc)
186 186
187 187 try the --mq option on a command provided by an extension
188 188
@@ -148,7 +148,7 b''
148 148 $ hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip \
149 149 > --config extensions.progress= --config progress.assume-tty=1 \
150 150 > --config progress.delay=0 --config progress.refresh=0
151 \rwriting [ ] 0/3\rwriting [ ] 0/3\r \r\r \r\rwriting [====================> ] 1/3\rwriting [====================> ] 1/3\r \r\r \r\rwriting [==========================================> ] 2/3\rwriting [==========================================> ] 2/3\r \rThis patch series consists of 2 patches.
151 \rwriting [ ] 0/3\rwriting [ ] 0/3\r \r\r \r\rwriting [====================> ] 1/3\rwriting [====================> ] 1/3\r \r\r \r\rwriting [==========================================> ] 2/3\rwriting [==========================================> ] 2/3\r \rThis patch series consists of 2 patches. (esc)
152 152
153 153
154 154 Write the introductory message for the patch series.
@@ -1925,7 +1925,7 b' test outgoing:'
1925 1925 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1926 1926 +++ b/utf Thu Jan 01 00:00:04 1970 +0000
1927 1927 @@ -0,0 +1,1 @@
1928 +hömma!
1928 +h\xc3\xb6mma! (esc)
1929 1929
1930 1930 Displaying [PATCH 3 of 8] charset=utf-8; content-transfer-encoding: quoted-printable ...
1931 1931 Content-Type: text/plain; charset="us-ascii"
@@ -1996,7 +1996,7 b' test outgoing:'
1996 1996 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1997 1997 +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000
1998 1998 @@ -0,0 +1,1 @@
1999 +hmma!
1999 +h\xf6mma! (esc)
2000 2000
2001 2001 Displaying [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a ...
2002 2002 Content-Type: text/plain; charset="us-ascii"
@@ -51,7 +51,7 b' test with delay=0, refresh=0'
51 51 loop [ ] 0/3
52 52 loop [=====================> ] 1/3
53 53 loop [============================================> ] 2/3
54
54 \r (esc)
55 55
56 56 test refresh is taken in account
57 57
@@ -64,7 +64,7 b' test format options 1'
64 64
65 65 0/2 loop lo
66 66 1/2 loop lo
67
67 \r (esc)
68 68
69 69 test format options 2
70 70
@@ -72,7 +72,7 b' test format options 2'
72 72
73 73 0/2 p.0 [ ]
74 74 1/2 p.1 [=================================> ]
75
75 \r (esc)
76 76
77 77 test format options and indeterminate progress
78 78
@@ -80,7 +80,7 b' test format options and indeterminate pr'
80 80
81 81 0 loop.0 [ <=> ]
82 82 1 loop.1 [ <=> ]
83
83 \r (esc)
84 84
85 85 make sure things don't fall over if count > total
86 86
@@ -92,7 +92,7 b" make sure things don't fall over if coun"
92 92 loop [==================================================> ] 3/4
93 93 loop [===================================================================>] 4/4
94 94 loop [ <=> ] 5/4
95
95 \r (esc)
96 96
97 97 test immediate progress completion
98 98
@@ -302,5 +302,3 b" After qrecord b.patch 'tip'"
302 302 After qrecord b.patch 'diff'
303 303
304 304 $ hg diff --nodates
305
306 End No newline at end of file
@@ -66,7 +66,7 b''
66 66 $ hg co 4
67 67 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
68 68 $ hg branch é
69 marked working directory as branch é
69 marked working directory as branch \xc3\xa9 (esc)
70 70 $ hg ci -Aqm9
71 71
72 72 $ hg tag -r6 1.0
@@ -2,6 +2,8 b' Simple commands:'
2 2
3 3 $ echo foo
4 4 foo
5 $ printf 'oh no'
6 oh no (no-eol)
5 7 $ printf 'bar\nbaz\n' | cat
6 8 bar
7 9 baz
@@ -104,9 +104,9 b' binary file'
104 104
105 105 binary file --text
106 106
107 $ python simplemerge -a -p binary-local base other 2>&1 | $TESTDIR/printrepr.py
107 $ python simplemerge -a -p binary-local base other 2>&1
108 108 warning: binary-local looks like a binary file.
109 \x00local
109 \x00local (esc)
110 110 base
111 111 other
112 112
@@ -11,100 +11,100 b''
11 11 hg status in repo root:
12 12
13 13 $ hg status --color=always
14 ? a/1/in_a_1
15 ? a/in_a
16 ? b/1/in_b_1
17 ? b/2/in_b_2
18 ? b/in_b
19 ? in_root
14 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
15 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
16 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
17 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
18 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
19 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
20 20
21 21 hg status . in repo root:
22 22
23 23 $ hg status --color=always .
24 ? a/1/in_a_1
25 ? a/in_a
26 ? b/1/in_b_1
27 ? b/2/in_b_2
28 ? b/in_b
29 ? in_root
24 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
25 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
26 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
27 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
28 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
29 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
30 30
31 31 $ hg status --color=always --cwd a
32 ? a/1/in_a_1
33 ? a/in_a
34 ? b/1/in_b_1
35 ? b/2/in_b_2
36 ? b/in_b
37 ? in_root
32 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
33 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
34 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
35 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
36 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
37 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
38 38 $ hg status --color=always --cwd a .
39 ? 1/in_a_1
40 ? in_a
39 \x1b[0;35;1;4m? 1/in_a_1\x1b[0m (esc)
40 \x1b[0;35;1;4m? in_a\x1b[0m (esc)
41 41 $ hg status --color=always --cwd a ..
42 ? 1/in_a_1
43 ? in_a
44 ? ../b/1/in_b_1
45 ? ../b/2/in_b_2
46 ? ../b/in_b
47 ? ../in_root
42 \x1b[0;35;1;4m? 1/in_a_1\x1b[0m (esc)
43 \x1b[0;35;1;4m? in_a\x1b[0m (esc)
44 \x1b[0;35;1;4m? ../b/1/in_b_1\x1b[0m (esc)
45 \x1b[0;35;1;4m? ../b/2/in_b_2\x1b[0m (esc)
46 \x1b[0;35;1;4m? ../b/in_b\x1b[0m (esc)
47 \x1b[0;35;1;4m? ../in_root\x1b[0m (esc)
48 48
49 49 $ hg status --color=always --cwd b
50 ? a/1/in_a_1
51 ? a/in_a
52 ? b/1/in_b_1
53 ? b/2/in_b_2
54 ? b/in_b
55 ? in_root
50 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
51 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
52 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
53 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
54 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
55 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
56 56 $ hg status --color=always --cwd b .
57 ? 1/in_b_1
58 ? 2/in_b_2
59 ? in_b
57 \x1b[0;35;1;4m? 1/in_b_1\x1b[0m (esc)
58 \x1b[0;35;1;4m? 2/in_b_2\x1b[0m (esc)
59 \x1b[0;35;1;4m? in_b\x1b[0m (esc)
60 60 $ hg status --color=always --cwd b ..
61 ? ../a/1/in_a_1
62 ? ../a/in_a
63 ? 1/in_b_1
64 ? 2/in_b_2
65 ? in_b
66 ? ../in_root
61 \x1b[0;35;1;4m? ../a/1/in_a_1\x1b[0m (esc)
62 \x1b[0;35;1;4m? ../a/in_a\x1b[0m (esc)
63 \x1b[0;35;1;4m? 1/in_b_1\x1b[0m (esc)
64 \x1b[0;35;1;4m? 2/in_b_2\x1b[0m (esc)
65 \x1b[0;35;1;4m? in_b\x1b[0m (esc)
66 \x1b[0;35;1;4m? ../in_root\x1b[0m (esc)
67 67
68 68 $ hg status --color=always --cwd a/1
69 ? a/1/in_a_1
70 ? a/in_a
71 ? b/1/in_b_1
72 ? b/2/in_b_2
73 ? b/in_b
74 ? in_root
69 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
70 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
71 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
72 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
73 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
74 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
75 75 $ hg status --color=always --cwd a/1 .
76 ? in_a_1
76 \x1b[0;35;1;4m? in_a_1\x1b[0m (esc)
77 77 $ hg status --color=always --cwd a/1 ..
78 ? in_a_1
79 ? ../in_a
78 \x1b[0;35;1;4m? in_a_1\x1b[0m (esc)
79 \x1b[0;35;1;4m? ../in_a\x1b[0m (esc)
80 80
81 81 $ hg status --color=always --cwd b/1
82 ? a/1/in_a_1
83 ? a/in_a
84 ? b/1/in_b_1
85 ? b/2/in_b_2
86 ? b/in_b
87 ? in_root
82 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
83 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
84 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
85 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
86 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
87 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
88 88 $ hg status --color=always --cwd b/1 .
89 ? in_b_1
89 \x1b[0;35;1;4m? in_b_1\x1b[0m (esc)
90 90 $ hg status --color=always --cwd b/1 ..
91 ? in_b_1
92 ? ../2/in_b_2
93 ? ../in_b
91 \x1b[0;35;1;4m? in_b_1\x1b[0m (esc)
92 \x1b[0;35;1;4m? ../2/in_b_2\x1b[0m (esc)
93 \x1b[0;35;1;4m? ../in_b\x1b[0m (esc)
94 94
95 95 $ hg status --color=always --cwd b/2
96 ? a/1/in_a_1
97 ? a/in_a
98 ? b/1/in_b_1
99 ? b/2/in_b_2
100 ? b/in_b
101 ? in_root
96 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
97 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
98 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
99 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
100 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
101 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
102 102 $ hg status --color=always --cwd b/2 .
103 ? in_b_2
103 \x1b[0;35;1;4m? in_b_2\x1b[0m (esc)
104 104 $ hg status --color=always --cwd b/2 ..
105 ? ../1/in_b_1
106 ? in_b_2
107 ? ../in_b
105 \x1b[0;35;1;4m? ../1/in_b_1\x1b[0m (esc)
106 \x1b[0;35;1;4m? in_b_2\x1b[0m (esc)
107 \x1b[0;35;1;4m? ../in_b\x1b[0m (esc)
108 108 $ cd ..
109 109
110 110 $ hg init repo2
@@ -124,44 +124,44 b' hg status . in repo root:'
124 124 hg status:
125 125
126 126 $ hg status --color=always
127 A added
128 R removed
129 ! deleted
130 ? unknown
127 \x1b[0;32;1mA added\x1b[0m (esc)
128 \x1b[0;31;1mR removed\x1b[0m (esc)
129 \x1b[0;36;1;4m! deleted\x1b[0m (esc)
130 \x1b[0;35;1;4m? unknown\x1b[0m (esc)
131 131
132 132 hg status modified added removed deleted unknown never-existed ignored:
133 133
134 134 $ hg status --color=always modified added removed deleted unknown never-existed ignored
135 135 never-existed: No such file or directory
136 A added
137 R removed
138 ! deleted
139 ? unknown
136 \x1b[0;32;1mA added\x1b[0m (esc)
137 \x1b[0;31;1mR removed\x1b[0m (esc)
138 \x1b[0;36;1;4m! deleted\x1b[0m (esc)
139 \x1b[0;35;1;4m? unknown\x1b[0m (esc)
140 140
141 141 $ hg copy modified copied
142 142
143 143 hg status -C:
144 144
145 145 $ hg status --color=always -C
146 A added
147 A copied
148  modified
149 R removed
150 ! deleted
151 ? unknown
146 \x1b[0;32;1mA added\x1b[0m (esc)
147 \x1b[0;32;1mA copied\x1b[0m (esc)
148 \x1b[0;0m modified\x1b[0m (esc)
149 \x1b[0;31;1mR removed\x1b[0m (esc)
150 \x1b[0;36;1;4m! deleted\x1b[0m (esc)
151 \x1b[0;35;1;4m? unknown\x1b[0m (esc)
152 152
153 153 hg status -A:
154 154
155 155 $ hg status --color=always -A
156 A added
157 A copied
158  modified
159 R removed
160 ! deleted
161 ? unknown
162 I ignored
163 C .hgignore
164 C modified
156 \x1b[0;32;1mA added\x1b[0m (esc)
157 \x1b[0;32;1mA copied\x1b[0m (esc)
158 \x1b[0;0m modified\x1b[0m (esc)
159 \x1b[0;31;1mR removed\x1b[0m (esc)
160 \x1b[0;36;1;4m! deleted\x1b[0m (esc)
161 \x1b[0;35;1;4m? unknown\x1b[0m (esc)
162 \x1b[0;30;1mI ignored\x1b[0m (esc)
163 \x1b[0;0mC .hgignore\x1b[0m (esc)
164 \x1b[0;0mC modified\x1b[0m (esc)
165 165
166 166
167 167 $ echo "^ignoreddir$" > .hgignore
@@ -175,7 +175,7 b' hg status ignoreddir/file:'
175 175 hg status -i ignoreddir/file:
176 176
177 177 $ hg status --color=always -i ignoreddir/file
178 I ignoreddir/file
178 \x1b[0;30;1mI ignoreddir/file\x1b[0m (esc)
179 179 $ cd ..
180 180
181 181 check 'status -q' and some combinations
@@ -201,11 +201,11 b' test unknown color'
201 201 $ hg --config color.status.modified=periwinkle status --color=always
202 202 ignoring unknown color/effect 'periwinkle' (configured in color.status.modified)
203 203 M modified
204 A added
205 A copied
206 R removed
207 ! deleted
208 ? unknown
204 \x1b[0;32;1mA added\x1b[0m (esc)
205 \x1b[0;32;1mA copied\x1b[0m (esc)
206 \x1b[0;31;1mR removed\x1b[0m (esc)
207 \x1b[0;36;1;4m! deleted\x1b[0m (esc)
208 \x1b[0;35;1;4m? unknown\x1b[0m (esc)
209 209
210 210 Run status with 2 different flags.
211 211 Check if result is the same or different.
@@ -275,5 +275,5 b" test 'resolve -l'"
275 275 hg resolve with one unresolved, one resolved:
276 276
277 277 $ hg resolve --color=always -l
278 U a
279 R b
278 \x1b[0;31;1mU a\x1b[0m (esc)
279 \x1b[0;32;1mR b\x1b[0m (esc)
@@ -357,6 +357,7 b' test with a win32ext like setup (differi'
357 357 $ hg transplant -s ../twin1 tip
358 358 applying 2e849d776c17
359 359 2e849d776c17 transplanted to 589cea8ba85b
360 $ python -c "print repr(file('b', 'rb').read())"
361 'a\r\nb\r\n'
360 $ cat b
361 a\r (esc)
362 b\r (esc)
362 363 $ cd ..
1 NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now