##// END OF EJS Templates
merge with crew
Matt Mackall -
r12953:f3183932 merge stable
parent child Browse files
Show More
@@ -32,7 +32,7 b' def revisions(repo, start, stop):'
32 cur = start
32 cur = start
33 while cur >= stop:
33 while cur >= stop:
34 ctx = repo[cur]
34 ctx = repo[cur]
35 parents = [p.rev() for p in ctx.parents() if p.rev() != nullrev]
35 parents = set([p.rev() for p in ctx.parents() if p.rev() != nullrev])
36 yield (cur, CHANGESET, ctx, sorted(parents))
36 yield (cur, CHANGESET, ctx, sorted(parents))
37 cur -= 1
37 cur -= 1
38
38
@@ -47,7 +47,7 b' def filerevs(repo, path, start, stop, li'
47 count = 0
47 count = 0
48 while filerev >= 0 and rev > stop:
48 while filerev >= 0 and rev > stop:
49 fctx = repo.filectx(path, fileid=filerev)
49 fctx = repo.filectx(path, fileid=filerev)
50 parents = [f.linkrev() for f in fctx.parents() if f.path() == path]
50 parents = set([f.linkrev() for f in fctx.parents() if f.path() == path])
51 rev = fctx.rev()
51 rev = fctx.rev()
52 if rev <= start:
52 if rev <= start:
53 yield (rev, CHANGESET, fctx.changectx(), sorted(parents))
53 yield (rev, CHANGESET, fctx.changectx(), sorted(parents))
@@ -65,7 +65,7 b' def nodes(repo, nodes):'
65 include = set(nodes)
65 include = set(nodes)
66 for node in nodes:
66 for node in nodes:
67 ctx = repo[node]
67 ctx = repo[node]
68 parents = [p.rev() for p in ctx.parents() if p.node() in include]
68 parents = set([p.rev() for p in ctx.parents() if p.node() in include])
69 yield (ctx.rev(), CHANGESET, ctx, sorted(parents))
69 yield (ctx.rev(), CHANGESET, ctx, sorted(parents))
70
70
71 def colored(dag):
71 def colored(dag):
@@ -607,8 +607,14 b' class revlog(object):'
607 some rev in revs, i.e., each revision is *not* considered a
607 some rev in revs, i.e., each revision is *not* considered a
608 descendant of itself. Results are ordered by revision number (a
608 descendant of itself. Results are ordered by revision number (a
609 topological sort)."""
609 topological sort)."""
610 first = min(revs)
611 if first == nullrev:
612 for i in self:
613 yield i
614 return
615
610 seen = set(revs)
616 seen = set(revs)
611 for i in xrange(min(revs) + 1, len(self)):
617 for i in xrange(first + 1, len(self)):
612 for x in self.parentrevs(i):
618 for x in self.parentrevs(i):
613 if x != nullrev and x in seen:
619 if x != nullrev and x in seen:
614 seen.add(i)
620 seen.add(i)
@@ -869,6 +875,8 b' class revlog(object):'
869 return c
875 return c
870
876
871 def descendant(self, start, end):
877 def descendant(self, start, end):
878 if start == nullrev:
879 return True
872 for i in self.descendants(start):
880 for i in self.descendants(start):
873 if i == end:
881 if i == end:
874 return True
882 return True
@@ -454,6 +454,15 b' def shtest(test, options, replacements):'
454 vlog("# Running", cmd)
454 vlog("# Running", cmd)
455 return run(cmd, options, replacements)
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 def tsttest(test, options, replacements):
466 def tsttest(test, options, replacements):
458 t = open(test)
467 t = open(test)
459 out = []
468 out = []
@@ -464,6 +473,8 b' def tsttest(test, options, replacements)'
464 after = {}
473 after = {}
465 expected = {}
474 expected = {}
466 for n, l in enumerate(t):
475 for n, l in enumerate(t):
476 if not l.endswith('\n'):
477 l += '\n'
467 if l.startswith(' $ '): # commands
478 if l.startswith(' $ '): # commands
468 after.setdefault(pos, []).append(l)
479 after.setdefault(pos, []).append(l)
469 prepos = pos
480 prepos = pos
@@ -480,8 +491,6 b' def tsttest(test, options, replacements)'
480 # non-command/result - queue up for merged output
491 # non-command/result - queue up for merged output
481 after.setdefault(pos, []).append(l)
492 after.setdefault(pos, []).append(l)
482
493
483 if script and not script[-1].endswith('\n'):
484 script[-1] = script[-1] + '\n'
485 script.append('echo %s %s $?\n' % (salt, n + 1))
494 script.append('echo %s %s $?\n' % (salt, n + 1))
486
495
487 fd, name = tempfile.mkstemp(suffix='hg-tst')
496 fd, name = tempfile.mkstemp(suffix='hg-tst')
@@ -531,29 +540,38 b' def tsttest(test, options, replacements)'
531 postout = []
540 postout = []
532 ret = 0
541 ret = 0
533 for n, l in enumerate(output):
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 # add on last return code
568 # add on last return code
536 ret = int(l.split()[2])
569 ret = int(lcmd.split()[1])
537 if ret != 0:
570 if ret != 0:
538 postout.append(" [%s]\n" % ret)
571 postout.append(" [%s]\n" % ret)
539 if pos in after:
572 if pos in after:
540 postout += after.pop(pos)
573 postout += after.pop(pos)
541 pos = int(l.split()[1])
574 pos = int(lcmd.split()[0])
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
557
575
558 if pos in after:
576 if pos in after:
559 postout += after.pop(pos)
577 postout += after.pop(pos)
@@ -24,7 +24,7 b' list bookmarks with color'
24
24
25 $ hg --config extensions.color= --config color.mode=ansi \
25 $ hg --config extensions.color= --config color.mode=ansi \
26 > bookmark --color=always
26 > bookmark --color=always
27  * X -1:000000000000
27 \x1b[0;32m * X -1:000000000000\x1b[0m (esc)
28
28
29 update to bookmark X
29 update to bookmark X
30
30
@@ -21,7 +21,7 b' list bookmarks with color'
21
21
22 $ hg --config extensions.color= --config color.mode=ansi \
22 $ hg --config extensions.color= --config color.mode=ansi \
23 > bookmarks --color=always
23 > bookmarks --color=always
24  * X -1:000000000000
24 \x1b[0;32m * X -1:000000000000\x1b[0m (esc)
25
25
26 $ echo a > a
26 $ echo a > a
27 $ hg add a
27 $ hg add a
@@ -34,13 +34,13 b' test branch selection options'
34 $ hg up 0
34 $ hg up 0
35 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
35 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
36 $ hg --encoding utf-8 branch æ
36 $ hg --encoding utf-8 branch æ
37 marked working directory as branch æ
37 marked working directory as branch \xc3\xa6 (esc)
38 $ echo ae1 > foo
38 $ echo ae1 > foo
39 $ hg ci -d '0 0' -mae1
39 $ hg ci -d '0 0' -mae1
40 $ hg up 0
40 $ hg up 0
41 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
41 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
42 $ hg --encoding utf-8 branch -f æ
42 $ hg --encoding utf-8 branch -f æ
43 marked working directory as branch æ
43 marked working directory as branch \xc3\xa6 (esc)
44 $ echo ae2 > foo
44 $ echo ae2 > foo
45 $ hg ci -d '0 0' -mae2
45 $ hg ci -d '0 0' -mae2
46 created new head
46 created new head
@@ -357,19 +357,19 b' default branch colors:'
357 $ hg up -C b
357 $ hg up -C b
358 2 files updated, 0 files merged, 3 files removed, 0 files unresolved
358 2 files updated, 0 files merged, 3 files removed, 0 files unresolved
359 $ hg branches --color=always
359 $ hg branches --color=always
360 b  13:6ac12926b8c3
360 \x1b[0;32mb\x1b[0m \x1b[0;33m 13:6ac12926b8c3\x1b[0m (esc)
361 a branch name much longer than the default justification used by branches 7:10ff5895aa57
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 a  5:d8cbc61dbaa6 (inactive)
362 \x1b[0;0ma\x1b[0m \x1b[0;33m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
363 default  0:19709c5a4e75 (inactive)
363 \x1b[0;0mdefault\x1b[0m \x1b[0;33m 0:19709c5a4e75\x1b[0m (inactive) (esc)
364
364
365 default closed branch color:
365 default closed branch color:
366
366
367 $ hg branches --color=always --closed
367 $ hg branches --color=always --closed
368 b  13:6ac12926b8c3
368 \x1b[0;32mb\x1b[0m \x1b[0;33m 13:6ac12926b8c3\x1b[0m (esc)
369 a branch name much longer than the default justification used by branches 7:10ff5895aa57
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 c  14:717d2e6fabe1 (closed)
370 \x1b[0;30;1mc\x1b[0m \x1b[0;33m 14:717d2e6fabe1\x1b[0m (closed) (esc)
371 a  5:d8cbc61dbaa6 (inactive)
371 \x1b[0;0ma\x1b[0m \x1b[0;33m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
372 default  0:19709c5a4e75 (inactive)
372 \x1b[0;0mdefault\x1b[0m \x1b[0;33m 0:19709c5a4e75\x1b[0m (inactive) (esc)
373
373
374 $ echo "[extensions]" >> $HGRCPATH
374 $ echo "[extensions]" >> $HGRCPATH
375 $ echo "color =" >> $HGRCPATH
375 $ echo "color =" >> $HGRCPATH
@@ -383,16 +383,16 b' default closed branch color:'
383 custom branch colors:
383 custom branch colors:
384
384
385 $ hg branches --color=always
385 $ hg branches --color=always
386 b  13:6ac12926b8c3
386 \x1b[0;31mb\x1b[0m \x1b[0;36m 13:6ac12926b8c3\x1b[0m (esc)
387 a branch name much longer than the default justification used by branches 7:10ff5895aa57
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 a  5:d8cbc61dbaa6 (inactive)
388 \x1b[0;35ma\x1b[0m \x1b[0;36m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
389 default  0:19709c5a4e75 (inactive)
389 \x1b[0;35mdefault\x1b[0m \x1b[0;36m 0:19709c5a4e75\x1b[0m (inactive) (esc)
390
390
391 custom closed branch color:
391 custom closed branch color:
392
392
393 $ hg branches --color=always --closed
393 $ hg branches --color=always --closed
394 b  13:6ac12926b8c3
394 \x1b[0;31mb\x1b[0m \x1b[0;36m 13:6ac12926b8c3\x1b[0m (esc)
395 a branch name much longer than the default justification used by branches 7:10ff5895aa57
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 c  14:717d2e6fabe1 (closed)
396 \x1b[0;34mc\x1b[0m \x1b[0;36m 14:717d2e6fabe1\x1b[0m (closed) (esc)
397 a  5:d8cbc61dbaa6 (inactive)
397 \x1b[0;35ma\x1b[0m \x1b[0;36m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
398 default  0:19709c5a4e75 (inactive)
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 $ hg --config extensions.color= churn --config color.mode=ansi \
103 $ hg --config extensions.color= churn --config color.mode=ansi \
104 > --diffstat --color=always
104 > --diffstat --color=always
105 user1 +3/-1 +++++++++++++++++++++++++++++++++++++++++--------------
105 user1 +3/-1 \x1b[0;32m+++++++++++++++++++++++++++++++++++++++++\x1b[0m\x1b[0;31m--------------\x1b[0m (esc)
106 user3 +3/-0 +++++++++++++++++++++++++++++++++++++++++
106 user3 +3/-0 \x1b[0;32m+++++++++++++++++++++++++++++++++++++++++\x1b[0m (esc)
107 user2 +2/-0 +++++++++++++++++++++++++++
107 user2 +2/-0 \x1b[0;32m+++++++++++++++++++++++++++\x1b[0m (esc)
108
108
109
109
110 changeset number churn
110 changeset number churn
@@ -82,7 +82,7 b' test utf-8 commit message and author'
82 darcs is encoding agnostic, so it takes whatever bytes it's given
82 darcs is encoding agnostic, so it takes whatever bytes it's given
83
83
84 $ darcs record -a -l -m 'p4: desc ñ' -A 'author ñ'
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 Test latin-1 commit message
87 Test latin-1 commit message
88
88
@@ -90,7 +90,7 b' Test latin-1 commit message'
90 $ printf "p5: desc " > ../p5
90 $ printf "p5: desc " > ../p5
91 $ python -c 'print "".join([chr(i) for i in range(128, 256)])' >> ../p5
91 $ python -c 'print "".join([chr(i) for i in range(128, 256)])' >> ../p5
92 $ darcs record -a -l --logfile ../p5
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 $ glog()
95 $ glog()
96 > {
96 > {
@@ -117,11 +117,11 b' Unfortunately, non-conflicting changes, '
117 "c" file in p1.1 patch are reverted too.
117 "c" file in p1.1 patch are reverted too.
118 Just to say that manifest not listing "c" here is a bug.
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
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
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
123 $ HGENCODING=utf-8 glog -R darcs-repo-hg -r 0:5
124 o 5 "p4: desc \xc3\xb1" (author \xc3\xb1) files: g
124 o 5 "p4: desc \xc3\xb1" (author \xc3\xb1) files: g (esc)
125 |
125 |
126 o 4 "p3" (test@example.org) files: dir/d dir/d2 dir2/d f ff
126 o 4 "p3" (test@example.org) files: dir/d dir/d2 dir2/d f ff
127 |
127 |
@@ -39,13 +39,32 b''
39
39
40 Convert from null revision
40 Convert from null revision
41
41
42 $ hg convert --config convert.hg.startrev=null source empty
42 $ hg convert --config convert.hg.startrev=null source full
43 initializing destination empty repository
43 initializing destination full repository
44 scanning source...
44 scanning source...
45 sorting...
45 sorting...
46 converting...
46 converting...
47 5 0: add a b
48 4 1: add c
49 3 2: copy e from a, change b
50 2 3: change a
51 1 4: merge 2 and 3, copy d from b
52 0 5: change a
47
53
48 $ glog empty
54 $ glog full
55 o 5 "5: change a" files: a
56 |
57 o 4 "4: merge 2 and 3, copy d from b" files: d e
58 |\
59 | o 3 "3: change a" files: a
60 | |
61 o | 2 "2: copy e from a, change b" files: b e
62 | |
63 o | 1 "1: add c" files: c
64 |/
65 o 0 "0: add a b" files: a b
66
67 $ rm -Rf full
49
68
50 Convert from zero revision
69 Convert from zero revision
51
70
@@ -20,8 +20,8 b' Convert while testing all possible outpu'
20 found trunk at 'trunk'
20 found trunk at 'trunk'
21 found tags at 'tags'
21 found tags at 'tags'
22 found branches at 'branches'
22 found branches at 'branches'
23 found branch branché at 5
23 found branch branch\xc3\xa9 at 5 (esc)
24 found branch branchée at 6
24 found branch branch\xc3\xa9e at 6 (esc)
25 scanning: 1 revisions
25 scanning: 1 revisions
26 reparent to file://*/svn-repo/trunk (glob)
26 reparent to file://*/svn-repo/trunk (glob)
27 fetching revision log for "/trunk" from 4 to 0
27 fetching revision log for "/trunk" from 4 to 0
@@ -34,18 +34,18 b' Convert while testing all possible outpu'
34 '/tags' is not under '/trunk', ignoring
34 '/tags' is not under '/trunk', ignoring
35 scanning: 2 revisions
35 scanning: 2 revisions
36 reparent to file://*/svn-repo/branches/branch%C3%A9 (glob)
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 parsing revision 5 (1 changes)
38 parsing revision 5 (1 changes)
39 reparent to file://*/svn-repo (glob)
39 reparent to file://*/svn-repo (glob)
40 reparent to file://*/svn-repo/branches/branch%C3%A9 (glob)
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 scanning: 3 revisions
42 scanning: 3 revisions
43 reparent to file://*/svn-repo/branches/branch%C3%A9e (glob)
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 parsing revision 6 (1 changes)
45 parsing revision 6 (1 changes)
46 reparent to file://*/svn-repo (glob)
46 reparent to file://*/svn-repo (glob)
47 reparent to file://*/svn-repo/branches/branch%C3%A9e (glob)
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 scanning: 4 revisions
49 scanning: 4 revisions
50 scanning: 5 revisions
50 scanning: 5 revisions
51 scanning: 6 revisions
51 scanning: 6 revisions
@@ -58,63 +58,63 b' Convert while testing all possible outpu'
58 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@2
58 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@2
59 converting: 1/6 revisions (16.67%)
59 converting: 1/6 revisions (16.67%)
60 reparent to file://*/svn-repo/trunk (glob)
60 reparent to file://*/svn-repo/trunk (glob)
61 scanning paths: /trunk/à 0/3 (0.00%)
61 scanning paths: /trunk/\xc3\xa0 0/3 (0.00%) (esc)
62 scanning paths: /trunk/à/é 1/3 (33.33%)
62 scanning paths: /trunk/\xc3\xa0/e\xcc\x81 1/3 (33.33%) (esc)
63 scanning paths: /trunk/é 2/3 (66.67%)
63 scanning paths: /trunk/\xc3\xa9 2/3 (66.67%) (esc)
64 à/é
64 \xc3\xa0/e\xcc\x81 (esc)
65 getting files: à/é 1/2 (50.00%)
65 getting files: \xc3\xa0/e\xcc\x81 1/2 (50.00%) (esc)
66 é
66 \xc3\xa9 (esc)
67 getting files: é 2/2 (100.00%)
67 getting files: \xc3\xa9 2/2 (100.00%) (esc)
68 3 copy files
68 3 copy files
69 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@3
69 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@3
70 converting: 2/6 revisions (33.33%)
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 gone from -1
72 gone from -1
73 reparent to file://*/svn-repo (glob)
73 reparent to file://*/svn-repo (glob)
74 reparent to file://*/svn-repo/trunk (glob)
74 reparent to file://*/svn-repo/trunk (glob)
75 scanning paths: /trunk/è 1/4 (25.00%)
75 scanning paths: /trunk/\xc3\xa8 1/4 (25.00%) (esc)
76 copied to è from é@2
76 copied to \xc3\xa8 from \xc3\xa9@2 (esc)
77 scanning paths: /trunk/é 2/4 (50.00%)
77 scanning paths: /trunk/\xc3\xa9 2/4 (50.00%) (esc)
78 gone from -1
78 gone from -1
79 reparent to file://*/svn-repo (glob)
79 reparent to file://*/svn-repo (glob)
80 reparent to file://*/svn-repo/trunk (glob)
80 reparent to file://*/svn-repo/trunk (glob)
81 scanning paths: /trunk/ù 3/4 (75.00%)
81 scanning paths: /trunk/\xc3\xb9 3/4 (75.00%) (esc)
82 mark /trunk/ù came from à:2
82 mark /trunk/\xc3\xb9 came from \xc3\xa0:2 (esc)
83 à/é
83 \xc3\xa0/e\xcc\x81 (esc)
84 getting files: à/é 1/4 (25.00%)
84 getting files: \xc3\xa0/e\xcc\x81 1/4 (25.00%) (esc)
85 è
85 \xc3\xa8 (esc)
86 getting files: è 2/4 (50.00%)
86 getting files: \xc3\xa8 2/4 (50.00%) (esc)
87 è: copy é:6b67ccefd5ce6de77e7ead4f5292843a0255329f
87 \xc3\xa8: copy \xc3\xa9:6b67ccefd5ce6de77e7ead4f5292843a0255329f (esc)
88 é
88 \xc3\xa9 (esc)
89 getting files: é 3/4 (75.00%)
89 getting files: \xc3\xa9 3/4 (75.00%) (esc)
90 ù/é
90 \xc3\xb9/e\xcc\x81 (esc)
91 getting files: ù/é 4/4 (100.00%)
91 getting files: \xc3\xb9/e\xcc\x81 4/4 (100.00%) (esc)
92 ù/é: copy à/é:a9092a3d84a37b9993b5c73576f6de29b7ea50f6
92 \xc3\xb9/e\xcc\x81: copy \xc3\xa0/e\xcc\x81:a9092a3d84a37b9993b5c73576f6de29b7ea50f6 (esc)
93 2 remove files
93 2 remove files
94 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@4
94 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@4
95 converting: 3/6 revisions (50.00%)
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 gone from -1
97 gone from -1
98 reparent to file://*/svn-repo (glob)
98 reparent to file://*/svn-repo (glob)
99 reparent to file://*/svn-repo/trunk (glob)
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 gone from -1
101 gone from -1
102 reparent to file://*/svn-repo (glob)
102 reparent to file://*/svn-repo (glob)
103 reparent to file://*/svn-repo/trunk (glob)
103 reparent to file://*/svn-repo/trunk (glob)
104 è
104 \xc3\xa8 (esc)
105 getting files: è 1/2 (50.00%)
105 getting files: \xc3\xa8 1/2 (50.00%) (esc)
106 ù/é
106 \xc3\xb9/e\xcc\x81 (esc)
107 getting files: ù/é 2/2 (100.00%)
107 getting files: \xc3\xb9/e\xcc\x81 2/2 (100.00%) (esc)
108 1 branch to branch?
108 1 branch to branch?
109 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/branches/branch?@5
109 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/branches/branch?@5
110 converting: 4/6 revisions (66.67%)
110 converting: 4/6 revisions (66.67%)
111 reparent to file://*/svn-repo/branches/branch%C3%A9 (glob)
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 0 branch to branch?e
113 0 branch to branch?e
114 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/branches/branch?e@6
114 source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/branches/branch?e@6
115 converting: 5/6 revisions (83.33%)
115 converting: 5/6 revisions (83.33%)
116 reparent to file://*/svn-repo/branches/branch%C3%A9e (glob)
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 reparent to file://*/svn-repo (glob)
118 reparent to file://*/svn-repo (glob)
119 reparent to file://*/svn-repo/branches/branch%C3%A9e (glob)
119 reparent to file://*/svn-repo/branches/branch%C3%A9e (glob)
120 reparent to file://*/svn-repo (glob)
120 reparent to file://*/svn-repo (glob)
@@ -128,8 +128,8 b' Convert while testing all possible outpu'
128
128
129 Check tags are in UTF-8
129 Check tags are in UTF-8
130
130
131 $ python -c "print '\n'.join([('%r' % l) for l in file('.hgtags', 'rb').readlines()])"
131 $ cat .hgtags
132 '221c3fdaf24df5f14c0a64c597581e2eacfb47bb branch\xc3\xa9e\n'
132 221c3fdaf24df5f14c0a64c597581e2eacfb47bb branch\xc3\xa9e (esc)
133 '7a40952c2db29cf00d9e31df3749e98d8a4bdcbf branch\xc3\xa9\n'
133 7a40952c2db29cf00d9e31df3749e98d8a4bdcbf branch\xc3\xa9 (esc)
134
134
135 $ cd ..
135 $ cd ..
@@ -32,15 +32,15 b' Setup'
32 default context
32 default context
33
33
34 $ hg diff --nodates --color=always
34 $ hg diff --nodates --color=always
35 diff -r cf9f4ba66af2 a
35 \x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
36 --- a/a
36 \x1b[0;31;1m--- a/a\x1b[0m (esc)
37 +++ b/a
37 \x1b[0;32;1m+++ b/a\x1b[0m (esc)
38 @@ -2,7 +2,7 @@
38 \x1b[0;35m@@ -2,7 +2,7 @@\x1b[0m (esc)
39 c
39 c
40 a
40 a
41 a
41 a
42 -b
42 \x1b[0;31m-b\x1b[0m (esc)
43 +dd
43 \x1b[0;32m+dd\x1b[0m (esc)
44 a
44 a
45 a
45 a
46 c
46 c
@@ -48,21 +48,21 b' default context'
48 --unified=2
48 --unified=2
49
49
50 $ hg diff --nodates -U 2 --color=always
50 $ hg diff --nodates -U 2 --color=always
51 diff -r cf9f4ba66af2 a
51 \x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
52 --- a/a
52 \x1b[0;31;1m--- a/a\x1b[0m (esc)
53 +++ b/a
53 \x1b[0;32;1m+++ b/a\x1b[0m (esc)
54 @@ -3,5 +3,5 @@
54 \x1b[0;35m@@ -3,5 +3,5 @@\x1b[0m (esc)
55 a
55 a
56 a
56 a
57 -b
57 \x1b[0;31m-b\x1b[0m (esc)
58 +dd
58 \x1b[0;32m+dd\x1b[0m (esc)
59 a
59 a
60 a
60 a
61
61
62 diffstat
62 diffstat
63
63
64 $ hg diff --stat --color=always
64 $ hg diff --stat --color=always
65 a | 2 +-
65 a | 2 \x1b[0;32m+\x1b[0m\x1b[0;31m-\x1b[0m (esc)
66 1 files changed, 1 insertions(+), 1 deletions(-)
66 1 files changed, 1 insertions(+), 1 deletions(-)
67 $ echo "record=" >> $HGRCPATH
67 $ echo "record=" >> $HGRCPATH
68 $ echo "[ui]" >> $HGRCPATH
68 $ echo "[ui]" >> $HGRCPATH
@@ -77,17 +77,17 b' record'
77 > y
77 > y
78 > y
78 > y
79 > EOF
79 > EOF
80 diff --git a/a b/a
80 \x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
81 old mode 100644
81 \x1b[0;36;1mold mode 100644\x1b[0m (esc)
82 new mode 100755
82 \x1b[0;36;1mnew mode 100755\x1b[0m (esc)
83 1 hunks, 1 lines changed
83 1 hunks, 1 lines changed
84 examine changes to 'a'? [Ynsfdaq?]
84 examine changes to 'a'? [Ynsfdaq?]
85 @@ -2,7 +2,7 @@
85 \x1b[0;35m@@ -2,7 +2,7 @@\x1b[0m (esc)
86 c
86 c
87 a
87 a
88 a
88 a
89 -b
89 \x1b[0;31m-b\x1b[0m (esc)
90 +dd
90 \x1b[0;32m+dd\x1b[0m (esc)
91 a
91 a
92 a
92 a
93 c
93 c
@@ -105,17 +105,17 b' qrecord'
105 > y
105 > y
106 > y
106 > y
107 > EOF
107 > EOF
108 diff --git a/a b/a
108 \x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
109 old mode 100644
109 \x1b[0;36;1mold mode 100644\x1b[0m (esc)
110 new mode 100755
110 \x1b[0;36;1mnew mode 100755\x1b[0m (esc)
111 1 hunks, 1 lines changed
111 1 hunks, 1 lines changed
112 examine changes to 'a'? [Ynsfdaq?]
112 examine changes to 'a'? [Ynsfdaq?]
113 @@ -2,7 +2,7 @@
113 \x1b[0;35m@@ -2,7 +2,7 @@\x1b[0m (esc)
114 c
114 c
115 a
115 a
116 a
116 a
117 -b
117 \x1b[0;31m-b\x1b[0m (esc)
118 +dd
118 \x1b[0;32m+dd\x1b[0m (esc)
119 a
119 a
120 a
120 a
121 c
121 c
@@ -402,10 +402,9 b' Test \\r (carriage return) as used in "DO'
402 @@ -1,2 +1,3 @@
402 @@ -1,2 +1,3 @@
403 -hello world
403 -hello world
404 -goodbye world
404 -goodbye world
405 +hello world
405 +hello world\r (esc)
406 +
406 +\r (esc)
407 +goodbye
407 +goodbye\rworld (esc)
408 world
409 world
408
410
409 No completely blank lines to ignore:
411 No completely blank lines to ignore:
410
@@ -416,10 +415,9 b' No completely blank lines to ignore:'
416 +++ b/foo
415 @@ -1,2 +1,3 @@
417 @@ -1,2 +1,3 @@
416 -hello world
418 -hello world
417 -goodbye world
419 -goodbye world
418 +hello world\r (esc)
420 +hello world
419 +\r (esc)
421 +
420 +goodbye\rworld (esc)
422 +goodbye
423 world
421
424 world
422 Only new line noticed:
425
423
@@ -429,7 +427,7 b' Only new line noticed:'
429 diff -r 540c40a65b78 foo
427 +++ b/foo
430 --- a/foo
428 @@ -1,2 +1,3 @@
431 +++ b/foo
429 hello world
432 @@ -1,2 +1,3 @@
430 +\r (esc)
433 hello world
431 goodbye world
434 +
432
435 goodbye world
433 $ hg ndiff --ignore-all-space
@@ -438,7 +436,7 b' Only new line noticed:'
438 diff -r 540c40a65b78 foo
436 +++ b/foo
439 --- a/foo
437 @@ -1,2 +1,3 @@
440 +++ b/foo
438 hello world
441 @@ -1,2 +1,3 @@
439 +\r (esc)
442 hello world
440 goodbye world
443 +
441
444 goodbye world
442 New line not noticed when space change ignored:
@@ -13,6 +13,6 b''
13 +++ b/a Thu Jan 01 00:00:02 1970 +0000
13 +++ b/a Thu Jan 01 00:00:02 1970 +0000
14 @@ -1,2 +1,3 @@
14 @@ -1,2 +1,3 @@
15 confuse str.splitlines
15 confuse str.splitlines
16 embedded
16 embedded\rnewline (esc)
17 newline
17 +clean diff
18 +clean diff
18
@@ -52,9 +52,9 b' check alignment of option descriptions i'
52
52
53 options:
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 -m --opt2 MIDDLE_ middle width
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 use "hg -v help showoptlist" to show global options
59 use "hg -v help showoptlist" to show global options
60
60
@@ -96,42 +96,42 b' commit(3)'
96 check alignment of user names in annotate
96 check alignment of user names in annotate
97
97
98 $ hg annotate -u $M
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 MIDDLE_: second line(2)
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 check alignment of filenames in diffstat
103 check alignment of filenames in diffstat
104
104
105 $ hg diff -c tip --stat
105 $ hg diff -c tip --stat
106 MIDDLE_ | 1 +
106 MIDDLE_ | 1 +
107 \xe7\x9f\xad\xe5\x90\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 +
108 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d | 1 + (esc)
109 3 files changed, 3 insertions(+), 0 deletions(-)
109 3 files changed, 3 insertions(+), 0 deletions(-)
110
110
111 add branches/tags
111 add branches/tags
112
112
113 $ hg branch $S
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 $ hg tag $S
115 $ hg tag $S
116 $ hg branch $M
116 $ hg branch $M
117 marked working directory as branch MIDDLE_
117 marked working directory as branch MIDDLE_
118 $ hg tag $M
118 $ hg tag $M
119 $ hg branch $L
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 $ hg tag $L
121 $ hg tag $L
122
122
123 check alignment of branches
123 check alignment of branches
124
124
125 $ hg tags
125 $ hg tags
126 tip 5:d745ff46155b
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 MIDDLE_ 3:b06c5b6def9e
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 check alignment of tags
131 check alignment of tags
132
132
133 $ hg tags
133 $ hg tags
134 tip 5:d745ff46155b
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 MIDDLE_ 3:b06c5b6def9e
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 $ HGENCODING=ascii hg ci -l latin-1
30 $ HGENCODING=ascii hg ci -l latin-1
31 transaction abort!
31 transaction abort!
32 rollback completed
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 [255]
34 [255]
35
35
36 these should work
36 these should work
@@ -41,7 +41,7 b' these should work'
41 $ HGENCODING=utf-8 hg ci -l utf-8
41 $ HGENCODING=utf-8 hg ci -l utf-8
42 $ HGENCODING=latin-1 hg tag `cat latin-1-tag`
42 $ HGENCODING=latin-1 hg tag `cat latin-1-tag`
43 $ HGENCODING=latin-1 hg branch `cat latin-1-tag`
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 $ HGENCODING=latin-1 hg ci -m 'latin1 branch'
45 $ HGENCODING=latin-1 hg ci -m 'latin1 branch'
46 $ rm .hg/branch
46 $ rm .hg/branch
47
47
@@ -86,7 +86,7 b' hg log (latin-1)'
86
86
87 $ hg --encoding latin-1 log
87 $ hg --encoding latin-1 log
88 changeset: 5:093c6077d1c8
88 changeset: 5:093c6077d1c8
89 branch:
89 branch: \xe9 (esc)
90 tag: tip
90 tag: tip
91 user: test
91 user: test
92 date: Thu Jan 01 00:00:00 1970 +0000
92 date: Thu Jan 01 00:00:00 1970 +0000
@@ -95,35 +95,35 b' hg log (latin-1)'
95 changeset: 4:94db611b4196
95 changeset: 4:94db611b4196
96 user: test
96 user: test
97 date: Thu Jan 01 00:00:00 1970 +0000
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 changeset: 3:ca661e7520de
100 changeset: 3:ca661e7520de
101 tag:
101 tag: \xe9 (esc)
102 user: test
102 user: test
103 date: Thu Jan 01 00:00:00 1970 +0000
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 changeset: 2:650c6f3d55dd
106 changeset: 2:650c6f3d55dd
107 user: test
107 user: test
108 date: Thu Jan 01 00:00:00 1970 +0000
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 changeset: 1:0e5b7e3f9c4a
111 changeset: 1:0e5b7e3f9c4a
112 user: test
112 user: test
113 date: Mon Jan 12 13:46:40 1970 +0000
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 changeset: 0:1e78a93102a3
116 changeset: 0:1e78a93102a3
117 user: test
117 user: test
118 date: Mon Jan 12 13:46:40 1970 +0000
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 hg log (utf-8)
122 hg log (utf-8)
123
123
124 $ hg --encoding utf-8 log
124 $ hg --encoding utf-8 log
125 changeset: 5:093c6077d1c8
125 changeset: 5:093c6077d1c8
126 branch: é
126 branch: \xc3\xa9 (esc)
127 tag: tip
127 tag: tip
128 user: test
128 user: test
129 date: Thu Jan 01 00:00:00 1970 +0000
129 date: Thu Jan 01 00:00:00 1970 +0000
@@ -132,28 +132,28 b' hg log (utf-8)'
132 changeset: 4:94db611b4196
132 changeset: 4:94db611b4196
133 user: test
133 user: test
134 date: Thu Jan 01 00:00:00 1970 +0000
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 changeset: 3:ca661e7520de
137 changeset: 3:ca661e7520de
138 tag: é
138 tag: \xc3\xa9 (esc)
139 user: test
139 user: test
140 date: Thu Jan 01 00:00:00 1970 +0000
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 changeset: 2:650c6f3d55dd
143 changeset: 2:650c6f3d55dd
144 user: test
144 user: test
145 date: Thu Jan 01 00:00:00 1970 +0000
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 changeset: 1:0e5b7e3f9c4a
148 changeset: 1:0e5b7e3f9c4a
149 user: test
149 user: test
150 date: Mon Jan 12 13:46:40 1970 +0000
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 changeset: 0:1e78a93102a3
153 changeset: 0:1e78a93102a3
154 user: test
154 user: test
155 date: Mon Jan 12 13:46:40 1970 +0000
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 hg tags (ascii)
159 hg tags (ascii)
@@ -166,13 +166,13 b' hg tags (latin-1)'
166
166
167 $ HGENCODING=latin-1 hg tags
167 $ HGENCODING=latin-1 hg tags
168 tip 5:093c6077d1c8
168 tip 5:093c6077d1c8
169 3:ca661e7520de
169 \xe9 3:ca661e7520de (esc)
170
170
171 hg tags (utf-8)
171 hg tags (utf-8)
172
172
173 $ HGENCODING=utf-8 hg tags
173 $ HGENCODING=utf-8 hg tags
174 tip 5:093c6077d1c8
174 tip 5:093c6077d1c8
175 é 3:ca661e7520de
175 \xc3\xa9 3:ca661e7520de (esc)
176
176
177 hg branches (ascii)
177 hg branches (ascii)
178
178
@@ -183,13 +183,13 b' hg branches (ascii)'
183 hg branches (latin-1)
183 hg branches (latin-1)
184
184
185 $ HGENCODING=latin-1 hg branches
185 $ HGENCODING=latin-1 hg branches
186 5:093c6077d1c8
186 \xe9 5:093c6077d1c8 (esc)
187 default 4:94db611b4196 (inactive)
187 default 4:94db611b4196 (inactive)
188
188
189 hg branches (utf-8)
189 hg branches (utf-8)
190
190
191 $ HGENCODING=utf-8 hg branches
191 $ HGENCODING=utf-8 hg branches
192 é 5:093c6077d1c8
192 \xc3\xa9 5:093c6077d1c8 (esc)
193 default 4:94db611b4196 (inactive)
193 default 4:94db611b4196 (inactive)
194 $ echo '[ui]' >> .hg/hgrc
194 $ echo '[ui]' >> .hg/hgrc
195 $ echo 'fallbackencoding = koi8-r' >> .hg/hgrc
195 $ echo 'fallbackencoding = koi8-r' >> .hg/hgrc
@@ -198,7 +198,7 b' hg log (utf-8)'
198
198
199 $ HGENCODING=utf-8 hg log
199 $ HGENCODING=utf-8 hg log
200 changeset: 5:093c6077d1c8
200 changeset: 5:093c6077d1c8
201 branch: é
201 branch: \xc3\xa9 (esc)
202 tag: tip
202 tag: tip
203 user: test
203 user: test
204 date: Thu Jan 01 00:00:00 1970 +0000
204 date: Thu Jan 01 00:00:00 1970 +0000
@@ -207,28 +207,28 b' hg log (utf-8)'
207 changeset: 4:94db611b4196
207 changeset: 4:94db611b4196
208 user: test
208 user: test
209 date: Thu Jan 01 00:00:00 1970 +0000
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 changeset: 3:ca661e7520de
212 changeset: 3:ca661e7520de
213 tag: é
213 tag: \xc3\xa9 (esc)
214 user: test
214 user: test
215 date: Thu Jan 01 00:00:00 1970 +0000
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 changeset: 2:650c6f3d55dd
218 changeset: 2:650c6f3d55dd
219 user: test
219 user: test
220 date: Thu Jan 01 00:00:00 1970 +0000
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 changeset: 1:0e5b7e3f9c4a
223 changeset: 1:0e5b7e3f9c4a
224 user: test
224 user: test
225 date: Mon Jan 12 13:46:40 1970 +0000
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 changeset: 0:1e78a93102a3
228 changeset: 0:1e78a93102a3
229 user: test
229 user: test
230 date: Mon Jan 12 13:46:40 1970 +0000
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 hg log (dolphin)
234 hg log (dolphin)
@@ -237,7 +237,7 b' hg log (dolphin)'
237 abort: unknown encoding: dolphin, please check your locale settings
237 abort: unknown encoding: dolphin, please check your locale settings
238 [255]
238 [255]
239 $ HGENCODING=ascii hg branch `cat latin-1-tag`
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 [255]
241 [255]
242 $ cp latin-1-tag .hg/branch
242 $ cp latin-1-tag .hg/branch
243 $ HGENCODING=latin-1 hg ci -m 'should fail'
243 $ HGENCODING=latin-1 hg ci -m 'should fail'
@@ -48,7 +48,7 b' Test adding .hgeol'
48 > echo '% hg status'
48 > echo '% hg status'
49 > hg status
49 > hg status
50 > echo '% hg tip -p'
50 > echo '% hg tip -p'
51 > hg tip -p | python $TESTDIR/printrepr.py
51 > hg tip -p
52 > cd ..
52 > cd ..
53 > rm -r repo-$1
53 > rm -r repo-$1
54 > }
54 > }
@@ -118,8 +118,8 b' Test adding .hgeol'
118 -first
118 -first
119 -second
119 -second
120 -third
120 -third
121 +first\r
121 +first\r (esc)
122 +second\r
122 +second\r (esc)
123 +third\r
123 +third\r (esc)
124
124
125 $ rm -r repo
125 $ rm -r repo
@@ -31,11 +31,11 b' Clone'
31 updating to branch default
31 updating to branch default
32 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
32 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
33 $ cd repo-2
33 $ cd repo-2
34 $ python $TESTDIR/printrepr.py < a.txt
34 $ cat a.txt
35 first\r
35 first\r (esc)
36 second\r
36 second\r (esc)
37 third\r
37 third\r (esc)
38 $ hg cat a.txt | python $TESTDIR/printrepr.py
38 $ hg cat a.txt
39 first
39 first
40 second
40 second
41 third
41 third
@@ -51,7 +51,7 b' Test clone of repo with .hgeol in workin'
51 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
51 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
52 $ cd repo-3
52 $ cd repo-3
53
53
54 $ python $TESTDIR/printrepr.py < a.txt
54 $ cat a.txt
55 first
55 first
56 second
56 second
57 third
57 third
@@ -71,7 +71,7 b' Test clone of revision with .hgeol'
71 [patterns]
71 [patterns]
72 **.txt = native
72 **.txt = native
73
73
74 $ python $TESTDIR/printrepr.py < a.txt
74 $ cat a.txt
75 first\r
75 first\r (esc)
76 second\r
76 second\r (esc)
77 third\r
77 third\r (esc)
@@ -50,30 +50,30 b' Set up helpers'
50 > native = $1
50 > native = $1
51 > EOF
51 > EOF
52 > hg update
52 > hg update
53 > echo '% printrepr.py native.txt'
53 > echo '% native.txt'
54 > python $TESTDIR/printrepr.py < native.txt
54 > cat native.txt
55 > echo '% printrepr.py unix.txt'
55 > echo '% unix.txt'
56 > python $TESTDIR/printrepr.py < unix.txt
56 > cat unix.txt
57 > echo '% printrepr.py win.txt'
57 > echo '% win.txt'
58 > python $TESTDIR/printrepr.py < win.txt
58 > cat win.txt
59 > printf "first${EOL}third${EOL}" > native.txt
59 > printf "first${EOL}third${EOL}" > native.txt
60 > printf "first\r\nthird\r\n" > win.txt
60 > printf "first\r\nthird\r\n" > win.txt
61 > printf "first\nthird\n" > unix.txt
61 > printf "first\nthird\n" > unix.txt
62 > echo '% hg diff'
62 > echo '% hg diff'
63 > hg diff > p
63 > hg diff > p
64 > python $TESTDIR/printrepr.py < p
64 > cat p
65 > echo '% hg revert'
65 > echo '% hg revert'
66 > hg revert --all
66 > hg revert --all
67 > echo '% hg import'
67 > echo '% hg import'
68 > hg import -m 'patch' p
68 > hg import -m 'patch' p
69 > echo '% printrepr.py native.txt'
69 > echo '% native.txt'
70 > python $TESTDIR/printrepr.py < native.txt
70 > cat native.txt
71 > echo '% printrepr.py unix.txt'
71 > echo '% unix.txt'
72 > python $TESTDIR/printrepr.py < unix.txt
72 > cat unix.txt
73 > echo '% printrepr.py win.txt'
73 > echo '% win.txt'
74 > python $TESTDIR/printrepr.py < win.txt
74 > cat win.txt
75 > echo '% hg diff -c tip'
75 > echo '% hg diff -c tip'
76 > hg diff -c tip | python $TESTDIR/printrepr.py
76 > hg diff -c tip
77 > cd ..
77 > cd ..
78 > rm -r repo-$1
78 > rm -r repo-$1
79 > }
79 > }
@@ -92,18 +92,18 b' Run tests'
92
92
93 % hg clone repo repo-LF
93 % hg clone repo repo-LF
94 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
94 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
95 % printrepr.py native.txt
95 % native.txt
96 first
96 first
97 second
97 second
98 third
98 third
99 % printrepr.py unix.txt
99 % unix.txt
100 first
100 first
101 second
101 second
102 third
102 third
103 % printrepr.py win.txt
103 % win.txt
104 first\r
104 first\r (esc)
105 second\r
105 second\r (esc)
106 third\r
106 third\r (esc)
107 % hg diff
107 % hg diff
108 diff --git a/native.txt b/native.txt
108 diff --git a/native.txt b/native.txt
109 --- a/native.txt
109 --- a/native.txt
@@ -123,24 +123,24 b' Run tests'
123 --- a/win.txt
123 --- a/win.txt
124 +++ b/win.txt
124 +++ b/win.txt
125 @@ -1,3 +1,2 @@
125 @@ -1,3 +1,2 @@
126 first\r
126 first\r (esc)
127 -second\r
127 -second\r (esc)
128 third\r
128 third\r (esc)
129 % hg revert
129 % hg revert
130 reverting native.txt
130 reverting native.txt
131 reverting unix.txt
131 reverting unix.txt
132 reverting win.txt
132 reverting win.txt
133 % hg import
133 % hg import
134 applying p
134 applying p
135 % printrepr.py native.txt
135 % native.txt
136 first
136 first
137 third
137 third
138 % printrepr.py unix.txt
138 % unix.txt
139 first
139 first
140 third
140 third
141 % printrepr.py win.txt
141 % win.txt
142 first\r
142 first\r (esc)
143 third\r
143 third\r (esc)
144 % hg diff -c tip
144 % hg diff -c tip
145 diff --git a/native.txt b/native.txt
145 diff --git a/native.txt b/native.txt
146 --- a/native.txt
146 --- a/native.txt
@@ -160,25 +160,25 b' Run tests'
160 --- a/win.txt
160 --- a/win.txt
161 +++ b/win.txt
161 +++ b/win.txt
162 @@ -1,3 +1,2 @@
162 @@ -1,3 +1,2 @@
163 first\r
163 first\r (esc)
164 -second\r
164 -second\r (esc)
165 third\r
165 third\r (esc)
166 $ dotest CRLF
166 $ dotest CRLF
167
167
168 % hg clone repo repo-CRLF
168 % hg clone repo repo-CRLF
169 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
169 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
170 % printrepr.py native.txt
170 % native.txt
171 first\r
171 first\r (esc)
172 second\r
172 second\r (esc)
173 third\r
173 third\r (esc)
174 % printrepr.py unix.txt
174 % unix.txt
175 first
175 first
176 second
176 second
177 third
177 third
178 % printrepr.py win.txt
178 % win.txt
179 first\r
179 first\r (esc)
180 second\r
180 second\r (esc)
181 third\r
181 third\r (esc)
182 % hg diff
182 % hg diff
183 diff --git a/native.txt b/native.txt
183 diff --git a/native.txt b/native.txt
184 --- a/native.txt
184 --- a/native.txt
@@ -198,24 +198,24 b' Run tests'
198 --- a/win.txt
198 --- a/win.txt
199 +++ b/win.txt
199 +++ b/win.txt
200 @@ -1,3 +1,2 @@
200 @@ -1,3 +1,2 @@
201 first\r
201 first\r (esc)
202 -second\r
202 -second\r (esc)
203 third\r
203 third\r (esc)
204 % hg revert
204 % hg revert
205 reverting native.txt
205 reverting native.txt
206 reverting unix.txt
206 reverting unix.txt
207 reverting win.txt
207 reverting win.txt
208 % hg import
208 % hg import
209 applying p
209 applying p
210 % printrepr.py native.txt
210 % native.txt
211 first\r
211 first\r (esc)
212 third\r
212 third\r (esc)
213 % printrepr.py unix.txt
213 % unix.txt
214 first
214 first
215 third
215 third
216 % printrepr.py win.txt
216 % win.txt
217 first\r
217 first\r (esc)
218 third\r
218 third\r (esc)
219 % hg diff -c tip
219 % hg diff -c tip
220 diff --git a/native.txt b/native.txt
220 diff --git a/native.txt b/native.txt
221 --- a/native.txt
221 --- a/native.txt
@@ -235,9 +235,9 b' Run tests'
235 --- a/win.txt
235 --- a/win.txt
236 +++ b/win.txt
236 +++ b/win.txt
237 @@ -1,3 +1,2 @@
237 @@ -1,3 +1,2 @@
238 first\r
238 first\r (esc)
239 -second\r
239 -second\r (esc)
240 third\r
240 third\r (esc)
241 $ rm -r repo
241 $ rm -r repo
242 $ makerepo CRLF
242 $ makerepo CRLF
243
243
@@ -251,26 +251,26 b' Run tests'
251
251
252 % hg clone repo repo-LF
252 % hg clone repo repo-LF
253 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
253 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
254 % printrepr.py native.txt
254 % native.txt
255 first
255 first
256 second
256 second
257 third
257 third
258 % printrepr.py unix.txt
258 % unix.txt
259 first
259 first
260 second
260 second
261 third
261 third
262 % printrepr.py win.txt
262 % win.txt
263 first\r
263 first\r (esc)
264 second\r
264 second\r (esc)
265 third\r
265 third\r (esc)
266 % hg diff
266 % hg diff
267 diff --git a/native.txt b/native.txt
267 diff --git a/native.txt b/native.txt
268 --- a/native.txt
268 --- a/native.txt
269 +++ b/native.txt
269 +++ b/native.txt
270 @@ -1,3 +1,2 @@
270 @@ -1,3 +1,2 @@
271 first\r
271 first\r (esc)
272 -second\r
272 -second\r (esc)
273 third\r
273 third\r (esc)
274 diff --git a/unix.txt b/unix.txt
274 diff --git a/unix.txt b/unix.txt
275 --- a/unix.txt
275 --- a/unix.txt
276 +++ b/unix.txt
276 +++ b/unix.txt
@@ -282,32 +282,32 b' Run tests'
282 --- a/win.txt
282 --- a/win.txt
283 +++ b/win.txt
283 +++ b/win.txt
284 @@ -1,3 +1,2 @@
284 @@ -1,3 +1,2 @@
285 first\r
285 first\r (esc)
286 -second\r
286 -second\r (esc)
287 third\r
287 third\r (esc)
288 % hg revert
288 % hg revert
289 reverting native.txt
289 reverting native.txt
290 reverting unix.txt
290 reverting unix.txt
291 reverting win.txt
291 reverting win.txt
292 % hg import
292 % hg import
293 applying p
293 applying p
294 % printrepr.py native.txt
294 % native.txt
295 first
295 first
296 third
296 third
297 % printrepr.py unix.txt
297 % unix.txt
298 first
298 first
299 third
299 third
300 % printrepr.py win.txt
300 % win.txt
301 first\r
301 first\r (esc)
302 third\r
302 third\r (esc)
303 % hg diff -c tip
303 % hg diff -c tip
304 diff --git a/native.txt b/native.txt
304 diff --git a/native.txt b/native.txt
305 --- a/native.txt
305 --- a/native.txt
306 +++ b/native.txt
306 +++ b/native.txt
307 @@ -1,3 +1,2 @@
307 @@ -1,3 +1,2 @@
308 first\r
308 first\r (esc)
309 -second\r
309 -second\r (esc)
310 third\r
310 third\r (esc)
311 diff --git a/unix.txt b/unix.txt
311 diff --git a/unix.txt b/unix.txt
312 --- a/unix.txt
312 --- a/unix.txt
313 +++ b/unix.txt
313 +++ b/unix.txt
@@ -319,33 +319,33 b' Run tests'
319 --- a/win.txt
319 --- a/win.txt
320 +++ b/win.txt
320 +++ b/win.txt
321 @@ -1,3 +1,2 @@
321 @@ -1,3 +1,2 @@
322 first\r
322 first\r (esc)
323 -second\r
323 -second\r (esc)
324 third\r
324 third\r (esc)
325 $ dotest CRLF
325 $ dotest CRLF
326
326
327 % hg clone repo repo-CRLF
327 % hg clone repo repo-CRLF
328 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
328 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
329 % printrepr.py native.txt
329 % native.txt
330 first\r
330 first\r (esc)
331 second\r
331 second\r (esc)
332 third\r
332 third\r (esc)
333 % printrepr.py unix.txt
333 % unix.txt
334 first
334 first
335 second
335 second
336 third
336 third
337 % printrepr.py win.txt
337 % win.txt
338 first\r
338 first\r (esc)
339 second\r
339 second\r (esc)
340 third\r
340 third\r (esc)
341 % hg diff
341 % hg diff
342 diff --git a/native.txt b/native.txt
342 diff --git a/native.txt b/native.txt
343 --- a/native.txt
343 --- a/native.txt
344 +++ b/native.txt
344 +++ b/native.txt
345 @@ -1,3 +1,2 @@
345 @@ -1,3 +1,2 @@
346 first\r
346 first\r (esc)
347 -second\r
347 -second\r (esc)
348 third\r
348 third\r (esc)
349 diff --git a/unix.txt b/unix.txt
349 diff --git a/unix.txt b/unix.txt
350 --- a/unix.txt
350 --- a/unix.txt
351 +++ b/unix.txt
351 +++ b/unix.txt
@@ -357,32 +357,32 b' Run tests'
357 --- a/win.txt
357 --- a/win.txt
358 +++ b/win.txt
358 +++ b/win.txt
359 @@ -1,3 +1,2 @@
359 @@ -1,3 +1,2 @@
360 first\r
360 first\r (esc)
361 -second\r
361 -second\r (esc)
362 third\r
362 third\r (esc)
363 % hg revert
363 % hg revert
364 reverting native.txt
364 reverting native.txt
365 reverting unix.txt
365 reverting unix.txt
366 reverting win.txt
366 reverting win.txt
367 % hg import
367 % hg import
368 applying p
368 applying p
369 % printrepr.py native.txt
369 % native.txt
370 first\r
370 first\r (esc)
371 third\r
371 third\r (esc)
372 % printrepr.py unix.txt
372 % unix.txt
373 first
373 first
374 third
374 third
375 % printrepr.py win.txt
375 % win.txt
376 first\r
376 first\r (esc)
377 third\r
377 third\r (esc)
378 % hg diff -c tip
378 % hg diff -c tip
379 diff --git a/native.txt b/native.txt
379 diff --git a/native.txt b/native.txt
380 --- a/native.txt
380 --- a/native.txt
381 +++ b/native.txt
381 +++ b/native.txt
382 @@ -1,3 +1,2 @@
382 @@ -1,3 +1,2 @@
383 first\r
383 first\r (esc)
384 -second\r
384 -second\r (esc)
385 third\r
385 third\r (esc)
386 diff --git a/unix.txt b/unix.txt
386 diff --git a/unix.txt b/unix.txt
387 --- a/unix.txt
387 --- a/unix.txt
388 +++ b/unix.txt
388 +++ b/unix.txt
@@ -394,7 +394,7 b' Run tests'
394 --- a/win.txt
394 --- a/win.txt
395 +++ b/win.txt
395 +++ b/win.txt
396 @@ -1,3 +1,2 @@
396 @@ -1,3 +1,2 @@
397 first\r
397 first\r (esc)
398 -second\r
398 -second\r (esc)
399 third\r
399 third\r (esc)
400 $ rm -r repo
400 $ rm -r repo
@@ -54,23 +54,23 b' Test EOL update'
54 >
54 >
55 > hg update
55 > hg update
56 >
56 >
57 > echo '% printrepr.py a.txt (before)'
57 > echo '% a.txt (before)'
58 > python $TESTDIR/printrepr.py < a.txt
58 > cat a.txt
59 >
59 >
60 > printf "first${EOL}third${EOL}" > a.txt
60 > printf "first${EOL}third${EOL}" > a.txt
61 >
61 >
62 > echo '% printrepr.py a.txt (after)'
62 > echo '% a.txt (after)'
63 > python $TESTDIR/printrepr.py < a.txt
63 > cat a.txt
64 > echo '% hg diff'
64 > echo '% hg diff'
65 > hg diff | python $TESTDIR/printrepr.py
65 > hg diff
66 >
66 >
67 > echo '% hg update 0'
67 > echo '% hg update 0'
68 > hg update 0
68 > hg update 0
69 >
69 >
70 > echo '% printrepr.py a.txt'
70 > echo '% a.txt'
71 > python $TESTDIR/printrepr.py < a.txt
71 > cat a.txt
72 > echo '% hg diff'
72 > echo '% hg diff'
73 > hg diff | python $TESTDIR/printrepr.py
73 > hg diff
74 >
74 >
75 >
75 >
76 > cd ..
76 > cd ..
@@ -87,11 +87,11 b' Test EOL update'
87
87
88 % hg clone repo repo-LF
88 % hg clone repo repo-LF
89 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
89 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
90 % printrepr.py a.txt (before)
90 % a.txt (before)
91 first\r
91 first\r (esc)
92 second\r
92 second\r (esc)
93 third\r
93 third\r (esc)
94 % printrepr.py a.txt (after)
94 % a.txt (after)
95 first
95 first
96 third
96 third
97 % hg diff
97 % hg diff
@@ -99,13 +99,13 b' Test EOL update'
99 --- a/a.txt
99 --- a/a.txt
100 +++ b/a.txt
100 +++ b/a.txt
101 @@ -1,3 +1,2 @@
101 @@ -1,3 +1,2 @@
102 first\r
102 first\r (esc)
103 -second\r
103 -second\r (esc)
104 third\r
104 third\r (esc)
105 % hg update 0
105 % hg update 0
106 merging a.txt
106 merging a.txt
107 1 files updated, 1 files merged, 0 files removed, 0 files unresolved
107 1 files updated, 1 files merged, 0 files removed, 0 files unresolved
108 % printrepr.py a.txt
108 % a.txt
109 first
109 first
110 third
110 third
111 % hg diff
111 % hg diff
@@ -120,25 +120,25 b' Test EOL update'
120
120
121 % hg clone repo repo-CRLF
121 % hg clone repo repo-CRLF
122 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
122 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
123 % printrepr.py a.txt (before)
123 % a.txt (before)
124 first\r
124 first\r (esc)
125 second\r
125 second\r (esc)
126 third\r
126 third\r (esc)
127 % printrepr.py a.txt (after)
127 % a.txt (after)
128 first\r
128 first\r (esc)
129 third\r
129 third\r (esc)
130 % hg diff
130 % hg diff
131 diff --git a/a.txt b/a.txt
131 diff --git a/a.txt b/a.txt
132 --- a/a.txt
132 --- a/a.txt
133 +++ b/a.txt
133 +++ b/a.txt
134 @@ -1,3 +1,2 @@
134 @@ -1,3 +1,2 @@
135 first\r
135 first\r (esc)
136 -second\r
136 -second\r (esc)
137 third\r
137 third\r (esc)
138 % hg update 0
138 % hg update 0
139 merging a.txt
139 merging a.txt
140 1 files updated, 1 files merged, 0 files removed, 0 files unresolved
140 1 files updated, 1 files merged, 0 files removed, 0 files unresolved
141 % printrepr.py a.txt
141 % a.txt
142 first
142 first
143 third
143 third
144 % hg diff
144 % hg diff
@@ -61,20 +61,20 b' Set up helpers'
61 > native = $1
61 > native = $1
62 > EOF
62 > EOF
63 > hg update
63 > hg update
64 > echo '% printrepr.py a.txt'
64 > echo '% a.txt'
65 > python $TESTDIR/printrepr.py < a.txt
65 > cat a.txt
66 > echo '% hg cat a.txt'
66 > echo '% hg cat a.txt'
67 > hg cat a.txt | python $TESTDIR/printrepr.py
67 > hg cat a.txt
68 > printf "fourth${EOL}" >> a.txt
68 > printf "fourth${EOL}" >> a.txt
69 > echo '% printrepr.py a.txt'
69 > echo '% a.txt'
70 > python $TESTDIR/printrepr.py < a.txt
70 > cat a.txt
71 > hg diff | python $TESTDIR/printrepr.py
71 > hg diff
72 > python ../switch-eol.py $1 a.txt
72 > python ../switch-eol.py $1 a.txt
73 > echo '% hg diff only reports a single changed line:'
73 > echo '% hg diff only reports a single changed line:'
74 > hg diff | python $TESTDIR/printrepr.py
74 > hg diff
75 > echo "% reverting back to $1 format"
75 > echo "% reverting back to $1 format"
76 > hg revert a.txt
76 > hg revert a.txt
77 > python $TESTDIR/printrepr.py < a.txt
77 > cat a.txt
78 > printf "first\r\nsecond\n" > mixed.txt
78 > printf "first\r\nsecond\n" > mixed.txt
79 > hg add mixed.txt
79 > hg add mixed.txt
80 > echo "% hg commit of inconsistent .txt file marked as binary (should work)"
80 > echo "% hg commit of inconsistent .txt file marked as binary (should work)"
@@ -144,7 +144,7 b' Basic tests'
144 $ dotest LF
144 $ dotest LF
145 % hg clone repo repo-LF
145 % hg clone repo repo-LF
146 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
146 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
147 % printrepr.py a.txt
147 % a.txt
148 first
148 first
149 second
149 second
150 third
150 third
@@ -152,7 +152,7 b' Basic tests'
152 first
152 first
153 second
153 second
154 third
154 third
155 % printrepr.py a.txt
155 % a.txt
156 first
156 first
157 second
157 second
158 third
158 third
@@ -188,19 +188,19 b' Basic tests'
188 $ dotest CRLF
188 $ dotest CRLF
189 % hg clone repo repo-CRLF
189 % hg clone repo repo-CRLF
190 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
190 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
191 % printrepr.py a.txt
191 % a.txt
192 first\r
192 first\r (esc)
193 second\r
193 second\r (esc)
194 third\r
194 third\r (esc)
195 % hg cat a.txt
195 % hg cat a.txt
196 first
196 first
197 second
197 second
198 third
198 third
199 % printrepr.py a.txt
199 % a.txt
200 first\r
200 first\r (esc)
201 second\r
201 second\r (esc)
202 third\r
202 third\r (esc)
203 fourth\r
203 fourth\r (esc)
204 diff --git a/a.txt b/a.txt
204 diff --git a/a.txt b/a.txt
205 --- a/a.txt
205 --- a/a.txt
206 +++ b/a.txt
206 +++ b/a.txt
@@ -220,9 +220,9 b' Basic tests'
220 third
220 third
221 +fourth
221 +fourth
222 % reverting back to CRLF format
222 % reverting back to CRLF format
223 first\r
223 first\r (esc)
224 second\r
224 second\r (esc)
225 third\r
225 third\r (esc)
226 % hg commit of inconsistent .txt file marked as binary (should work)
226 % hg commit of inconsistent .txt file marked as binary (should work)
227 % hg commit of inconsistent .txt file marked as native (should fail)
227 % hg commit of inconsistent .txt file marked as native (should fail)
228 abort: inconsistent newline style in a.txt
228 abort: inconsistent newline style in a.txt
@@ -238,15 +238,15 b' Basic tests'
238 $ dotest LF
238 $ dotest LF
239 % hg clone repo repo-LF
239 % hg clone repo repo-LF
240 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
240 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
241 % printrepr.py a.txt
241 % a.txt
242 first
242 first
243 second
243 second
244 third
244 third
245 % hg cat a.txt
245 % hg cat a.txt
246 first\r
246 first\r (esc)
247 second\r
247 second\r (esc)
248 third\r
248 third\r (esc)
249 % printrepr.py a.txt
249 % a.txt
250 first
250 first
251 second
251 second
252 third
252 third
@@ -255,20 +255,20 b' Basic tests'
255 --- a/a.txt
255 --- a/a.txt
256 +++ b/a.txt
256 +++ b/a.txt
257 @@ -1,3 +1,4 @@
257 @@ -1,3 +1,4 @@
258 first\r
258 first\r (esc)
259 second\r
259 second\r (esc)
260 third\r
260 third\r (esc)
261 +fourth\r
261 +fourth\r (esc)
262 % switching encoding from '\n' to '\r\n'
262 % switching encoding from '\n' to '\r\n'
263 % hg diff only reports a single changed line:
263 % hg diff only reports a single changed line:
264 diff --git a/a.txt b/a.txt
264 diff --git a/a.txt b/a.txt
265 --- a/a.txt
265 --- a/a.txt
266 +++ b/a.txt
266 +++ b/a.txt
267 @@ -1,3 +1,4 @@
267 @@ -1,3 +1,4 @@
268 first\r
268 first\r (esc)
269 second\r
269 second\r (esc)
270 third\r
270 third\r (esc)
271 +fourth\r
271 +fourth\r (esc)
272 % reverting back to LF format
272 % reverting back to LF format
273 first
273 first
274 second
274 second
@@ -282,41 +282,41 b' Basic tests'
282 $ dotest CRLF
282 $ dotest CRLF
283 % hg clone repo repo-CRLF
283 % hg clone repo repo-CRLF
284 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
284 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
285 % printrepr.py a.txt
285 % a.txt
286 first\r
286 first\r (esc)
287 second\r
287 second\r (esc)
288 third\r
288 third\r (esc)
289 % hg cat a.txt
289 % hg cat a.txt
290 first\r
290 first\r (esc)
291 second\r
291 second\r (esc)
292 third\r
292 third\r (esc)
293 % printrepr.py a.txt
293 % a.txt
294 first\r
294 first\r (esc)
295 second\r
295 second\r (esc)
296 third\r
296 third\r (esc)
297 fourth\r
297 fourth\r (esc)
298 diff --git a/a.txt b/a.txt
298 diff --git a/a.txt b/a.txt
299 --- a/a.txt
299 --- a/a.txt
300 +++ b/a.txt
300 +++ b/a.txt
301 @@ -1,3 +1,4 @@
301 @@ -1,3 +1,4 @@
302 first\r
302 first\r (esc)
303 second\r
303 second\r (esc)
304 third\r
304 third\r (esc)
305 +fourth\r
305 +fourth\r (esc)
306 % switching encoding from '\r\n' to '\n'
306 % switching encoding from '\r\n' to '\n'
307 % hg diff only reports a single changed line:
307 % hg diff only reports a single changed line:
308 diff --git a/a.txt b/a.txt
308 diff --git a/a.txt b/a.txt
309 --- a/a.txt
309 --- a/a.txt
310 +++ b/a.txt
310 +++ b/a.txt
311 @@ -1,3 +1,4 @@
311 @@ -1,3 +1,4 @@
312 first\r
312 first\r (esc)
313 second\r
313 second\r (esc)
314 third\r
314 third\r (esc)
315 +fourth\r
315 +fourth\r (esc)
316 % reverting back to CRLF format
316 % reverting back to CRLF format
317 first\r
317 first\r (esc)
318 second\r
318 second\r (esc)
319 third\r
319 third\r (esc)
320 % hg commit of inconsistent .txt file marked as binary (should work)
320 % hg commit of inconsistent .txt file marked as binary (should work)
321 % hg commit of inconsistent .txt file marked as native (should fail)
321 % hg commit of inconsistent .txt file marked as native (should fail)
322 abort: inconsistent newline style in a.txt
322 abort: inconsistent newline style in a.txt
@@ -9,11 +9,11 b' test issue352'
9 $ A=`printf 'he\rllo'`
9 $ A=`printf 'he\rllo'`
10 $ echo foo > "$A"
10 $ echo foo > "$A"
11 $ hg add
11 $ hg add
12 adding he
12 adding he\rllo (esc)
13 llo
13 abort: '\n' and '\r' disallowed in filenames: 'he\rllo'
14 abort: '\n' and '\r' disallowed in filenames: 'he\rllo'
14 [255]
15 [255]
15 $ hg ci -A -m m
16 $ hg ci -A -m m
16 adding he\rllo (esc)
17 adding he
17 abort: '\n' and '\r' disallowed in filenames: 'he\rllo'
18 llo
18 [255]
19 abort: '\n' and '\r' disallowed in filenames: 'he\rllo'
19 $ rm "$A"
@@ -31,7 +31,7 b' test issue352'
31 o
31 [255]
32 abort: '\n' and '\r' disallowed in filenames: 'hell\no'
32 $ echo foo > "$A"
33 [255]
33 $ hg debugwalk
34 $ echo foo > "$A"
34 f he\rllo he\rllo (esc)
35 $ hg debugwalk
35 f hell
36 f he
36 o hell
37 llo he
37 o
@@ -51,7 +51,7 b' test issue2039'
51 $ echo "[extensions]" >> $HGRCPATH
51 $ touch "$A"
52 $ echo "color=" >> $HGRCPATH
52 $ touch "$B"
53 $ A=`printf 'foo\nbar'`
53 $ hg status --color=always
54 $ B=`printf 'foo\nbar.baz'`
54 \x1b[0;35;1;4m? foo\x1b[0m (esc)
55 $ touch "$A"
55 \x1b[0;35;1;4mbar\x1b[0m (esc)
56 $ touch "$B"
56 \x1b[0;35;1;4m? foo\x1b[0m (esc)
57 $ hg status --color=always
57 \x1b[0;35;1;4mbar.baz\x1b[0m (esc)
@@ -352,10 +352,10 b' Move text file and patch as binary'
352 > EOF
352 > EOF
353 applying patch from stdin
353 applying patch from stdin
354
354
355 $ python $TESTDIR/printrepr.py < binary2
355 $ cat binary2
356 a
356 a
357 b
357 b
358 \x00
358 \x00 (no-eol) (esc)
359
359
360 $ hg st --copies --change .
360 $ hg st --copies --change .
361 A binary2
361 A binary2
@@ -887,3 +887,39 b' File + limit + -ra:b, b < tip, (b - a) <'
887 | | summary: (33) head
887 | | summary: (33) head
888 | |
888 | |
889
889
890 Do not crash or produce strange graphs if history is buggy
891
892 $ commit 36 "buggy merge: identical parents" 35 35
893 $ hg glog -l5
894 @ changeset: 36:95fa8febd08a
895 | tag: tip
896 | parent: 35:9159c3644c5e
897 | parent: 35:9159c3644c5e
898 | user: test
899 | date: Thu Jan 01 00:00:36 1970 +0000
900 | summary: (36) buggy merge: identical parents
901 |
902 o changeset: 35:9159c3644c5e
903 | user: test
904 | date: Thu Jan 01 00:00:00 1970 +0000
905 | summary: 0
906 |
907 o changeset: 34:fea3ac5810e0
908 | parent: 32:d06dffa21a31
909 | user: test
910 | date: Thu Jan 01 00:00:34 1970 +0000
911 | summary: (34) head
912 |
913 | o changeset: 33:68608f5145f9
914 | | parent: 18:1aa84d96232a
915 | | user: test
916 | | date: Thu Jan 01 00:00:33 1970 +0000
917 | | summary: (33) head
918 | |
919 o | changeset: 32:d06dffa21a31
920 |\ \ parent: 27:886ed638191b
921 | | | parent: 31:621d83e11f67
922 | | | user: test
923 | | | date: Thu Jan 01 00:00:32 1970 +0000
924 | | | summary: (32) expand
925 | | |
@@ -33,9 +33,9 b' simple with color'
33
33
34 $ hg --config extensions.color= grep --config color.mode=ansi \
34 $ hg --config extensions.color= grep --config color.mode=ansi \
35 > --color=always port port
35 > --color=always port port
36 port:4:export
36 port:4:ex\x1b[0;31;1mport\x1b[0m (esc)
37 port:4:vaportight
37 port:4:va\x1b[0;31;1mport\x1b[0might (esc)
38 port:4:import/export
38 port:4:im\x1b[0;31;1mport\x1b[0m/export (esc)
39
39
40 all
40 all
41
41
@@ -919,15 +919,13 b' branches'
919
919
920 changegroup
920 changegroup
921
921
922 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=changegroup&roots=0000000000000000000000000000000000000000' \
922 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=changegroup&roots=0000000000000000000000000000000000000000'
923 > | $TESTDIR/printrepr.py
924 200 Script output follows
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
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)
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~\
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)
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
927 \xb0\x90\x92\x88\xb9\x14"\x068\xc2\x1e@\x00\xbb\x8a)\xd3'\x859 (esc)
929 \xb0\x90\x92\x88\xb9\x14"\x068\xc2\x1e@\x00\xbb\x8a)\xd3\'\x859
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)
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
931
929
932 stream_out
930 stream_out
933
931
@@ -583,19 +583,19 b' errors encountered'
583 >
583 >
584 > echo % hgweb filerevision, html
584 > echo % hgweb filerevision, html
585 > "$TESTDIR/get-with-headers.py" localhost:$HGPORT "/file/tip/$2" \
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 > echo % errors encountered
587 > echo % errors encountered
588 > cat errors.log
588 > cat errors.log
589 > }
589 > }
590 $ hgserveget euc-jp eucjp.txt
590 $ hgserveget euc-jp eucjp.txt
591 % HGENCODING=euc-jp hg serve
591 % HGENCODING=euc-jp hg serve
592 % hgweb filerevision, html
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 % errors encountered
594 % errors encountered
595 $ hgserveget utf-8 eucjp.txt
595 $ hgserveget utf-8 eucjp.txt
596 % HGENCODING=utf-8 hg serve
596 % HGENCODING=utf-8 hg serve
597 % hgweb filerevision, html
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 % errors encountered
599 % errors encountered
600 $ hgserveget us-ascii eucjp.txt
600 $ hgserveget us-ascii eucjp.txt
601 % HGENCODING=us-ascii hg serve
601 % HGENCODING=us-ascii hg serve
@@ -5,7 +5,7 b''
5 > }
5 > }
6 $ hg init a
6 $ hg init a
7 $ hg --encoding utf-8 -R a branch æ
7 $ hg --encoding utf-8 -R a branch æ
8 marked working directory as branch æ
8 marked working directory as branch \xc3\xa6 (esc)
9 $ echo foo > a/foo
9 $ echo foo > a/foo
10 $ hg -R a ci -Am foo
10 $ hg -R a ci -Am foo
11 adding foo
11 adding foo
@@ -17,11 +17,11 b''
17 adding manifests
17 adding manifests
18 adding file changes
18 adding file changes
19 added 1 changesets with 1 changes to 1 files
19 added 1 changesets with 1 changes to 1 files
20 updating to branch æ
20 updating to branch \xc3\xa6 (esc)
21 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
22 $ hg --encoding utf-8 -R b log
22 $ hg --encoding utf-8 -R b log
23 changeset: 0:867c11ce77b8
23 changeset: 0:867c11ce77b8
24 branch: æ
24 branch: \xc3\xa6 (esc)
25 tag: tip
25 tag: tip
26 user: test
26 user: test
27 date: Thu Jan 01 00:00:00 1970 +0000
27 date: Thu Jan 01 00:00:00 1970 +0000
@@ -38,14 +38,14 b''
38 remote: added 1 changesets with 1 changes to 1 files
38 remote: added 1 changesets with 1 changes to 1 files
39 $ hg -R a --encoding utf-8 log
39 $ hg -R a --encoding utf-8 log
40 changeset: 1:58e7c90d67cb
40 changeset: 1:58e7c90d67cb
41 branch: æ
41 branch: \xc3\xa6 (esc)
42 tag: tip
42 tag: tip
43 user: test
43 user: test
44 date: Thu Jan 01 00:00:00 1970 +0000
44 date: Thu Jan 01 00:00:00 1970 +0000
45 summary: bar
45 summary: bar
46
46
47 changeset: 0:867c11ce77b8
47 changeset: 0:867c11ce77b8
48 branch: æ
48 branch: \xc3\xa6 (esc)
49 user: test
49 user: test
50 date: Thu Jan 01 00:00:00 1970 +0000
50 date: Thu Jan 01 00:00:00 1970 +0000
51 summary: foo
51 summary: foo
@@ -45,8 +45,13 b' force LF'
45
45
46 $ hg --traceback --config patch.eol='LF' import eol.diff
46 $ hg --traceback --config patch.eol='LF' import eol.diff
47 applying eol.diff
47 applying eol.diff
48 $ python -c 'print repr(file("a","rb").read())'
48 $ cat a
49 'a\nyyyy\ncc\n\nd\ne'
49 a
50 yyyy
51 cc
52
53 d
54 e (no-eol)
50 $ hg st
55 $ hg st
51
56
52
57
@@ -56,8 +61,13 b' force CRLF'
56 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
61 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
57 $ hg --traceback --config patch.eol='CRLF' import eol.diff
62 $ hg --traceback --config patch.eol='CRLF' import eol.diff
58 applying eol.diff
63 applying eol.diff
59 $ python -c 'print repr(file("a","rb").read())'
64 $ cat a
60 'a\r\nyyyy\r\ncc\r\n\r\nd\r\ne'
65 a\r (esc)
66 yyyy\r (esc)
67 cc\r (esc)
68 \r (esc)
69 d\r (esc)
70 e (no-eol)
61 $ hg st
71 $ hg st
62
72
63
73
@@ -67,8 +77,13 b' auto EOL on LF file'
67 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
77 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
68 $ hg --traceback --config patch.eol='auto' import eol.diff
78 $ hg --traceback --config patch.eol='auto' import eol.diff
69 applying eol.diff
79 applying eol.diff
70 $ python -c 'print repr(file("a","rb").read())'
80 $ cat a
71 'a\nyyyy\ncc\n\nd\ne'
81 a
82 yyyy
83 cc
84
85 d
86 e (no-eol)
72 $ hg st
87 $ hg st
73
88
74
89
@@ -78,8 +93,13 b' auto EOL on CRLF file'
78 $ hg commit -m 'switch EOLs in a'
93 $ hg commit -m 'switch EOLs in a'
79 $ hg --traceback --config patch.eol='auto' import eol.diff
94 $ hg --traceback --config patch.eol='auto' import eol.diff
80 applying eol.diff
95 applying eol.diff
81 $ python -c 'print repr(file("a","rb").read())'
96 $ cat a
82 'a\r\nyyyy\r\ncc\r\n\r\nd\r\ne'
97 a\r (esc)
98 yyyy\r (esc)
99 cc\r (esc)
100 \r (esc)
101 d\r (esc)
102 e (no-eol)
83 $ hg st
103 $ hg st
84
104
85
105
@@ -96,10 +116,12 b' auto EOL on new file or source without a'
96 $ rm neweol
116 $ rm neweol
97 $ hg --traceback --config patch.eol='auto' import -m noeol noeol.diff
117 $ hg --traceback --config patch.eol='auto' import -m noeol noeol.diff
98 applying noeol.diff
118 applying noeol.diff
99 $ python -c 'print repr(file("noeol","rb").read())'
119 $ cat noeol
100 'noeol\r\nnoeol\n'
120 noeol\r (esc)
101 $ python -c 'print repr(file("neweol","rb").read())'
121 noeol
102 'neweol\nneweol\r\n'
122 $ cat neweol
123 neweol
124 neweol\r (esc)
103 $ hg st
125 $ hg st
104
126
105
127
@@ -116,7 +138,9 b' binary patch with --eol'
116
138
117 $ hg import --config patch.eol='CRLF' -m changeb bin.diff
139 $ hg import --config patch.eol='CRLF' -m changeb bin.diff
118 applying bin.diff
140 applying bin.diff
119 $ python -c 'print repr(file("b","rb").read())'
141 $ cat b
120 'a\x00\nc\r\nd'
142 a\x00 (esc)
143 c\r (esc)
144 d (no-eol)
121 $ hg st
145 $ hg st
122 $ cd ..
146 $ cd ..
@@ -523,31 +523,31 b' log -p -l2 --color=always'
523
523
524 $ hg --config extensions.color= --config color.mode=ansi \
524 $ hg --config extensions.color= --config color.mode=ansi \
525 > log -p -l2 --color=always
525 > log -p -l2 --color=always
526 changeset: 6:2404bbcab562
526 \x1b[0;33mchangeset: 6:2404bbcab562\x1b[0m (esc)
527 tag: tip
527 tag: tip
528 user: test
528 user: test
529 date: Thu Jan 01 00:00:01 1970 +0000
529 date: Thu Jan 01 00:00:01 1970 +0000
530 summary: b1.1
530 summary: b1.1
531
531
532 diff -r 302e9dd6890d -r 2404bbcab562 b1
532 \x1b[0;1mdiff -r 302e9dd6890d -r 2404bbcab562 b1\x1b[0m (esc)
533 --- a/b1 Thu Jan 01 00:00:01 1970 +0000
533 \x1b[0;31;1m--- a/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
534 +++ b/b1 Thu Jan 01 00:00:01 1970 +0000
534 \x1b[0;32;1m+++ b/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
535 @@ -1,1 +1,2 @@
535 \x1b[0;35m@@ -1,1 +1,2 @@\x1b[0m (esc)
536 b1
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 parent: 3:e62f78d544b4
540 parent: 3:e62f78d544b4
541 parent: 4:ddb82e70d1a1
541 parent: 4:ddb82e70d1a1
542 user: test
542 user: test
543 date: Thu Jan 01 00:00:01 1970 +0000
543 date: Thu Jan 01 00:00:01 1970 +0000
544 summary: m12
544 summary: m12
545
545
546 diff -r e62f78d544b4 -r 302e9dd6890d b2
546 \x1b[0;1mdiff -r e62f78d544b4 -r 302e9dd6890d b2\x1b[0m (esc)
547 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
547 \x1b[0;31;1m--- /dev/null Thu Jan 01 00:00:00 1970 +0000\x1b[0m (esc)
548 +++ b/b2 Thu Jan 01 00:00:01 1970 +0000
548 \x1b[0;32;1m+++ b/b2 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
549 @@ -0,0 +1,1 @@
549 \x1b[0;35m@@ -0,0 +1,1 @@\x1b[0m (esc)
550 +b2
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 $ hg --config extensions.color= qguard --config color.mode=ansi \
219 $ hg --config extensions.color= qguard --config color.mode=ansi \
220 > -l --color=always
220 > -l --color=always
221 a.patch: +1 +2 -3
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 b.patch: +2
222 \x1b[0;34;1;4mb.patch\x1b[0m: \x1b[0;33m+2\x1b[0m (esc)
223 c.patch: unguarded
223 \x1b[0;30;1mc.patch\x1b[0m: \x1b[0;32munguarded\x1b[0m (esc)
224
224
225 should pop b.patch
225 should pop b.patch
226
226
@@ -310,10 +310,10 b' and d.patch as Unapplied'
310 qseries again, but with color
310 qseries again, but with color
311
311
312 $ hg --config extensions.color= qseries -v --color=always
312 $ hg --config extensions.color= qseries -v --color=always
313 0 G new.patch
313 0 G \x1b[0;30;1mnew.patch\x1b[0m (esc)
314 1 G b.patch
314 1 G \x1b[0;30;1mb.patch\x1b[0m (esc)
315 2 A c.patch
315 2 A \x1b[0;34;1;4mc.patch\x1b[0m (esc)
316 3 U d.patch
316 3 U \x1b[0;30;1md.patch\x1b[0m (esc)
317
317
318 $ hg qguard d.patch +2
318 $ hg qguard d.patch +2
319
319
@@ -433,4 +433,4 b' the guards file was not ignored in the p'
433 hg qseries -m with color
433 hg qseries -m with color
434
434
435 $ hg --config extensions.color= qseries -m --color=always
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 transaction abort!
41 transaction abort!
42 rollback completed
42 rollback completed
43 cleaning up working directory...done
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 [255]
45 [255]
46 $ hg parents
46 $ hg parents
47 changeset: 0:bbd179dfa0a7
47 changeset: 0:bbd179dfa0a7
@@ -178,11 +178,11 b' add an untracked file'
178 status --mq with color (issue2096)
178 status --mq with color (issue2096)
179
179
180 $ hg status --mq --config extensions.color= --color=always
180 $ hg status --mq --config extensions.color= --color=always
181 A .hgignore
181 \x1b[0;32;1mA .hgignore\x1b[0m (esc)
182 A A
182 \x1b[0;32;1mA A\x1b[0m (esc)
183 A B
183 \x1b[0;32;1mA B\x1b[0m (esc)
184 A series
184 \x1b[0;32;1mA series\x1b[0m (esc)
185 ? flaf
185 \x1b[0;35;1;4m? flaf\x1b[0m (esc)
186
186
187 try the --mq option on a command provided by an extension
187 try the --mq option on a command provided by an extension
188
188
@@ -148,7 +148,7 b''
148 $ hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip \
148 $ hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip \
149 > --config extensions.progress= --config progress.assume-tty=1 \
149 > --config extensions.progress= --config progress.assume-tty=1 \
150 > --config progress.delay=0 --config progress.refresh=0
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 Write the introductory message for the patch series.
154 Write the introductory message for the patch series.
@@ -1925,7 +1925,7 b' test outgoing:'
1925 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1925 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1926 +++ b/utf Thu Jan 01 00:00:04 1970 +0000
1926 +++ b/utf Thu Jan 01 00:00:04 1970 +0000
1927 @@ -0,0 +1,1 @@
1927 @@ -0,0 +1,1 @@
1928 +hömma!
1928 +h\xc3\xb6mma! (esc)
1929
1929
1930 Displaying [PATCH 3 of 8] charset=utf-8; content-transfer-encoding: quoted-printable ...
1930 Displaying [PATCH 3 of 8] charset=utf-8; content-transfer-encoding: quoted-printable ...
1931 Content-Type: text/plain; charset="us-ascii"
1931 Content-Type: text/plain; charset="us-ascii"
@@ -1996,7 +1996,7 b' test outgoing:'
1996 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1996 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1997 +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000
1997 +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000
1998 @@ -0,0 +1,1 @@
1998 @@ -0,0 +1,1 @@
1999 +hmma!
1999 +h\xf6mma! (esc)
2000
2000
2001 Displaying [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a ...
2001 Displaying [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a ...
2002 Content-Type: text/plain; charset="us-ascii"
2002 Content-Type: text/plain; charset="us-ascii"
@@ -51,7 +51,7 b' test with delay=0, refresh=0'
51 loop [ ] 0/3
51 loop [ ] 0/3
52 loop [=====================> ] 1/3
52 loop [=====================> ] 1/3
53 loop [============================================> ] 2/3
53 loop [============================================> ] 2/3
54
54 \r (esc)
55
55
56 test refresh is taken in account
56 test refresh is taken in account
57
57
@@ -64,7 +64,7 b' test format options 1'
64
64
65 0/2 loop lo
65 0/2 loop lo
66 1/2 loop lo
66 1/2 loop lo
67
67 \r (esc)
68
68
69 test format options 2
69 test format options 2
70
70
@@ -72,7 +72,7 b' test format options 2'
72
72
73 0/2 p.0 [ ]
73 0/2 p.0 [ ]
74 1/2 p.1 [=================================> ]
74 1/2 p.1 [=================================> ]
75
75 \r (esc)
76
76
77 test format options and indeterminate progress
77 test format options and indeterminate progress
78
78
@@ -80,7 +80,7 b' test format options and indeterminate pr'
80
80
81 0 loop.0 [ <=> ]
81 0 loop.0 [ <=> ]
82 1 loop.1 [ <=> ]
82 1 loop.1 [ <=> ]
83
83 \r (esc)
84
84
85 make sure things don't fall over if count > total
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 loop [==================================================> ] 3/4
92 loop [==================================================> ] 3/4
93 loop [===================================================================>] 4/4
93 loop [===================================================================>] 4/4
94 loop [ <=> ] 5/4
94 loop [ <=> ] 5/4
95
95 \r (esc)
96
96
97 test immediate progress completion
97 test immediate progress completion
98
98
@@ -302,5 +302,3 b" After qrecord b.patch 'tip'"
302 After qrecord b.patch 'diff'
302 After qrecord b.patch 'diff'
303
303
304 $ hg diff --nodates
304 $ hg diff --nodates
305
306 End No newline at end of file
@@ -66,7 +66,7 b''
66 $ hg co 4
66 $ hg co 4
67 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
67 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
68 $ hg branch é
68 $ hg branch é
69 marked working directory as branch é
69 marked working directory as branch \xc3\xa9 (esc)
70 $ hg ci -Aqm9
70 $ hg ci -Aqm9
71
71
72 $ hg tag -r6 1.0
72 $ hg tag -r6 1.0
@@ -2,6 +2,8 b' Simple commands:'
2
2
3 $ echo foo
3 $ echo foo
4 foo
4 foo
5 $ printf 'oh no'
6 oh no (no-eol)
5 $ printf 'bar\nbaz\n' | cat
7 $ printf 'bar\nbaz\n' | cat
6 bar
8 bar
7 baz
9 baz
@@ -104,9 +104,9 b' binary file'
104
104
105 binary file --text
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 warning: binary-local looks like a binary file.
108 warning: binary-local looks like a binary file.
109 \x00local
109 \x00local (esc)
110 base
110 base
111 other
111 other
112
112
@@ -11,100 +11,100 b''
11 hg status in repo root:
11 hg status in repo root:
12
12
13 $ hg status --color=always
13 $ hg status --color=always
14 ? a/1/in_a_1
14 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
15 ? a/in_a
15 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
16 ? b/1/in_b_1
16 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
17 ? b/2/in_b_2
17 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
18 ? b/in_b
18 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
19 ? in_root
19 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
20
20
21 hg status . in repo root:
21 hg status . in repo root:
22
22
23 $ hg status --color=always .
23 $ hg status --color=always .
24 ? a/1/in_a_1
24 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
25 ? a/in_a
25 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
26 ? b/1/in_b_1
26 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
27 ? b/2/in_b_2
27 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
28 ? b/in_b
28 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
29 ? in_root
29 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
30
30
31 $ hg status --color=always --cwd a
31 $ hg status --color=always --cwd a
32 ? a/1/in_a_1
32 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
33 ? a/in_a
33 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
34 ? b/1/in_b_1
34 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
35 ? b/2/in_b_2
35 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
36 ? b/in_b
36 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
37 ? in_root
37 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
38 $ hg status --color=always --cwd a .
38 $ hg status --color=always --cwd a .
39 ? 1/in_a_1
39 \x1b[0;35;1;4m? 1/in_a_1\x1b[0m (esc)
40 ? in_a
40 \x1b[0;35;1;4m? in_a\x1b[0m (esc)
41 $ hg status --color=always --cwd a ..
41 $ hg status --color=always --cwd a ..
42 ? 1/in_a_1
42 \x1b[0;35;1;4m? 1/in_a_1\x1b[0m (esc)
43 ? in_a
43 \x1b[0;35;1;4m? in_a\x1b[0m (esc)
44 ? ../b/1/in_b_1
44 \x1b[0;35;1;4m? ../b/1/in_b_1\x1b[0m (esc)
45 ? ../b/2/in_b_2
45 \x1b[0;35;1;4m? ../b/2/in_b_2\x1b[0m (esc)
46 ? ../b/in_b
46 \x1b[0;35;1;4m? ../b/in_b\x1b[0m (esc)
47 ? ../in_root
47 \x1b[0;35;1;4m? ../in_root\x1b[0m (esc)
48
48
49 $ hg status --color=always --cwd b
49 $ hg status --color=always --cwd b
50 ? a/1/in_a_1
50 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
51 ? a/in_a
51 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
52 ? b/1/in_b_1
52 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
53 ? b/2/in_b_2
53 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
54 ? b/in_b
54 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
55 ? in_root
55 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
56 $ hg status --color=always --cwd b .
56 $ hg status --color=always --cwd b .
57 ? 1/in_b_1
57 \x1b[0;35;1;4m? 1/in_b_1\x1b[0m (esc)
58 ? 2/in_b_2
58 \x1b[0;35;1;4m? 2/in_b_2\x1b[0m (esc)
59 ? in_b
59 \x1b[0;35;1;4m? in_b\x1b[0m (esc)
60 $ hg status --color=always --cwd b ..
60 $ hg status --color=always --cwd b ..
61 ? ../a/1/in_a_1
61 \x1b[0;35;1;4m? ../a/1/in_a_1\x1b[0m (esc)
62 ? ../a/in_a
62 \x1b[0;35;1;4m? ../a/in_a\x1b[0m (esc)
63 ? 1/in_b_1
63 \x1b[0;35;1;4m? 1/in_b_1\x1b[0m (esc)
64 ? 2/in_b_2
64 \x1b[0;35;1;4m? 2/in_b_2\x1b[0m (esc)
65 ? in_b
65 \x1b[0;35;1;4m? in_b\x1b[0m (esc)
66 ? ../in_root
66 \x1b[0;35;1;4m? ../in_root\x1b[0m (esc)
67
67
68 $ hg status --color=always --cwd a/1
68 $ hg status --color=always --cwd a/1
69 ? a/1/in_a_1
69 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
70 ? a/in_a
70 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
71 ? b/1/in_b_1
71 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
72 ? b/2/in_b_2
72 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
73 ? b/in_b
73 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
74 ? in_root
74 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
75 $ hg status --color=always --cwd a/1 .
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 $ hg status --color=always --cwd a/1 ..
77 $ hg status --color=always --cwd a/1 ..
78 ? in_a_1
78 \x1b[0;35;1;4m? in_a_1\x1b[0m (esc)
79 ? ../in_a
79 \x1b[0;35;1;4m? ../in_a\x1b[0m (esc)
80
80
81 $ hg status --color=always --cwd b/1
81 $ hg status --color=always --cwd b/1
82 ? a/1/in_a_1
82 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
83 ? a/in_a
83 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
84 ? b/1/in_b_1
84 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
85 ? b/2/in_b_2
85 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
86 ? b/in_b
86 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
87 ? in_root
87 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
88 $ hg status --color=always --cwd b/1 .
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 $ hg status --color=always --cwd b/1 ..
90 $ hg status --color=always --cwd b/1 ..
91 ? in_b_1
91 \x1b[0;35;1;4m? in_b_1\x1b[0m (esc)
92 ? ../2/in_b_2
92 \x1b[0;35;1;4m? ../2/in_b_2\x1b[0m (esc)
93 ? ../in_b
93 \x1b[0;35;1;4m? ../in_b\x1b[0m (esc)
94
94
95 $ hg status --color=always --cwd b/2
95 $ hg status --color=always --cwd b/2
96 ? a/1/in_a_1
96 \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc)
97 ? a/in_a
97 \x1b[0;35;1;4m? a/in_a\x1b[0m (esc)
98 ? b/1/in_b_1
98 \x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc)
99 ? b/2/in_b_2
99 \x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc)
100 ? b/in_b
100 \x1b[0;35;1;4m? b/in_b\x1b[0m (esc)
101 ? in_root
101 \x1b[0;35;1;4m? in_root\x1b[0m (esc)
102 $ hg status --color=always --cwd b/2 .
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 $ hg status --color=always --cwd b/2 ..
104 $ hg status --color=always --cwd b/2 ..
105 ? ../1/in_b_1
105 \x1b[0;35;1;4m? ../1/in_b_1\x1b[0m (esc)
106 ? in_b_2
106 \x1b[0;35;1;4m? in_b_2\x1b[0m (esc)
107 ? ../in_b
107 \x1b[0;35;1;4m? ../in_b\x1b[0m (esc)
108 $ cd ..
108 $ cd ..
109
109
110 $ hg init repo2
110 $ hg init repo2
@@ -124,44 +124,44 b' hg status . in repo root:'
124 hg status:
124 hg status:
125
125
126 $ hg status --color=always
126 $ hg status --color=always
127 A added
127 \x1b[0;32;1mA added\x1b[0m (esc)
128 R removed
128 \x1b[0;31;1mR removed\x1b[0m (esc)
129 ! deleted
129 \x1b[0;36;1;4m! deleted\x1b[0m (esc)
130 ? unknown
130 \x1b[0;35;1;4m? unknown\x1b[0m (esc)
131
131
132 hg status modified added removed deleted unknown never-existed ignored:
132 hg status modified added removed deleted unknown never-existed ignored:
133
133
134 $ hg status --color=always modified added removed deleted unknown never-existed ignored
134 $ hg status --color=always modified added removed deleted unknown never-existed ignored
135 never-existed: No such file or directory
135 never-existed: No such file or directory
136 A added
136 \x1b[0;32;1mA added\x1b[0m (esc)
137 R removed
137 \x1b[0;31;1mR removed\x1b[0m (esc)
138 ! deleted
138 \x1b[0;36;1;4m! deleted\x1b[0m (esc)
139 ? unknown
139 \x1b[0;35;1;4m? unknown\x1b[0m (esc)
140
140
141 $ hg copy modified copied
141 $ hg copy modified copied
142
142
143 hg status -C:
143 hg status -C:
144
144
145 $ hg status --color=always -C
145 $ hg status --color=always -C
146 A added
146 \x1b[0;32;1mA added\x1b[0m (esc)
147 A copied
147 \x1b[0;32;1mA copied\x1b[0m (esc)
148  modified
148 \x1b[0;0m modified\x1b[0m (esc)
149 R removed
149 \x1b[0;31;1mR removed\x1b[0m (esc)
150 ! deleted
150 \x1b[0;36;1;4m! deleted\x1b[0m (esc)
151 ? unknown
151 \x1b[0;35;1;4m? unknown\x1b[0m (esc)
152
152
153 hg status -A:
153 hg status -A:
154
154
155 $ hg status --color=always -A
155 $ hg status --color=always -A
156 A added
156 \x1b[0;32;1mA added\x1b[0m (esc)
157 A copied
157 \x1b[0;32;1mA copied\x1b[0m (esc)
158  modified
158 \x1b[0;0m modified\x1b[0m (esc)
159 R removed
159 \x1b[0;31;1mR removed\x1b[0m (esc)
160 ! deleted
160 \x1b[0;36;1;4m! deleted\x1b[0m (esc)
161 ? unknown
161 \x1b[0;35;1;4m? unknown\x1b[0m (esc)
162 I ignored
162 \x1b[0;30;1mI ignored\x1b[0m (esc)
163 C .hgignore
163 \x1b[0;0mC .hgignore\x1b[0m (esc)
164 C modified
164 \x1b[0;0mC modified\x1b[0m (esc)
165
165
166
166
167 $ echo "^ignoreddir$" > .hgignore
167 $ echo "^ignoreddir$" > .hgignore
@@ -175,7 +175,7 b' hg status ignoreddir/file:'
175 hg status -i ignoreddir/file:
175 hg status -i ignoreddir/file:
176
176
177 $ hg status --color=always -i ignoreddir/file
177 $ hg status --color=always -i ignoreddir/file
178 I ignoreddir/file
178 \x1b[0;30;1mI ignoreddir/file\x1b[0m (esc)
179 $ cd ..
179 $ cd ..
180
180
181 check 'status -q' and some combinations
181 check 'status -q' and some combinations
@@ -201,11 +201,11 b' test unknown color'
201 $ hg --config color.status.modified=periwinkle status --color=always
201 $ hg --config color.status.modified=periwinkle status --color=always
202 ignoring unknown color/effect 'periwinkle' (configured in color.status.modified)
202 ignoring unknown color/effect 'periwinkle' (configured in color.status.modified)
203 M modified
203 M modified
204 A added
204 \x1b[0;32;1mA added\x1b[0m (esc)
205 A copied
205 \x1b[0;32;1mA copied\x1b[0m (esc)
206 R removed
206 \x1b[0;31;1mR removed\x1b[0m (esc)
207 ! deleted
207 \x1b[0;36;1;4m! deleted\x1b[0m (esc)
208 ? unknown
208 \x1b[0;35;1;4m? unknown\x1b[0m (esc)
209
209
210 Run status with 2 different flags.
210 Run status with 2 different flags.
211 Check if result is the same or different.
211 Check if result is the same or different.
@@ -275,5 +275,5 b" test 'resolve -l'"
275 hg resolve with one unresolved, one resolved:
275 hg resolve with one unresolved, one resolved:
276
276
277 $ hg resolve --color=always -l
277 $ hg resolve --color=always -l
278 U a
278 \x1b[0;31;1mU a\x1b[0m (esc)
279 R b
279 \x1b[0;32;1mR b\x1b[0m (esc)
@@ -357,6 +357,7 b' test with a win32ext like setup (differi'
357 $ hg transplant -s ../twin1 tip
357 $ hg transplant -s ../twin1 tip
358 applying 2e849d776c17
358 applying 2e849d776c17
359 2e849d776c17 transplanted to 589cea8ba85b
359 2e849d776c17 transplanted to 589cea8ba85b
360 $ python -c "print repr(file('b', 'rb').read())"
360 $ cat b
361 'a\r\nb\r\n'
361 a\r (esc)
362 b\r (esc)
362 $ cd ..
363 $ cd ..
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now