view tests/test-grep @ 11715:4f9dfb54c8b5 stable

qpush --move: move the right patch even with comment lines 88fc876a4833 caused that we find the index of the moving patch in self.series but look it up in self.full_series. The difference between these is that full_series also contains comment lines, and we thus moved the wrong patch. Use back self.full_series to find the moving patch, but take care of striping the patch guard markers before comparing the patch name. Test cases have been added for comments and empty lines in self.full_series, and for the case of guarded patches. Original patch contributed by Mads Kiilerich <mads@kiilerich.com>
author Gilles Moris <gilles.moris@free.fr>
date Sat, 10 Jul 2010 21:23:00 +0200
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