This error indicates that the remote repository has some changes in it that you do not have in your local repository (and that are in branches that you have also changed). Perhaps someone else made these changes and pushed them, or they may have come from you pushing from a different computer.
A good principle is that you should review and test your changes before you push them to another repository. Although (with a distributed version control system) it's generally OK to commit changes locally that don't really work or that aren't complete enough to test, it's a bad idea to push anything that would cause the remote repository to have an untested set of changes in it.
For that reason, if you change some files and someone else changes others and you both push them without knowing about the other one, Mercurial must refuse whichever push happens later – it won't simply merge the changes because the result might not make any sense.
Instead you must pull the other person's changes and merge them locally before you push. Fortunately, this is easy to do.
1. Click Pull on the main toolbar at the top of the EasyMercurial window.
2. Click Merge in the toolbar on the left.
3. Review or test the resulting merged version in your local working folder.
4. Commit the merged version.
5. Push again to the remote repository.