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