Mercurial > hg
view tests/test-tags @ 4285:4fd6f7e60894
Add tests/printenv.py
This is a small script that can be used as a hook to print the
HG_* environment variables without relying on the shell.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Mon, 26 Mar 2007 23:49:56 -0300 |
parents | 8185a1ca8628 |
children | 99f411ba0380 |
line wrap: on
line source
#!/bin/sh mkdir t cd t hg init hg id echo a > a hg add a hg commit -m "test" -d "1000000 0" hg co hg identify T=`hg tip --debug | head -n 1 | cut -d : -f 3` hg tag -l "This is a local tag with a really long name!" hg tags rm .hg/localtags echo "$T first" > .hgtags cat .hgtags hg add .hgtags hg commit -m "add tags" -d "1000000 0" hg tags hg identify echo bb > a hg status hg identify hg co first hg id hg -v id hg status echo 1 > b hg add b hg commit -m "branch" -d "1000000 0" hg id hg merge 1 hg id hg status hg commit -m "merge" -d "1000000 0" # create fake head, make sure tag not visible afterwards cp .hgtags tags hg tag -d "1000000 0" last hg rm .hgtags hg commit -m "remove" -d "1000000 0" mv tags .hgtags hg add .hgtags hg commit -m "readd" -d "1000000 0" hg tags # invalid tags echo "spam" >> .hgtags echo >> .hgtags echo "foo bar" >> .hgtags echo "$T invalid" | sed "s/..../a5a5/" >> .hg/localtags hg commit -m "tags" -d "1000000 0" # report tag parse error on other head hg up 3 echo 'x y' >> .hgtags hg commit -m "head" -d "1000000 0" hg tags hg tip # test tag precedence rules cd .. hg init t2 cd t2 echo foo > foo hg add foo hg ci -m 'add foo' -d '1000000 0' # rev 0 hg tag -d '1000000 0' bar # rev 1 echo >> foo hg ci -m 'change foo 1' -d '1000000 0' # rev 2 hg up -C 1 hg tag -r 1 -d '1000000 0' -f bar # rev 3 hg up -C 1 echo >> foo hg ci -m 'change foo 2' -d '1000000 0' # rev 4 hg tags # test tag removal hg tag --remove -d '1000000 0' bar hg tip hg tags # test tag rank cd .. hg init t3 cd t3 echo foo > foo hg add foo hg ci -m 'add foo' -d '1000000 0' # rev 0 hg tag -d '1000000 0' -f bar # rev 1 bar -> 0 hg tag -d '1000000 0' -f bar # rev 2 bar -> 1 hg tag -d '1000000 0' -fr 0 bar # rev 3 bar -> 0 hg tag -d '1000000 0' -fr 1 bar # rev 3 bar -> 1 hg tag -d '1000000 0' -fr 0 bar # rev 4 bar -> 0 hg tags hg co 3 echo barbar > foo hg ci -m 'change foo' -d '1000000 0' # rev 0 hg tags hg tag -d '1000000 0' -r 3 bar # should complain hg tags