view tests/test-eol-add @ 12317:ed639917c825 stable

test-eol-update: record new results as correct Changeset 0852da25a31b changed the result of this test. The 'hg update 0' command, which causes a merge of modified a.txt, now leaves a.txt in the EOLN format specified by .hgeol as it was committed in revision 0. Previously, it used the .hgeol contents from the working directory before the update.
author Steve Borho <steve@borho.org>
date Fri, 17 Sep 2010 12:44:35 -0500
parents 0bb67503ad4b
children
line wrap: on
line source

#!/bin/sh

cat > $HGRCPATH <<EOF
[diff]
git = 1
EOF

seteol () {
    if [ $1 = "LF" ]; then
        EOL='\n'
    else
        EOL='\r\n'
    fi
}

makerepo () {
    echo
    echo "# ==== setup repository ===="
    echo '% hg init'
    hg init repo
    cd repo

    printf "first\nsecond\nthird\n" > a.txt
    hg commit -d '100 0' --addremove -m 'LF commit'
    cd ..
}

dotest () {
    seteol $1

    echo
    echo "% hg clone repo repo-$1"
    hg clone repo repo-$1
    cd repo-$1

    cat > .hg/hgrc <<EOF
[extensions]
eol =

[eol]
native = LF
EOF

    cat > .hgeol <<EOF
[patterns]
**.txt = native

[repository]
native = $1
EOF

    echo '% hg add .hgeol'
    hg add .hgeol
    echo '% hg status'
    hg status

    echo '% hg commit'
    hg commit -d '200 0' -m 'Added .hgeol file'

    echo '% hg status'
    hg status

    echo '% hg tip -p'
    hg tip -p | python $TESTDIR/printrepr.py

    cd ..
    rm -r repo-$1
}

makerepo
dotest LF
dotest CRLF
rm -r repo