Mercurial > hg
view tests/test-import-eol @ 9954:d6a307719ccb stable
fix bug in prepush logic involving merge changesets
When creating new branches and merging them into existing ones, you would
sometimes be able to push some changesets (the existing branches) without using
--force, even when that creates a new head on the remote.
A test which triggers the error has been added.
author | Sune Foldager <cryo@cyanite.org> |
---|---|
date | Mon, 30 Nov 2009 14:58:52 +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 ..