Mercurial > hg-stable
view tests/test-grep @ 10203:6e26e3c2083f stable
patch: explicitely close input patch files when leaving
If applydiff() raises an exception, the opened patch file is kept alive in the
exception context. If it is a temporary file (for instance supplied by import
command with stdin input), Windows cannot clean it up.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Sun, 03 Jan 2010 19:47:07 +0100 |
parents | 1ef630452e0b |
children | 717c35d55fb3 |
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 % 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