Mercurial > hg-stable
view tests/test-annotate @ 10251:a19d2993385d stable
subrepo: fix merging of already merged subrepos (issue1986)
This fixes a bug seen when merging a main repo which contains a subrepo when
both repos have been merged before. Each repo (main and sub) has two
branches, both of which have been merged before.
In a subrepo, if the revision to merge to is an ancestor of the current rev,
then the merge should be a noop.
Test provided by Steve Losh.
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Fri, 15 Jan 2010 21:08:04 +0100 |
parents | 2192001e4bb4 |
children | 98a0421b9e52 |
line wrap: on
line source
#!/bin/sh HGMERGE=true; export HGMERGE echo % init hg init echo % commit echo 'a' > a hg ci -A -m test -u nobody -d '1 0' echo % annotate -c hg annotate -c a echo % annotate -cl hg annotate -cl a echo % annotate -d hg annotate -d a echo % annotate -n hg annotate -n a echo % annotate -nl hg annotate -nl a echo % annotate -u hg annotate -u a echo % annotate -cdnu hg annotate -cdnu a echo % annotate -cdnul hg annotate -cdnul a cat <<EOF >>a a a EOF hg ci -ma1 -d '1 0' hg cp a b hg ci -mb -d '1 0' cat <<EOF >> b b4 b5 b6 EOF hg ci -mb2 -d '2 0' echo % annotate -n b hg annotate -n b echo % annotate -nl b hg annotate -nl b echo % annotate -nf b hg annotate -nf b echo % annotate -nlf b hg annotate -nlf b hg up -C 2 cat <<EOF >> b b4 c b5 EOF hg ci -mb2.1 -d '2 0' hg merge hg ci -mmergeb -d '3 0' echo % annotate after merge hg annotate -nf b echo % annotate after merge with -l hg annotate -nlf b hg up -C 1 hg cp a b cat <<EOF > b a z a EOF hg ci -mc -d '3 0' hg merge cat <<EOF >> b b4 c b5 EOF echo d >> b hg ci -mmerge2 -d '4 0' echo % annotate after rename merge hg annotate -nf b echo % annotate after rename merge with -l hg annotate -nlf b echo % linkrev vs rev hg annotate -r tip -n a echo % linkrev vs rev with -l hg annotate -r tip -nl a # test issue 589 # annotate was crashing when trying to --follow something # like A -> B -> A echo % generate ABA rename configuration echo foo > foo hg add foo hg ci -m addfoo hg rename foo bar hg ci -m renamefoo hg rename bar foo hg ci -m renamebar echo % annotate after ABA with follow hg annotate --follow foo