Mercurial provider should only return True if something changed