Mercurial > hg
diff tests/test-eol-patch @ 11249:0bb67503ad4b stable
eol: extension for managing file EOLs
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Mon, 31 May 2010 21:37:01 +0200 |
parents | |
children |
line wrap: on
line diff
--- /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