view tests/test-mq-eol @ 9815:49efeed49c94

rebase: make sure the newancestor is used during the whole update (issue1561) Before this change, newancestor was used only once as a replacement for ancestor.ancestor, but merge.update calls ancestor.ancestor several times, so it ends up with the "wrong" ancestor (the real ancestor, but we want the parent of the rebased changeset for all but the first rebased changeset). Added a new test case for this: test-rebase-newancestor. Also, in one scenario in test-rebase-collapse, there was a spurious conflict caused by the same issue, so that test case was fixed by removing the now unneeded conflict resolution and the output was adapted accordingly.
author Christian Boos <cboos@bct-technology.com>
date Mon, 09 Nov 2009 20:15:49 +0100
parents 8b35b08724eb
children ea7c392f2b08
line wrap: on
line source

#!/bin/sh

# Test interactions between mq and patch.eol

echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH

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('-b\r\n')
w('+y\r\n')
w(' c\r\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

cat > cateol.py <<EOF
import sys
for line in file(sys.argv[1], 'rb'):
    line = line.replace('\r', '<CR>')
    line = line.replace('\n', '<LF>')
    print line
EOF

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

# Test different --eol values
python -c 'file("a", "wb").write("a\nb\nc\nd\ne")'
hg ci -Am adda
python ../makepatch.py
hg qimport eol.diff
echo % should fail in strict mode
hg qpush
hg qpop
echo % invalid eol
hg --config patch.eol='LFCR' qpush
hg qpop
echo % force LF
hg --config patch.eol='CRLF' qpush
hg qrefresh
python ../cateol.py .hg/patches/eol.diff
python ../cateol.py a
hg qpop
echo % push again forcing LF and compare revisions
hg --config patch.eol='CRLF' qpush
python ../cateol.py a
hg qpop
echo % push again without LF and compare revisions
hg qpush
python ../cateol.py a
hg qpop