Mercurial > hg-stable
view tests/test-tag @ 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 | 39cf453da958 |
children | eb23c876c111 |
line wrap: on
line source
#!/bin/sh hg init test cd test echo a > a hg add a hg commit -m "test" -d "1000000 0" hg history hg tag -d "1000000 0" "bleah" hg history echo foo >> .hgtags hg tag -d "1000000 0" "bleah2" || echo "failed" hg revert .hgtags hg tag -d "1000000 0" -r 0 x y z y y z || echo "failed" hg tag -d "1000000 0" tap nada dot tip null . || echo "failed" hg tag -d "1000000 0" "bleah" || echo "failed" hg tag -d "1000000 0" "blecch" "bleah" || echo "failed" hg tag -d "1000000 0" --remove "blecch" || echo "failed" hg tag -d "1000000 0" --remove "bleah" "blecch" "blough" || echo "failed" hg tag -d "1000000 0" -r 0 "bleah0" hg tag -l -d "1000000 0" -r 1 "bleah1" hg tag -d "1000000 0" gack gawk gorp hg tag -d "1000000 0" -f gack hg tag -d "1000000 0" --remove gack gorp cat .hgtags cat .hg/localtags hg update 0 hg tag -d "1000000 0" "foobar" cat .hgtags cat .hg/localtags hg tag -l 'xx newline' hg tag -l 'xx:xx' echo % cloning local tags cd .. hg -R test log -r0:5 hg clone -q -rbleah1 test test1 hg -R test1 parents --style=compact hg clone -q -r5 test#bleah1 test2 hg -R test2 parents --style=compact hg clone -q -U test#bleah1 test3 hg -R test3 parents --style=compact cd test echo % issue 601 python << EOF f = file('.hg/localtags'); last = f.readlines()[-1][:-1]; f.close() f = file('.hg/localtags', 'w'); f.write(last); f.close() EOF cat .hg/localtags hg tag -l localnewline cat .hg/localtags python << EOF f = file('.hgtags'); last = f.readlines()[-1][:-1]; f.close() f = file('.hgtags', 'w'); f.write(last); f.close() EOF hg ci -d '1000000 0' -m'broken manual edit of .hgtags' cat .hgtags hg tag -d '1000000 0' newline cat .hgtags