tests/test-diff-reverse.t
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 18 Jan 2022 12:57:55 -0800
changeset 48756 86e4b86df932
parent 23080 c586cb50872b
child 49621 55c6ebd11cb9
permissions -rw-r--r--
filemerge: when not keeping premerge, don't write markers to context When premerge is enabled (as it is for non-binary inputs by default) and the markers are not kept, we currently still write it to the output context and then restore the previous content right after. With the refactoring in the previous patch, we can easily avoid that step and instead write the output in the opposite case (i.e. when it's successful or when the markers are supposed to be kept). Differential Revision: https://phab.mercurial-scm.org/D12149

  $ hg init

  $ cat > a <<EOF
  > a
  > b
  > c
  > EOF
  $ hg ci -Am adda
  adding a

  $ cat > a <<EOF
  > d
  > e
  > f
  > EOF
  $ hg ci -m moda

  $ hg diff --reverse -r0 -r1
  diff -r 2855cdcfcbb7 -r 8e1805a3cf6e a
  --- a/a	Thu Jan 01 00:00:00 1970 +0000
  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,3 +1,3 @@
  -d
  -e
  -f
  +a
  +b
  +c

  $ cat >> a <<EOF
  > g
  > h
  > EOF
  $ hg diff --reverse --nodates
  diff -r 2855cdcfcbb7 a
  --- a/a
  +++ b/a
  @@ -1,5 +1,3 @@
   d
   e
   f
  -g
  -h

should show removed file 'a' as being added
  $ hg revert a
  $ hg rm a
  $ hg diff --reverse --nodates a
  diff -r 2855cdcfcbb7 a
  --- /dev/null
  +++ b/a
  @@ -0,0 +1,3 @@
  +d
  +e
  +f

should show added file 'b' as being removed
  $ echo b >> b
  $ hg add b
  $ hg diff --reverse --nodates b
  diff -r 2855cdcfcbb7 b
  --- a/b
  +++ /dev/null
  @@ -1,1 +0,0 @@
  -b