How do I revert a single hunk in Mercurial, similar to the way it's done in darcs, i.e. it asks me for each hunk and file whether I want to revert it? Is it possible using TortoiseHg?
Thanks
How do I revert a single hunk in Mercurial, similar to the way it's done in darcs, i.e. it asks me for each hunk and file whether I want to revert it? Is it possible using TortoiseHg?
Thanks
The record
extension is inspired by darcs record
. It will allow you to add only specific hunks to the next commit, i.e., the opposite of what you want. But you could add all hunks except the one you want to revert and then do a hg revert
to revert it. A little backwards, I know... :-)
You could also do hg diff > patch; hg revert
, edit patch
to delete the hunk and do hg import --no-commit
to reappy the patch. That is likely faster, but requires you to manually edit the patch. I've had great success with the Emacs diff-mode
, but since you ask about TortoiseHg you might not want to use Emacs.
For reversing a changeset on a single file try:
hg diff -c | patch -R
That will reverse the changeset introduced by that revision on that filename. Now if the same darcs/git style cherry-picking behavior could be included in that somehow I would be very happy.