Nothing wrong with hg. In fact, lots of good things about it:
http://selenic.com/hg/help/revsets
http://evolution.experimentalworks.net/doc/user-guide.html
http://jordi.inversethought.com/blog/customising-mercurial-l...