SmartGitHg is free for non-commercial use. I've only used it from Windows, but it supports Linux and Mac as well. I've been enjoying it, but I am by no means an advanced user. I just started working with branches, and as far as I can tell, the branch management SmartGitHg offers seems excellent. I'd love to hear what someone more experienced thinks about it, though.