localrepo: set heads and branchheads to be closed=False by default
The heads(...) and branchheads(...) functions will now only return closed
heads when explicitly asked for them. This will cause 'hg merge' to have
better behavior in the presence of a branch that has closed heads when no
explicit rev is passed.
#!/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