test-import-eol
85 lines
| 2.1 KiB
| text/plain
|
TextLexer
/ tests / test-import-eol
Patrick Mezard
|
r8810 | #!/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') | ||||
Colin Caughie
|
r8817 | w('-bbb\r\n') | ||
w('+yyyy\r\n') | ||||
w(' cc\r\n') | ||||
w(' \n') | ||||
Patrick Mezard
|
r8810 | 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 | ||||
Colin Caughie
|
r8817 | python -c 'file("a", "wb").write("a\nbbb\ncc\n\nd\ne")' | ||
Patrick Mezard
|
r8810 | hg ci -Am adda | ||
python ../makepatch.py | ||||
Martin Geisler
|
r10102 | |||
Patrick Mezard
|
r8810 | echo % invalid eol | ||
hg --config patch.eol='LFCR' import eol.diff | ||||
hg revert -a | ||||
Martin Geisler
|
r10102 | |||
Patrick Mezard
|
r8810 | echo % force LF | ||
hg --traceback --config patch.eol='LF' import eol.diff | ||||
python -c 'print repr(file("a","rb").read())' | ||||
hg st | ||||
Martin Geisler
|
r10102 | |||
Patrick Mezard
|
r8810 | 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 | ||||
Martin Geisler
|
r10102 | 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 | ||||
Patrick Mezard
|
r10127 | 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 | ||||
Patrick Mezard
|
r8810 | # Test --eol and binary patches | ||
Patrick Mezard
|
r10130 | python -c 'file("b", "wb").write("a\x00\nb\r\nd")' | ||
Patrick Mezard
|
r8810 | hg ci -Am addb | ||
Patrick Mezard
|
r10130 | python -c 'file("b", "wb").write("a\x00\nc\r\nd")' | ||
Patrick Mezard
|
r8810 | 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 .. | ||||