#!/bin/sh cat > makepatch.py < .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 echo % auto EOL on LF file hg up -C 0 hg --traceback --config patch.eol='auto' import eol.diff python -c 'print repr(file("a","rb").read())' hg st echo % auto EOL on CRLF file python -c 'file("a", "wb").write("a\r\nbbb\r\ncc\r\n\r\nd\r\ne")' hg commit -m 'switch EOLs in a' hg --traceback --config patch.eol='auto' import eol.diff python -c 'print repr(file("a","rb").read())' hg st echo % auto EOL on new file or source without any EOL python -c 'file("noeol", "wb").write("noeol")' hg add noeol hg commit -m 'add noeol' python -c 'file("noeol", "wb").write("noeol\r\nnoeol\n")' python -c 'file("neweol", "wb").write("neweol\nneweol\r\n")' hg add neweol hg diff --git > noeol.diff hg revert --no-backup noeol neweol rm neweol hg --traceback --config patch.eol='auto' import -m noeol noeol.diff python -c 'print repr(file("noeol","rb").read())' python -c 'print repr(file("neweol","rb").read())' hg st # Test --eol and binary patches python -c 'file("b", "wb").write("a\x00\nb\r\nd")' hg ci -Am addb python -c 'file("b", "wb").write("a\x00\nc\r\nd")' 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 ..