mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
4d9877b4eb
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.
102 lines
1.3 KiB
Bash
Executable File
102 lines
1.3 KiB
Bash
Executable File
#!/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
|