diffstat: with --git, mark binary files with Bin
Normally, diffs without any text insertions or deletions are reported
as having 0 lines changed by stock diffstat. Compatibility is
preserved with stock diffstat in this case, but when using --git,
binary files are marked with Bin as a means of clarification.
git diff --stat does something similar, though it also includes the
old and new file sizes.
#!/bin/sh
# Test for changeset 9fe267f77f56ff127cf7e65dc15dd9de71ce8ceb
# (merge correctly when all the files in a directory are moved
# but then local changes are added in the same directory)
hg init a
cd a
mkdir -p testdir
echo a > testdir/a
hg add testdir/a
hg commit -d '1000000 0' -m a
cd ..
hg clone a b
cd a
echo alpha > testdir/a
hg commit -d '1000000 0' -m remote-change
cd ..
cd b
mkdir testdir/subdir
hg mv testdir/a testdir/subdir/a
hg commit -d '1000000 0' -m move
mkdir newdir
echo beta > newdir/beta
hg add newdir/beta
hg commit -d '1000000 0' -m local-addition
hg pull ../a
hg up -C 2
hg merge
hg stat
hg diff --nodates