bdiff: normalize the diff (
issue1295)
When the common part of a diff can be moved forward, move it forward.
Otherwise we don't get deterministic results (it would depends on the way we
split for the recursion).
That way we get identical hunks when doing the same change, it helps to solve
issue1295 (inconsistent diffs on different side during a merge).
#!/bin/sh
"$TESTDIR/hghave" symlink || exit 80
hg init a
cd a
ln -s nothing dangling
hg commit -m 'commit symlink without adding' dangling
hg add dangling
hg commit -m 'add symlink'
hg tip -v
hg manifest --debug
echo '% rev 0:'
$TESTDIR/readlink.py dangling
rm dangling
ln -s void dangling
hg commit -m 'change symlink'
echo '% rev 1:'
$TESTDIR/readlink.py dangling
echo '% modifying link'
rm dangling
ln -s empty dangling
$TESTDIR/readlink.py dangling
echo '% reverting to rev 0:'
hg revert -r 0 -a
$TESTDIR/readlink.py dangling
echo '% backups:'
$TESTDIR/readlink.py *.orig
rm *.orig
hg up -C
echo '% copies'
hg cp -v dangling dangling2
hg st -Cmard
$TESTDIR/readlink.py dangling dangling2
echo '% issue995'
hg up -C
mkdir dir
ln -s dir dirlink
hg ci -qAm 'add dirlink'
mkdir newdir
mv dir newdir/dir
mv dirlink newdir/dirlink
hg mv -A dirlink newdir/dirlink