|
|
#!/bin/sh
|
|
|
|
|
|
cat > $HGRCPATH <<EOF
|
|
|
[diff]
|
|
|
git = 1
|
|
|
EOF
|
|
|
|
|
|
seteol () {
|
|
|
if [ $1 = "LF" ]; then
|
|
|
EOL='\n'
|
|
|
else
|
|
|
EOL='\r\n'
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
makerepo () {
|
|
|
seteol $1
|
|
|
echo
|
|
|
echo "# ==== setup $1 repository ===="
|
|
|
echo '% hg init'
|
|
|
hg init repo
|
|
|
cd repo
|
|
|
|
|
|
cat > .hgeol <<EOF
|
|
|
[repository]
|
|
|
native = $1
|
|
|
|
|
|
[patterns]
|
|
|
unix.txt = LF
|
|
|
win.txt = CRLF
|
|
|
**.txt = native
|
|
|
EOF
|
|
|
|
|
|
printf "first\r\nsecond\r\nthird\r\n" > win.txt
|
|
|
printf "first\nsecond\nthird\n" > unix.txt
|
|
|
printf "first${EOL}second${EOL}third${EOL}" > native.txt
|
|
|
hg commit --addremove -m 'checkin'
|
|
|
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 =
|
|
|
|
|
|
[eol]
|
|
|
native = $1
|
|
|
EOF
|
|
|
|
|
|
hg update
|
|
|
echo '% printrepr.py native.txt'
|
|
|
python $TESTDIR/printrepr.py < native.txt
|
|
|
|
|
|
echo '% printrepr.py unix.txt'
|
|
|
python $TESTDIR/printrepr.py < unix.txt
|
|
|
|
|
|
echo '% printrepr.py win.txt'
|
|
|
python $TESTDIR/printrepr.py < win.txt
|
|
|
|
|
|
printf "first${EOL}third${EOL}" > native.txt
|
|
|
printf "first\r\nthird\r\n" > win.txt
|
|
|
printf "first\nthird\n" > unix.txt
|
|
|
|
|
|
echo '% hg diff'
|
|
|
hg diff > p
|
|
|
python $TESTDIR/printrepr.py < p
|
|
|
|
|
|
echo '% hg revert'
|
|
|
hg revert --all
|
|
|
|
|
|
echo '% hg import'
|
|
|
hg import -m 'patch' p
|
|
|
|
|
|
echo '% printrepr.py native.txt'
|
|
|
python $TESTDIR/printrepr.py < native.txt
|
|
|
echo '% printrepr.py unix.txt'
|
|
|
python $TESTDIR/printrepr.py < unix.txt
|
|
|
echo '% printrepr.py win.txt'
|
|
|
python $TESTDIR/printrepr.py < win.txt
|
|
|
|
|
|
echo '% hg diff -c tip'
|
|
|
hg diff -c tip | python $TESTDIR/printrepr.py
|
|
|
|
|
|
cd ..
|
|
|
rm -r repo-$1
|
|
|
}
|
|
|
|
|
|
makerepo LF
|
|
|
dotest LF
|
|
|
dotest CRLF
|
|
|
rm -r repo
|
|
|
|
|
|
makerepo CRLF
|
|
|
dotest LF
|
|
|
dotest CRLF
|
|
|
rm -r repo
|
|
|
|