tests/test-children.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Thu, 22 Sep 2016 21:51:59 +0900
changeset 30000 557454ce854a
parent 24482 3eb9045396b0
child 37357 7c8524efd847
permissions -rw-r--r--
changelog: specify checkambig=True to revlog.__init__, to avoid ambiguity If steps below occurs at "the same time in sec", all of mtime, ctime and size are same between (1) and (3). 1. append data to 00changelog.i (and close transaction) 2. discard appended data by truncation (strip or rollback) 3. append same size but different data to 00changelog.i again Therefore, cache validation doesn't work after (3) as expected. To avoid such file stat ambiguity around truncation, this patch specifies checkambig=True to revlog.__init__(). This makes revlog write changes out with checkambig=True. Even though changes of 00changelog.i themselves are written out at changelog._finalize(), this checkambig=True is needed, because revlog.checkinlinesize(), which is invoked at the end of changelog._finalize(), might replace already changed 00changelog.i by converted one. Even after this patch, avoiding file stat ambiguity of 00changelog.i around truncation isn't yet completed, because truncation side isn't aware of this issue. This is a part of ExactCacheValidationPlan. https://www.mercurial-scm.org/wiki/ExactCacheValidationPlan
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
     1
test children command
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
     2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
     3
  $ cat <<EOF >> $HGRCPATH
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
     4
  > [extensions]
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
     5
  > children =
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
     6
  > EOF
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
     7
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
     8
init
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
     9
  $ hg init t
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    10
  $ cd t
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    11
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    12
no working directory
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    13
  $ hg children
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    14
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    15
setup
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    16
  $ echo 0 > file0
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    17
  $ hg ci -qAm 0 -d '0 0'
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    18
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    19
  $ echo 1 > file1
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    20
  $ hg ci -qAm 1 -d '1 0'
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    21
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    22
  $ echo 2 >> file0
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    23
  $ hg ci -qAm 2 -d '2 0'
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    24
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    25
  $ hg co null
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    26
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    27
  $ echo 3 > file3
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    28
  $ hg ci -qAm 3 -d '3 0'
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    29
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    30
hg children at revision 3 (tip)
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    31
  $ hg children
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    32
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    33
  $ hg co null
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    34
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    35
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    36
hg children at nullrev (should be 0 and 3)
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    37
  $ hg children
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    38
  changeset:   0:4df8521a7374
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    39
  user:        test
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    40
  date:        Thu Jan 01 00:00:00 1970 +0000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    41
  summary:     0
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    42
  
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    43
  changeset:   3:e2962852269d
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    44
  tag:         tip
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    45
  parent:      -1:000000000000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    46
  user:        test
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    47
  date:        Thu Jan 01 00:00:03 1970 +0000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    48
  summary:     3
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    49
  
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    50
  $ hg co 1
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    51
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    52
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    53
hg children at revision 1 (should be 2)
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    54
  $ hg children
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    55
  changeset:   2:8f5eea5023c2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    56
  user:        test
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    57
  date:        Thu Jan 01 00:00:02 1970 +0000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    58
  summary:     2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    59
  
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    60
  $ hg co 2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    61
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    62
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    63
hg children at revision 2 (other head)
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    64
  $ hg children
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    65
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    66
  $ for i in null 0 1 2 3; do
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    67
  > echo "hg children -r $i"
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    68
  > hg children -r $i
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    69
  > done
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    70
  hg children -r null
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    71
  changeset:   0:4df8521a7374
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    72
  user:        test
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    73
  date:        Thu Jan 01 00:00:00 1970 +0000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    74
  summary:     0
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    75
  
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    76
  changeset:   3:e2962852269d
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    77
  tag:         tip
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    78
  parent:      -1:000000000000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    79
  user:        test
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    80
  date:        Thu Jan 01 00:00:03 1970 +0000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    81
  summary:     3
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    82
  
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    83
  hg children -r 0
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    84
  changeset:   1:708c093edef0
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    85
  user:        test
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    86
  date:        Thu Jan 01 00:00:01 1970 +0000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    87
  summary:     1
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    88
  
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    89
  hg children -r 1
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    90
  changeset:   2:8f5eea5023c2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    91
  user:        test
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    92
  date:        Thu Jan 01 00:00:02 1970 +0000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    93
  summary:     2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    94
  
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    95
  hg children -r 2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    96
  hg children -r 3
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    97
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    98
hg children -r 0 file0 (should be 2)
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
    99
  $ hg children -r 0 file0
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   100
  changeset:   2:8f5eea5023c2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   101
  user:        test
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   102
  date:        Thu Jan 01 00:00:02 1970 +0000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   103
  summary:     2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   104
  
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
   105
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   106
hg children -r 1 file0 (should be 2)
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   107
  $ hg children -r 1 file0
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   108
  changeset:   2:8f5eea5023c2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   109
  user:        test
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   110
  date:        Thu Jan 01 00:00:02 1970 +0000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   111
  summary:     2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   112
  
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
   113
11920
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   114
  $ hg co 0
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   115
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   116
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   117
hg children file0 at revision 0 (should be 2)
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   118
  $ hg children file0
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   119
  changeset:   2:8f5eea5023c2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   120
  user:        test
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   121
  date:        Thu Jan 01 00:00:02 1970 +0000
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   122
  summary:     2
d0a7e700b5d1 tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 10119
diff changeset
   123
  
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 11920
diff changeset
   124
24482
3eb9045396b0 children: don't pass filectx to displayer
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
   125
should be compatible with templater (don't pass fctx to displayer)
3eb9045396b0 children: don't pass filectx to displayer
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
   126
  $ hg children file0 -Tdefault
3eb9045396b0 children: don't pass filectx to displayer
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
   127
  changeset:   2:8f5eea5023c2
3eb9045396b0 children: don't pass filectx to displayer
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
   128
  user:        test
3eb9045396b0 children: don't pass filectx to displayer
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
   129
  date:        Thu Jan 01 00:00:02 1970 +0000
3eb9045396b0 children: don't pass filectx to displayer
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
   130
  summary:     2
3eb9045396b0 children: don't pass filectx to displayer
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
   131
  
3eb9045396b0 children: don't pass filectx to displayer
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
   132
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 11920
diff changeset
   133
  $ cd ..