view tests/test-merge-types @ 5675:a5fe27b83a4a

Issue 882: add standard hook to reject text files with CRLF. While the win32text extension does LF <-> CRLF conversion, and will issue a warning in case a file already in the repository uses CRLF, it provides no mechanism for verifying that incoming changes use LF. In a large development team with some Windows users, it is virtually guaranteed that someone will forget to set up the encode filter correctly and accidentally check in a file using CRLF, which can cause warnings for other Windows users when they next fetch changes. Since this is a general problem it is desirable to have a pre-commit (or -push) hook available to reject such accidents earlier rather than trying to fix them up after the fact.
author Jesse Glick <jesse.glick@sun.com>
date Wed, 19 Dec 2007 17:02:31 -0500
parents 6f26c7677463
children 048889f8c7d1
line wrap: on
line source

#!/bin/sh

hg init
echo a > a
hg ci -Amadd

chmod +x a
hg ci -mexecutable

hg up 0
rm a
ln -s symlink a
hg ci -msymlink

hg merge

echo % symlink is left parent, executable is right

if [ -L a ]; then
    echo a is a symlink
    readlink a
elif [ -x a ]; then
    echo a is executable
fi

hg update -C 1
hg merge

echo % symlink is right parent, executable is left

if [ -L a ]; then
    echo a is a symlink
    readlink a
elif [ -x a ]; then
    echo a is executable
fi