Workflow : before committing some code, I always check that my changes are ok. Sometimes, I find that a part of a file shouldn't be committed as it is, and must be reverted. If I want to undo all changes to the file, it's fine, just press the 'revert' button. But quite often, especially with big source file, a code chunk is good, but I want to revert another chunk. As it is today, I would have to do quite a few manual operations, with a high risk of mistaking. I think that a dedicated function would feel more productive and safe.
Enhancement description : In workbench/commit window, on the diff window, add an action : selecting a few lines then right clicking, you would see a menu item "revert selected lines". As in "revert", the change is purely file-based, no need to screw up the ".hg" folder. The 2 options (discard or backup changes) would also have the same effects as standard revert.