--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-eol-patch Mon May 31 21:37:01 2010 +0200
@@ -0,0 +1,103 @@
+#!/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