view tests/test-eol-add @ 12382:28ddf67198b2 stable

log: include unmodified-in-merge files in log diff/stat (issue2383) f786fc4b8764 assumed that walkchangerevs called prep with all relevant matched filenames, but actually it only contains the names of files changed in the relevant changeset. That meant that log diff/stat of merges missed the diff for files only changed in the other branch. This is a minimal fix for making sure we only use fns when we are following and thus will have problems with merges anyway ...
author Mads Kiilerich <mads@kiilerich.com>
date Thu, 23 Sep 2010 01:23:16 +0200
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