tests/test-obsolete-tag-cache.t
author Christian Delahousse <cdelahousse@fb.com>
Tue, 13 Oct 2015 14:06:51 -0700
changeset 26677 e9b3d523f2e6
parent 26185 e8f9dffca36f
child 28025 ab6468270b83
permissions -rw-r--r--
rebase: properly abort when destination is public (issue4896) After rebasing a set of changes onto a public changeset and having the first one be skipped, if you try to abort, the operation fails. This fix adds a check to disallow the target rev into the dstates list within the abort function. This list is checked for immutable states before the rest of abort does its thing.
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
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    70
  $ hg blackbox -l 4
26185
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
    71
  1970/01/01 00:00:00 bob (*)> tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
    72
  1970/01/01 00:00:00 bob (*)> 2/2 cache hits/lookups in * seconds (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
    73
  1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2-visible with 2 tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
    74
  1970/01/01 00:00:00 bob (*)> tags exited 0 after * seconds (glob)
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    75
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    76
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
    77
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    78
  $ 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
    79
  $ 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
    80
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    81
  $ hg tags
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    82
  tip                                5:2942a772f72a
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    83
  head2                              4:042eb6bfcc49
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    84
24762
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    85
  $ cat .hg/cache/tags2-visible
24760
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    86
  5 2942a772f72a444bef4bef13874d515f50fa27b6 2fce1eec33263d08a4d04293960fc73a555230e4
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    87
  042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    88
410f3856196f tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24737
diff changeset
    89
  $ hg blackbox -l 4
26185
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
    90
  1970/01/01 00:00:00 bob (*)> tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
    91
  1970/01/01 00:00:00 bob (*)> 1/1 cache hits/lookups in * seconds (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
    92
  1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2-visible with 1 tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
    93
  1970/01/01 00:00:00 bob (*)> tags exited 0 after * seconds (glob)
24762
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    94
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    95
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
    96
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    97
  $ hg --hidden tags
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    98
  tip                                5:2942a772f72a
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
    99
  head2                              4:042eb6bfcc49
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   100
  test2                              2:d75775ffbc6b
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   101
  test1                              0:55482a6fb4b1
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   102
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   103
  $ 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
   104
  5 2942a772f72a444bef4bef13874d515f50fa27b6
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   105
  042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   106
  55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   107
  d75775ffbc6bca1794d300f5571272879bd280da test2
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   108
1062663808ce tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 24760
diff changeset
   109
  $ hg blackbox -l 4
26185
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
   110
  1970/01/01 00:00:00 bob (*)> --hidden tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
   111
  1970/01/01 00:00:00 bob (*)> 2/2 cache hits/lookups in * seconds (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
   112
  1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2 with 3 tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
   113
  1970/01/01 00:00:00 bob (*)> --hidden tags exited 0 after * seconds (glob)