Mercurial > hg
view tests/test-grep @ 12717:89df79b3c011 stable
convert/darcs: support changelogs with bytes 0x7F-0xFF (issue2411)
This is a followup to 4481f8a93c7a, which only fixed the conversion of
patches with UTF-8 metadata.
This patch allows a changelog to have any bytes with values
0x7F-0xFF. It parses the XML changelog as Latin-1 and uses
converter_source.recode() to decode the data as UTF-8/Latin-1.
Caveats:
- Since the convert extension doesn't provide any way to specify the
source encoding, users are still limited to UTF-8 and Latin-1.
- etree will still complain if the changelog has bytes with values
0x00-0x19. XML only allows printable characters.
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Fri, 01 Oct 2010 10:15:04 -0500 |
parents | df5d1d571d27 |
children |
line wrap: on
line source
#!/bin/sh mkdir t cd t hg init echo import > port hg add port hg commit -m 0 -u spam -d '0 0' echo export >> port hg commit -m 1 -u eggs -d '1 0' echo export > port echo vaportight >> port echo 'import/export' >> port hg commit -m 2 -u spam -d '2 0' echo 'import/export' >> port hg commit -m 3 -u eggs -d '3 0' head -n 3 port > port1 mv port1 port hg commit -m 4 -u spam -d '4 0' echo % pattern error hg grep '**test**' echo % simple hg grep port port echo % simple with color hg --config extensions.color= grep --config color.mode=ansi \ --color=always port port echo % all hg grep --traceback --all -nu port port echo % other hg grep import port hg cp port port2 hg commit -m 4 -u spam -d '5 0' echo % follow hg grep --traceback -f 'import$' port2 echo deport >> port2 hg commit -m 5 -u eggs -d '6 0' hg grep -f --all -nu port port2 cd .. hg init t2 cd t2 hg grep foobar foo hg grep foobar echo blue >> color echo black >> color hg add color hg ci -m 0 echo orange >> color hg ci -m 1 echo black > color hg ci -m 2 echo orange >> color echo blue >> color hg ci -m 3 hg grep orange hg grep --all orange echo % match in last "line" without newline python -c 'fp = open("noeol", "wb"); fp.write("no infinite loop"); fp.close();' hg ci -Amnoeol echo % last character omitted in output to avoid infinite loop hg grep loop # Got a traceback when using grep on a single # revision with renamed files. cd .. echo % issue 685 hg init issue685 cd issue685 echo octarine > color hg ci -Amcolor hg rename color colour hg ci -Am rename hg grep octarine # Used to crash here hg grep -r 1 octarine # Issue337: test that grep follows parent-child relationships instead # of just using revision numbers. cd .. echo % issue 337 hg init issue337 cd issue337 echo white > color hg commit -A -m "0 white" echo red > color hg commit -A -m "1 red" hg update 0 echo black > color hg commit -A -m "2 black" hg update --clean 1 echo blue > color hg commit -A -m "3 blue" hg grep --all red