Mercurial > hg
view tests/test-import-eol @ 10505:b3311e26f94f stable
merge: fix --preview to show all nodes that will be merged (issue2043).
Formerly, it omitted nodes that were not descendants of the least
common ancestor of the two merge parents, even though those nodes
contribute to the merge. The new algorithm uses revlog.findmissing()
instead of ancestor() + nodesbetween().
author | Greg Ward <greg-hg@gerg.ca> |
---|---|
date | Mon, 15 Feb 2010 15:25:29 -0500 |
parents | 7936cd261dc9 |
children |
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 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 ..