tests/test-mq-eol
changeset 8811 8b35b08724eb
child 10128 ea7c392f2b08
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-mq-eol	Mon Jun 15 00:03:27 2009 +0200
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+# Test interactions between mq and patch.eol
+
+echo "[extensions]" >> $HGRCPATH
+echo "mq=" >> $HGRCPATH
+
+cat > makepatch.py <<EOF
+f = file('eol.diff', 'wb')
+w = f.write
+w('test message\n')
+w('diff --git a/a b/a\n')
+w('--- a/a\n')
+w('+++ b/a\n')
+w('@@ -1,5 +1,5 @@\n')
+w(' a\n')
+w('-b\r\n')
+w('+y\r\n')
+w(' c\r\n')
+w(' d\n')
+w('-e\n')
+w('\ No newline at end of file\n')
+w('+z\r\n')
+w('\ No newline at end of file\r\n')
+EOF
+
+cat > cateol.py <<EOF
+import sys
+for line in file(sys.argv[1], 'rb'):
+    line = line.replace('\r', '<CR>')
+    line = line.replace('\n', '<LF>')
+    print line
+EOF
+
+hg init repo
+cd repo
+echo '\.diff' > .hgignore
+echo '\.rej' >> .hgignore
+
+# Test different --eol values
+python -c 'file("a", "wb").write("a\nb\nc\nd\ne")'
+hg ci -Am adda
+python ../makepatch.py
+hg qimport eol.diff
+echo % should fail in strict mode
+hg qpush
+hg qpop
+echo % invalid eol
+hg --config patch.eol='LFCR' qpush
+hg qpop
+echo % force LF
+hg --config patch.eol='CRLF' qpush
+hg qrefresh
+python ../cateol.py .hg/patches/eol.diff
+python ../cateol.py a
+hg qpop
+echo % push again forcing LF and compare revisions
+hg --config patch.eol='CRLF' qpush
+python ../cateol.py a
+hg qpop
+echo % push again without LF and compare revisions
+hg qpush
+python ../cateol.py a
+hg qpop