|
|
#!/bin/sh
|
|
|
|
|
|
echo "[extensions]" >> $HGRCPATH
|
|
|
echo "autodiff=$TESTDIR/autodiff.py" >> $HGRCPATH
|
|
|
echo "[diff]" >> $HGRCPATH
|
|
|
echo "nodates=1" >> $HGRCPATH
|
|
|
|
|
|
hg init repo
|
|
|
cd repo
|
|
|
echo '% make a combination of new, changed and deleted file'
|
|
|
echo regular > regular
|
|
|
echo rmregular > rmregular
|
|
|
touch rmempty
|
|
|
echo exec > exec
|
|
|
chmod +x exec
|
|
|
echo rmexec > rmexec
|
|
|
chmod +x rmexec
|
|
|
echo setexec > setexec
|
|
|
echo unsetexec > unsetexec
|
|
|
chmod +x unsetexec
|
|
|
echo binary > binary
|
|
|
python -c "file('rmbinary', 'wb').write('\0')"
|
|
|
hg ci -Am addfiles
|
|
|
echo regular >> regular
|
|
|
echo newregular >> newregular
|
|
|
rm rmempty
|
|
|
touch newempty
|
|
|
rm rmregular
|
|
|
echo exec >> exec
|
|
|
echo newexec > newexec
|
|
|
chmod +x newexec
|
|
|
rm rmexec
|
|
|
chmod +x setexec
|
|
|
chmod -x unsetexec
|
|
|
python -c "file('binary', 'wb').write('\0\0')"
|
|
|
python -c "file('newbinary', 'wb').write('\0')"
|
|
|
rm rmbinary
|
|
|
hg addremove -s 0
|
|
|
|
|
|
echo '% git=no: regular diff for all files'
|
|
|
hg autodiff --git=no
|
|
|
|
|
|
echo '% git=no: git diff for single regular file'
|
|
|
hg autodiff --git=yes regular
|
|
|
|
|
|
echo '% git=auto: regular diff for regular files and removals'
|
|
|
hg autodiff --git=auto regular newregular rmregular rmbinary rmexec
|
|
|
|
|
|
for f in exec newexec setexec unsetexec binary newbinary newempty rmempty; do
|
|
|
echo '% git=auto: git diff for' $f
|
|
|
hg autodiff --git=auto $f
|
|
|
done
|
|
|
|
|
|
echo '% git=warn: regular diff with data loss warnings'
|
|
|
hg autodiff --git=warn
|
|
|
|
|
|
echo '% git=abort: fail on execute bit change'
|
|
|
hg autodiff --git=abort regular setexec
|
|
|
|
|
|
echo '% git=abort: succeed on regular file'
|
|
|
hg autodiff --git=abort regular
|
|
|
|
|
|
cd ..
|
|
|
|