tests/test-diff-reverse.t
author Patrick Mezard <patrick@mezard.eu>
Sat, 12 May 2012 00:24:07 +0200
changeset 16657 b6081c2c4647
parent 12139 5a69ea8d65b3
child 23080 c586cb50872b
permissions -rw-r--r--
phases: introduce phasecache The original motivation was changectx.phase() had special logic to correctly lookup in repo._phaserev, including invalidating it when necessary. And at other places, repo._phaserev was accessed directly. This led to the discovery that phases state including _phaseroots, _phaserev and _dirtyphase was manipulated in localrepository.py, phases.py, repair.py, etc. phasecache helps encapsulating that. This patch replaces all phase state in localrepo with phasecache and adjust related code except for advance/retractboundary() in phases. These still access to phasecache internals directly. This will be addressed in a followup.

  $ 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