sapling/tests/test-eol-update
2010-05-31 21:37:01 +02:00

84 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
cat > $HGRCPATH <<EOF
[diff]
git = 1
EOF
seteol () {
if [ $1 = "LF" ]; then
EOL='\n'
else
EOL='\r\n'
fi
}
makerepo () {
echo
echo "# ==== setup repository ===="
echo '% hg init'
hg init repo
cd repo
cat > .hgeol <<EOF
[patterns]
**.txt = LF
EOF
printf "first\nsecond\nthird\n" > a.txt
hg commit --addremove -m 'LF commit'
cat > .hgeol <<EOF
[patterns]
**.txt = CRLF
EOF
printf "first\r\nsecond\r\nthird\r\n" > a.txt
hg commit -m 'CRLF commit'
cd ..
}
dotest () {
seteol $1
echo
echo "% hg clone repo repo-$1"
hg clone --noupdate repo repo-$1
cd repo-$1
cat > .hg/hgrc <<EOF
[extensions]
eol =
EOF
hg update
echo '% printrepr.py a.txt (before)'
python $TESTDIR/printrepr.py < a.txt
printf "first${EOL}third${EOL}" > a.txt
echo '% printrepr.py a.txt (after)'
python $TESTDIR/printrepr.py < a.txt
echo '% hg diff'
hg diff | python $TESTDIR/printrepr.py
echo '% hg update 0'
hg update 0
echo '% printrepr.py a.txt'
python $TESTDIR/printrepr.py < a.txt
echo '% hg diff'
hg diff | python $TESTDIR/printrepr.py
cd ..
rm -r repo-$1
}
makerepo
dotest LF
dotest CRLF
rm -r repo