view tests/test-log @ 7732:3793802ea41b

Make util.find_exe alway returns existing file, fixing issue1459 It seems like the old behaviour with different handling for commands with and without path was intended, but I think this behaviour of util.find_exe is better: * Always returns existing file * or None if command not found - no default * Windows: Returned file thus always ends with extension from PATHEXT This fixes http://www.selenic.com/mercurial/bts/issue1459. The change might fix other unintended behaviour too.
author Mads Kiilerich <mads@kiilerich.com>
date Sun, 25 Jan 2009 21:20:13 +0100
parents efc579fdaf69
children fece056bf240
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 copies, execute bit set
chmod +x e
hg ci -me3 -d '7 0'
hg log -vC --template '{rev} {file_copies%filecopy}\n' -r 6

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 ''

echo '% log -r <some unknown node id>'
hg log -r 1000000000000000000000000000000000000000

exit 0