view tests/test-log @ 5483:0c43f87baba3 default tip

Fix file-changed-to-dir and dir-to-file commits (issue660). Allow adding to dirstate files that clash with previously existing but marked for removal. Protect from reintroducing clashes by revert. This change doesn't address related issues with update. Current workaround is to do "clean" update by manually removing conflicting files/dirs from working directory.
author Maxim Dounin <mdounin@mdounin.ru>
date Sat, 27 Oct 2007 16:27:55 +0400
parents e0bc2c575044
children
line wrap: on
line source

#!/bin/sh

hg init a

cd a
echo a > a
hg ci -Ama -d '1 0'

hg cp a b
hg ci -mb -d '2 0'

mkdir dir
hg mv b dir
hg ci -mc -d '3 0'

hg mv a b
echo a > d
hg add d
hg ci -md -d '4 0'

hg mv dir/b e
hg ci -me -d '5 0'

hg log a
echo % -f, directory
hg log -f dir
echo % -f, but no args
hg log -f
echo % one rename
hg log -vf a
echo % many renames
hg log -vf e

echo % log copies
hg log -vC --template '{rev} {file_copies%filecopy}\n'

echo % log copies, non-linear manifest
hg up -C 3
hg mv dir/b e
echo foo > foo
hg ci -Ame2 -d '6 0'
hg log -vC --template '{rev} {file_copies%filecopy}\n' -r 5

echo '% log -p d'
hg log -pv d

# log --follow tests
hg init ../follow
cd ../follow

echo base > base
hg ci -Ambase -d '1 0'

echo r1 >> base
hg ci -Amr1 -d '1 0'
echo r2 >> base
hg ci -Amr2 -d '1 0'

hg up -C 1
echo b1 > b1
hg ci -Amb1 -d '1 0'

echo % log -f
hg log -f

hg up -C 0
echo b2 > b2
hg ci -Amb2 -d '1 0'

echo % log -f -r 1:tip
hg log -f -r 1:tip

hg up -C 3
hg merge tip

echo % log -r .  with two parents
hg log -r .

hg ci -mm12 -d '1 0'

echo % log -r .  with one parent
hg log -r .

echo postm >> b1
hg ci -Amb1.1 -d'1 0'

echo % log --follow-first
hg log --follow-first

echo % log -P 2
hg log -P 2

echo '% log -r ""'
hg log -r ''

exit 0