Skip to content
  • Denis Laxalde's avatar
    revert: do not reverse hunks in interactive when REV is not parent (issue5096) · 3649c3f2cd90
    Denis Laxalde authored
    And introduce a new "apply" operation verb for this case as suggested in
    issue5096. This replaces the no longer used "revert" operation.
    
    In interactive revert, when reverting to something else that the parent
    revision, display an "apply this change" message with a diff that is not
    reversed.
    
    The rationale is that `hg revert -i -r REV` will show hunks of the diff from
    the working directory to REV and prompt the user to select them for applying
    (to working directory). This contradicts dcc56e10c23b in which it was
    decided to have the "direction" of prompted hunks reversed. Later on
    [1], there was a broad consensus (but no decision) towards the "as to
    be applied direction". Now that --interactive is no longer experimental
    (5910db5d1913), it's time to switch and thus we drop no longer used
    "experimental.revertalternateinteractivemode" configuration option.
    
    [1]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-November/090142.html
    
    
    .. feature::
    
      When interactive revert is run against a revision other than the working
      directory parent, the diff shown is the diff to *apply* to the working directory,
      rather than the diff to *discard* from the working copy. This is in line with
      related user experiences with `git` and appears to be less confusing with
      `ui.interface=curses`.
    3649c3f2cd90