|
|
#!/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
|
|
|
|