tests/test-obsolete-tag-cache.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Sat, 27 May 2017 22:27:09 +0200
changeset 32636 da5cf8cc5aad
parent 28247 d2c0527af364
child 33542 b11e8c67fb0f
permissions -rw-r--r--
test: add a push race case where the raced push touch multiple heads We check case where the raced push update all heads while the racing push update one of them.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
24144
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     1
  $ cat >> $HGRCPATH << EOF
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     2
  > [extensions]
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
     3
  > blackbox=
24144
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     4
  > rebase=
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
     5
  > mock=$TESTDIR/mockblackbox.py
24144
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     6
  > 
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     7
  > [experimental]
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     8
  > evolution = createmarkers
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     9
  > EOF
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    10
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    11
Create a repo with some tags
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    12
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    13
  $ hg init repo
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    14
  $ cd repo
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    15
  $ echo initial > foo
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    16
  $ hg -q commit -A -m initial
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    17
  $ hg tag -m 'test tag' test1
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    18
  $ echo first > first
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    19
  $ hg -q commit -A -m first
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    20
  $ hg tag -m 'test2 tag' test2
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    21
  $ hg -q up -r 0
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    22
  $ echo newhead > newhead
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    23
  $ hg commit -A -m newhead
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    24
  adding newhead
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    25
  created new head
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    26
  $ hg tag -m 'test head 2 tag' head2
24144
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    27
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    28
  $ hg log -G -T '{rev}:{node|short} {tags} {desc}\n'
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    29
  @  5:2942a772f72a tip test head 2 tag
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    30
  |
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    31
  o  4:042eb6bfcc49 head2 newhead
24144
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    32
  |
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    33
  | o  3:c3cb30f2d2cd  test2 tag
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    34
  | |
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    35
  | o  2:d75775ffbc6b test2 first
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    36
  | |
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    37
  | o  1:5f97d42da03f  test tag
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    38
  |/
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    39
  o  0:55482a6fb4b1 test1 initial
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    40
  
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    41
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    42
Trigger tags cache population by doing something that accesses tags info
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    43
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    44
  $ hg tags
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    45
  tip                                5:2942a772f72a
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    46
  head2                              4:042eb6bfcc49
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    47
  test2                              2:d75775ffbc6b
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    48
  test1                              0:55482a6fb4b1
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    49
24762
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    50
  $ cat .hg/cache/tags2-visible
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    51
  5 2942a772f72a444bef4bef13874d515f50fa27b6
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    52
  042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
24144
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    53
  55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    54
  d75775ffbc6bca1794d300f5571272879bd280da test2
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    55
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    56
Hiding a non-tip changeset should change filtered hash and cause tags recompute
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    57
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    58
  $ hg debugobsolete -d '0 0' c3cb30f2d2cd0aae008cc91a07876e3c5131fd22 -u dummyuser
24144
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    59
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    60
  $ hg tags
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    61
  tip                                5:2942a772f72a
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    62
  head2                              4:042eb6bfcc49
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    63
  test1                              0:55482a6fb4b1
24144
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    64
24762
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    65
  $ cat .hg/cache/tags2-visible
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    66
  5 2942a772f72a444bef4bef13874d515f50fa27b6 f34fbc9a9769ba9eff5aff3d008a6b49f85c08b1
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    67
  042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
24144
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    68
  55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    69
28025
ab6468270b83 blackbox: flush output file descriptor
timeless <timeless@mozdev.org>
parents: 26185
diff changeset
    70
  $ hg blackbox -l 5
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
    71
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
    72
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> 2/2 cache hits/lookups in * seconds (glob)
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
    73
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> writing .hg/cache/tags2-visible with 2 tags
28247
d2c0527af364 blackbox: store the blackbox ui object instead of the log file
timeless <timeless@mozdev.org>
parents: 28245
diff changeset
    74
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags exited 0 after * seconds (glob)
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
    75
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> blackbox -l 5
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    76
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    77
Hiding another changeset should cause the filtered hash to change
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    78
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    79
  $ hg debugobsolete -d '0 0' d75775ffbc6bca1794d300f5571272879bd280da -u dummyuser
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    80
  $ hg debugobsolete -d '0 0' 5f97d42da03fd56f3b228b03dfe48af5c0adf75b -u dummyuser
24144
a35b59d4df33 tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    81
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    82
  $ hg tags
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    83
  tip                                5:2942a772f72a
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    84
  head2                              4:042eb6bfcc49
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    85
24762
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    86
  $ cat .hg/cache/tags2-visible
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    87
  5 2942a772f72a444bef4bef13874d515f50fa27b6 2fce1eec33263d08a4d04293960fc73a555230e4
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    88
  042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    89
28025
ab6468270b83 blackbox: flush output file descriptor
timeless <timeless@mozdev.org>
parents: 26185
diff changeset
    90
  $ hg blackbox -l 5
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
    91
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
    92
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> 1/1 cache hits/lookups in * seconds (glob)
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
    93
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> writing .hg/cache/tags2-visible with 1 tags
28247
d2c0527af364 blackbox: store the blackbox ui object instead of the log file
timeless <timeless@mozdev.org>
parents: 28245
diff changeset
    94
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags exited 0 after * seconds (glob)
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
    95
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> blackbox -l 5
24762
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    96
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    97
Resolving tags on an unfiltered repo writes a separate tags cache
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    98
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    99
  $ hg --hidden tags
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   100
  tip                                5:2942a772f72a
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   101
  head2                              4:042eb6bfcc49
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   102
  test2                              2:d75775ffbc6b
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   103
  test1                              0:55482a6fb4b1
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   104
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   105
  $ cat .hg/cache/tags2
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   106
  5 2942a772f72a444bef4bef13874d515f50fa27b6
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   107
  042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   108
  55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   109
  d75775ffbc6bca1794d300f5571272879bd280da test2
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   110
28025
ab6468270b83 blackbox: flush output file descriptor
timeless <timeless@mozdev.org>
parents: 26185
diff changeset
   111
  $ hg blackbox -l 5
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   112
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> --hidden tags
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   113
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> 2/2 cache hits/lookups in * seconds (glob)
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   114
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> writing .hg/cache/tags2 with 3 tags
28247
d2c0527af364 blackbox: store the blackbox ui object instead of the log file
timeless <timeless@mozdev.org>
parents: 28245
diff changeset
   115
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> --hidden tags exited 0 after * seconds (glob)
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   116
  1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> blackbox -l 5