view tests/test-eol-hook @ 11330:713ae78bb583

provide pre- and post- hooks with parsed command line arguments. python hooks are passed two new keyword arguments: - opts: a dict of options; unsepcified options are set to their default - pats: a list of arguments shell hooks receive two new variables containing string representations of the above data: - $HG_OPTS - $HG_PATS for example, the opts and pats for 'hg -f v1.1' would be: {'force': True, 'message': '', 'rev': '', 'user': '', 'date': '', 'local': None, 'remove': None, 'mq': None} ['v1.1']
author Chad Dombrova <chadrik@gmail.com>
date Thu, 10 Jun 2010 09:32:19 -0700
parents 0bb67503ad4b
children
line wrap: on
line source

#!/bin/sh

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

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

[hooks]
pretxnchangegroup = python:hgext.eol.hook
EOF

hg clone main fork

cd fork
cat > .hgeol <<EOF
[patterns]
mixed.txt = BIN
**.txt = native
EOF

hg add .hgeol
hg commit -m 'Commit .hgeol'

printf "first\nsecond\nthird\n" > a.txt
hg add a.txt
echo "% hg commit (LF a.txt)"
hg commit -m 'LF a.txt'
echo "% hg push"
hg push ../main

printf "first\r\nsecond\r\nthird\n" > a.txt
echo "% hg commit (CRLF a.txt)"
hg commit -m 'CRLF a.txt'
echo "% hg push"
hg push ../main


echo "% hg commit (LF a.txt)"
printf "first\nsecond\nthird\n" > a.txt
hg commit -m 'LF a.txt (fixed)'
echo "% hg push"
hg push ../main