tests/test-revset-dirstate-parents.t
author Simon Farnsworth <simonfar@fb.com>
Fri, 25 Nov 2016 07:30:46 -0800
changeset 30548 29b35dac3b1f
parent 24458 7d87f672d069
child 34090 7bbc4e113e5f
permissions -rw-r--r--
fsmonitor: be robust in the face of bad state fsmonitor could write out bad state if interrupted part way through, and would then crash when it tried to read it back in. Make both sides of the operation more robust - reading state should fail cleanly, and we can use atomictemp to write out cleanly as the file is small. Between the two, we shouldn't crash with an IndexError any more.

  $ HGENCODING=utf-8
  $ export HGENCODING

  $ try() {
  >   hg debugrevspec --debug $@
  > }

  $ log() {
  >   hg log --template '{rev}\n' -r "$1"
  > }

  $ hg init repo
  $ cd repo

  $ try 'p1()'
  (func
    ('symbol', 'p1')
    None)
  * set:
  <baseset []>
  $ try 'p2()'
  (func
    ('symbol', 'p2')
    None)
  * set:
  <baseset []>
  $ try 'parents()'
  (func
    ('symbol', 'parents')
    None)
  * set:
  <baseset+ []>

null revision
  $ log 'p1()'
  $ log 'p2()'
  $ log 'parents()'

working dir with a single parent
  $ echo a > a
  $ hg ci -Aqm0
  $ log 'p1()'
  0
  $ log 'tag() and p1()'
  $ log 'p2()'
  $ log 'parents()'
  0
  $ log 'tag() and parents()'

merge in progress
  $ echo b > b
  $ hg ci -Aqm1
  $ hg up -q 0
  $ echo c > c
  $ hg ci -Aqm2
  $ hg merge -q
  $ log 'p1()'
  2
  $ log 'p2()'
  1
  $ log 'tag() and p2()'
  $ log 'parents()'
  1
  2

  $ cd ..