view tests/test-import-eol @ 10092:f1bf64abcb1b stable

doc/Makefile: Fix rst2html detection Displaying the output from the failing call to "which" didn't prevent make from doing stupid things later. We now only search for "rst2html" and fallback to "rst2html.py". If neither name is found, make will eventually abort when we try to use $(RST2HTML).
author Mads Kiilerich <mads@kiilerich.com>
date Wed, 16 Dec 2009 23:59:50 +0100
parents 6c9dce20ed70
children 1720d70cd6d4
line wrap: on
line source

#!/bin/sh

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('-bbb\r\n')
w('+yyyy\r\n')
w(' cc\r\n')
w(' \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

hg init repo
cd repo
echo '\.diff' > .hgignore

# Test different --eol values
python -c 'file("a", "wb").write("a\nbbb\ncc\n\nd\ne")'
hg ci -Am adda
python ../makepatch.py
echo % invalid eol
hg --config patch.eol='LFCR' import eol.diff
hg revert -a
echo % force LF
hg --traceback --config patch.eol='LF' import eol.diff
python -c 'print repr(file("a","rb").read())'
hg st
echo % force CRLF
hg up -C 0
hg --traceback --config patch.eol='CRLF' import eol.diff
python -c 'print repr(file("a","rb").read())'
hg st

# Test --eol and binary patches
python -c 'file("b", "wb").write("a\x00\nb")'
hg ci -Am addb
python -c 'file("b", "wb").write("a\x00\nc")'
hg diff --git > bin.diff
hg revert --no-backup b
echo % binary patch with --eol
hg import --config patch.eol='CRLF' -m changeb bin.diff
python -c 'print repr(file("b","rb").read())'
hg st
cd ..