#!/bin/sh hg init t cd t hg branches echo foo > a hg add a hg ci -m "initial" -d "1000000 0" hg branch foo hg branch hg ci -m "add branch name" -d "1000000 0" hg branch bar hg ci -m "change branch name" -d "1000000 0" hg branch "" hg ci -m "clear branch name" -d "1000000 0" hg co foo hg branch echo bleah > a hg ci -m "modify a branch" -d "1000000 0" hg merge hg branch hg ci -m "merge" -d "1000000 0" hg log hg branches hg branches -q echo % test for invalid branch cache hg rollback cp .hg/branches.cache .hg/bc-invalid hg log -r foo cp .hg/bc-invalid .hg/branches.cache hg --debug log -r foo rm .hg/branches.cache echo corrupted > .hg/branches.cache hg log -qr foo cat .hg/branches.cache echo % test for different branch cache features echo '4909a3732169c0c20011c4f4b8fdff4e3d89b23f 4' > .hg/branches.cache hg branches --debug echo ' features: unnamed dummy foo bar' > .hg/branches.cache hg branches --debug echo ' features: dummy' > .hg/branches.cache hg branches --debug echo % test old hg reading branch cache with feature list python << EOF import binascii f = file('.hg/branches.cache') lines = f.read().split('\n') f.close() firstline = lines[0] last, lrev = lines.pop(0).rstrip().split(" ", 1) try: last, lrev = binascii.unhexlify(last), int(lrev) except ValueError, inst: if str(inst) == "invalid literal for int():%s" % firstline: print "ValueError raised correctly, good." else: print "ValueError: %s" % inst EOF echo % update with no arguments: tipmost revision of the current branch hg up -q -C 0 hg up -q hg id hg up -q 1 hg up -q hg id