Mercurial > hg
view tests/test-log @ 5811:180a3eee4b75
Fix copies reporting in log and convert.
If copy logged in file revision, we report copy for changeset only
if file revisions linkrev points back to the changeset in question
or both changeset parents contain different file revisions.
This fixes extra copies reported when executable bit was changed for
previously copied file.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 29 Dec 2007 17:11:48 +0300 |
parents | e0bc2c575044 |
children | efc579fdaf69 |
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 '' exit 0