tests/test-censor.t
author Anton Shestakov <av6@dwimlabs.net>
Sun, 14 Jan 2024 16:03:08 -0300
branchstable
changeset 51315 c7edfccfc11f
parent 51159 3e2a878fb96f
child 51362 e7be2ddfb4c2
permissions -rw-r--r--
tests: don't use "status" operand of dd in test-censor.t (issue6858) Some implementations don't have this operand, let's just direct stderr into /dev/null, that's pretty cross-platform. Also specify bs=512 (the default for me), because the default might be different on different systems. Other uses of dd in the tests do specify it, so this is more consistent.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37406
8c37c3220ebc tests: skip test-censor.t when using simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35393
diff changeset
     1
#require no-reposimplestore
47457
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
     2
#testcases revlogv1 revlogv2
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
     3
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
     4
#if revlogv2
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
     5
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
     6
  $ cat >> $HGRCPATH <<EOF
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
     7
  > [experimental]
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
     8
  > revlogv2=enable-unstable-format-and-corrupt-my-data
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
     9
  > EOF
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
    10
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
    11
#endif
37406
8c37c3220ebc tests: skip test-censor.t when using simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35393
diff changeset
    12
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    13
  $ cp $HGRCPATH $HGRCPATH.orig
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    14
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    15
Create repo with unimpeachable content
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    16
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    17
  $ hg init r
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    18
  $ cd r
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    19
  $ echo 'Initially untainted file' > target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    20
  $ echo 'Normal file here' > bystander
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    21
  $ hg add target bystander
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    22
  $ hg ci -m init
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    23
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    24
Clone repo so we can test pull later
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    25
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    26
  $ cd ..
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    27
  $ hg clone r rpull
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    28
  updating to branch default
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    29
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    30
  $ cd r
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    31
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    32
Introduce content which will ultimately require censorship. Name the first
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    33
censored node C1, second C2, and so on
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    34
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    35
  $ echo 'Tainted file' > target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    36
  $ echo 'Passwords: hunter2' >> target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    37
  $ hg ci -m taint target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    38
  $ C1=`hg id --debug -i`
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    39
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    40
  $ echo 'hunter3' >> target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    41
  $ echo 'Normal file v2' > bystander
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    42
  $ hg ci -m moretaint target bystander
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    43
  $ C2=`hg id --debug -i`
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    44
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    45
Add a new sanitized versions to correct our mistake. Name the first head H1,
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    46
the second head H2, and so on
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    47
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    48
  $ echo 'Tainted file is now sanitized' > target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    49
  $ hg ci -m sanitized target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    50
  $ H1=`hg id --debug -i`
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    51
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    52
  $ hg update -r $C2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    53
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    54
  $ echo 'Tainted file now super sanitized' > target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    55
  $ hg ci -m 'super sanitized' target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    56
  created new head
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    57
  $ H2=`hg id --debug -i`
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    58
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    59
Verify target contents before censorship at each revision
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    60
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
    61
  $ hg cat -r $H1 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    62
  Tainted file is now sanitized
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
    63
  $ hg cat -r $H2 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    64
  Tainted file now super sanitized
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
    65
  $ hg cat -r $C2 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    66
  Tainted file
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    67
  Passwords: hunter2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    68
  hunter3
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
    69
  $ hg cat -r $C1 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    70
  Tainted file
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    71
  Passwords: hunter2
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
    72
  $ hg cat -r 0 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    73
  Initially untainted file
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    74
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    75
Censor revision with 2 offenses
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    76
25806
5e18f6e39006 censor: make various path forms available like other Mercurial commands
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24361
diff changeset
    77
(this also tests file pattern matching: path relative to cwd case)
5e18f6e39006 censor: make various path forms available like other Mercurial commands
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24361
diff changeset
    78
5e18f6e39006 censor: make various path forms available like other Mercurial commands
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24361
diff changeset
    79
  $ mkdir -p foo/bar/baz
49174
3f86ee422095 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48324
diff changeset
    80
  $ hg --config extensions.censor= --cwd foo/bar/baz censor -r $C2 -t "remove password" ../../../target
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
    81
  $ hg cat -r $H1 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    82
  Tainted file is now sanitized
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
    83
  $ hg cat -r $H2 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    84
  Tainted file now super sanitized
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
    85
  $ hg cat -r $C2 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    86
  abort: censored node: 1e0247a9a4b7
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    87
  (set censor.policy to ignore errors)
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
    88
  $ hg cat -r $C1 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    89
  Tainted file
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    90
  Passwords: hunter2
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
    91
  $ hg cat -r 0 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    92
  Initially untainted file
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    93
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    94
Censor revision with 1 offense
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
    95
25806
5e18f6e39006 censor: make various path forms available like other Mercurial commands
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24361
diff changeset
    96
(this also tests file pattern matching: with 'path:' scheme)
5e18f6e39006 censor: make various path forms available like other Mercurial commands
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24361
diff changeset
    97
49174
3f86ee422095 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48324
diff changeset
    98
  $ hg --config extensions.censor= --cwd foo/bar/baz censor -r $C1 path:target
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
    99
  $ hg cat -r $H1 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   100
  Tainted file is now sanitized
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   101
  $ hg cat -r $H2 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   102
  Tainted file now super sanitized
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   103
  $ hg cat -r $C2 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   104
  abort: censored node: 1e0247a9a4b7
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   105
  (set censor.policy to ignore errors)
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   106
  $ hg cat -r $C1 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   107
  abort: censored node: 613bc869fceb
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   108
  (set censor.policy to ignore errors)
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   109
  $ hg cat -r 0 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   110
  Initially untainted file
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   111
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   112
Can only checkout target at uncensored revisions, -X is workaround for --all
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   113
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   114
  $ hg revert -r $C2 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   115
  abort: censored node: 1e0247a9a4b7
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   116
  (set censor.policy to ignore errors)
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   117
  $ hg revert -r $C1 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   118
  abort: censored node: 613bc869fceb
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   119
  (set censor.policy to ignore errors)
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   120
  $ hg revert -r $C1 --all
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   121
  reverting bystander
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   122
  reverting target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   123
  abort: censored node: 613bc869fceb
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   124
  (set censor.policy to ignore errors)
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   125
  [255]
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   126
  $ hg revert -r $C1 --all -X target
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   127
  $ cat target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   128
  Tainted file now super sanitized
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   129
  $ hg revert -r 0 --all
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   130
  reverting target
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   131
  $ cat target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   132
  Initially untainted file
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   133
  $ hg revert -r $H2 --all
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   134
  reverting bystander
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   135
  reverting target
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   136
  $ cat target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   137
  Tainted file now super sanitized
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   138
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   139
Uncensored file can be viewed at any revision
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   140
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   141
  $ hg cat -r $H1 bystander | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   142
  Normal file v2
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   143
  $ hg cat -r $C2 bystander | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   144
  Normal file v2
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   145
  $ hg cat -r $C1 bystander | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   146
  Normal file here
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   147
  $ hg cat -r 0 bystander | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   148
  Normal file here
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   149
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   150
Can update to children of censored revision
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   151
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   152
  $ hg update -r $H1
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   153
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   154
  $ cat target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   155
  Tainted file is now sanitized
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   156
  $ hg update -r $H2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   157
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   158
  $ cat target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   159
  Tainted file now super sanitized
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   160
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   161
Set censor policy to abort in trusted $HGRC so hg verify fails
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   162
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   163
  $ cp $HGRCPATH.orig $HGRCPATH
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   164
  $ cat >> $HGRCPATH <<EOF
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   165
  > [censor]
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   166
  > policy = abort
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   167
  > EOF
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   168
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   169
Repo fails verification due to censorship
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   170
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   171
  $ hg verify
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   172
  checking changesets
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   173
  checking manifests
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   174
  crosschecking files in changesets and manifests
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   175
  checking files
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   176
   target@1: censored file data
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   177
   target@2: censored file data
49826
c84844cd523a verify: also check dirstate
Raphaël Gomès <rgomes@octobus.net>
parents: 49825
diff changeset
   178
  not checking dirstate because of previous errors
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39480
diff changeset
   179
  checked 5 changesets with 7 changes to 2 files
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   180
  2 integrity errors encountered!
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   181
  (first damaged changeset appears to be 1)
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   182
  [1]
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   183
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   184
Cannot update to revision with censored data
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   185
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   186
  $ hg update -r $C2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   187
  abort: censored node: 1e0247a9a4b7
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   188
  (set censor.policy to ignore errors)
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   189
  [255]
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   190
  $ hg update -r $C1
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   191
  abort: censored node: 613bc869fceb
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   192
  (set censor.policy to ignore errors)
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   193
  [255]
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   194
  $ hg update -r 0
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   195
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   196
  $ hg update -r $H2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   197
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   198
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   199
Set censor policy to ignore in trusted $HGRC so hg verify passes
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   200
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   201
  $ cp $HGRCPATH.orig $HGRCPATH
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   202
  $ cat >> $HGRCPATH <<EOF
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   203
  > [censor]
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   204
  > policy = ignore
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   205
  > EOF
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   206
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   207
Repo passes verification with warnings with explicit config
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   208
49825
2f2682f40ea0 tests: use the `--quiet` flag for verify when applicable
Raphaël Gomès <rgomes@octobus.net>
parents: 49174
diff changeset
   209
  $ hg verify -q
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   210
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   211
May update to revision with censored data with explicit config
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   212
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   213
  $ hg update -r $C2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   214
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   215
  $ cat target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   216
  $ hg update -r $C1
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   217
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   218
  $ cat target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   219
  $ hg update -r 0
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   220
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   221
  $ cat target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   222
  Initially untainted file
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   223
  $ hg update -r $H2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   224
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   225
  $ cat target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   226
  Tainted file now super sanitized
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   227
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   228
Can merge in revision with censored data. Test requires one branch of history
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   229
with the file censored, but we can't censor at a head, so advance H1.
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   230
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   231
  $ hg update -r $H1
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   232
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   233
  $ C3=$H1
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   234
  $ echo 'advanced head H1' > target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   235
  $ hg ci -m 'advance head H1' target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   236
  $ H1=`hg id --debug -i`
49174
3f86ee422095 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48324
diff changeset
   237
  $ hg --config extensions.censor= censor -r $C3 target
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   238
  $ hg update -r $H2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   239
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   240
  $ hg merge -r $C3
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   241
  merging target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   242
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   243
  (branch merge, don't forget to commit)
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   244
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   245
Revisions present in repository heads may not be censored
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   246
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   247
  $ hg update -C -r $H2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   248
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
49174
3f86ee422095 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48324
diff changeset
   249
  $ hg --config extensions.censor= censor -r $H2 target
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   250
  abort: cannot censor file in heads (78a8fc215e79)
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   251
  (clean/delete and commit first)
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   252
  [255]
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   253
  $ echo 'twiddling thumbs' > bystander
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   254
  $ hg ci -m 'bystander commit'
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   255
  $ H2=`hg id --debug -i`
49174
3f86ee422095 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48324
diff changeset
   256
  $ hg --config extensions.censor= censor -r "$H2^" target
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   257
  abort: cannot censor file in heads (efbe78065929)
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   258
  (clean/delete and commit first)
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   259
  [255]
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   260
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   261
Cannot censor working directory
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   262
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   263
  $ echo 'seriously no passwords' > target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   264
  $ hg ci -m 'extend second head arbitrarily' target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   265
  $ H2=`hg id --debug -i`
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   266
  $ hg update -r "$H2^"
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   267
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
49174
3f86ee422095 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48324
diff changeset
   268
  $ hg --config extensions.censor= censor -r . target
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   269
  abort: cannot censor working directory
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   270
  (clean/delete/update first)
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   271
  [255]
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   272
  $ hg update -r $H2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   273
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   274
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   275
Can re-add file after being deleted + censored
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   276
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   277
  $ C4=$H2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   278
  $ hg rm target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   279
  $ hg ci -m 'delete target so it may be censored'
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   280
  $ H2=`hg id --debug -i`
49174
3f86ee422095 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48324
diff changeset
   281
  $ hg --config extensions.censor= censor -r $C4 target
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   282
  $ hg cat -r $C4 target | head -n 10
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   283
  $ hg cat -r "$H2^^" target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   284
  Tainted file now super sanitized
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   285
  $ echo 'fresh start' > target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   286
  $ hg add target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   287
  $ hg ci -m reincarnated target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   288
  $ H2=`hg id --debug -i`
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   289
  $ hg cat -r $H2 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   290
  fresh start
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   291
  $ hg cat -r "$H2^" target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   292
  target: no such file in rev 452ec1762369
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   293
  $ hg cat -r $C4 target | head -n 10
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   294
  $ hg cat -r "$H2^^^" target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   295
  Tainted file now super sanitized
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   296
51156
22d11305f365 censor: show that the `not-inline` → `inline` test is broken
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51079
diff changeset
   297
Can censor enough revision to move back to inline storage
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   298
51156
22d11305f365 censor: show that the `not-inline` → `inline` test is broken
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51079
diff changeset
   299
  $ hg debugrevlogstats | grep target
22d11305f365 censor: show that the `not-inline` → `inline` test is broken
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51079
diff changeset
   300
  rev-count   data-size inl type      target 
51159
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   301
          8         ??? no  file      target (glob) (revlogv2 !)
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   302
          8         ??? yes file      target (glob) (revlogv1 !)
51315
c7edfccfc11f tests: don't use "status" operand of dd in test-censor.t (issue6858)
Anton Shestakov <av6@dwimlabs.net>
parents: 51159
diff changeset
   303
  $ cat /dev/rand?m | dd bs=512 count=200 2> /dev/null | f --hexdump > target
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   304
  $ hg ci -m 'add 100k passwords'
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   305
  $ H2=`hg id --debug -i`
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   306
  $ C5=$H2
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   307
  $ hg revert -r "$H2^" target
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   308
  $ hg ci -m 'cleaned 100k passwords'
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   309
  $ H2=`hg id --debug -i`
51156
22d11305f365 censor: show that the `not-inline` → `inline` test is broken
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51079
diff changeset
   310
  $ hg debugrevlogstats | grep target
22d11305f365 censor: show that the `not-inline` → `inline` test is broken
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51079
diff changeset
   311
  rev-count   data-size inl type      target 
51159
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   312
         10      ?????? no  file      target (glob)
49174
3f86ee422095 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48324
diff changeset
   313
  $ hg --config extensions.censor= censor -r $C5 target
51159
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   314
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   315
The important part is for the censor operation to not crash and the repository
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   316
to not be corrupted.  Right now this involve keeping the revlog split.
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   317
51156
22d11305f365 censor: show that the `not-inline` → `inline` test is broken
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51079
diff changeset
   318
  $ hg debugrevlogstats | grep target
22d11305f365 censor: show that the `not-inline` → `inline` test is broken
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51079
diff changeset
   319
  rev-count   data-size inl type      target 
51159
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   320
         10         ??? no  file      target (glob)
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   321
  $ hg cat -r $C5 target | head -n 10
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   322
  $ hg cat -r $H2 target | head -n 10
24347
1bcfecbbf569 censor: add censor command to hgext with basic client-side tests
Mike Edgar <adgar@google.com>
parents:
diff changeset
   323
  fresh start
51159
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   324
  $ hg verify
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   325
  checking changesets
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   326
  checking manifests
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   327
  crosschecking files in changesets and manifests
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   328
  checking files
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   329
  checking dirstate
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   330
  checked 12 changesets with 13 changes to 2 files
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   331
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   332
Repo with censored nodes can be cloned and cloned nodes are censored
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   333
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   334
  $ cd ..
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   335
  $ hg clone r rclone
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   336
  updating to branch default
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   337
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   338
  $ cd rclone
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   339
  $ hg cat -r $H1 target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   340
  advanced head H1
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   341
  $ hg cat -r $H2~5 target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   342
  Tainted file now super sanitized
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   343
  $ hg cat -r $C2 target | head -n 10
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   344
  $ hg cat -r $C1 target | head -n 10
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   345
  $ hg cat -r 0 target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   346
  Initially untainted file
49825
2f2682f40ea0 tests: use the `--quiet` flag for verify when applicable
Raphaël Gomès <rgomes@octobus.net>
parents: 49174
diff changeset
   347
  $ hg verify -q
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   349
Repo cloned before tainted content introduced can pull censored nodes
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   350
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   351
  $ cd ../rpull
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   352
  $ hg cat -r tip target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   353
  Initially untainted file
49825
2f2682f40ea0 tests: use the `--quiet` flag for verify when applicable
Raphaël Gomès <rgomes@octobus.net>
parents: 49174
diff changeset
   354
  $ hg verify -q
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   355
  $ hg pull -r $H1 -r $H2
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   356
  pulling from $TESTTMP/r
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   357
  searching for changes
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   358
  adding changesets
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   359
  adding manifests
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   360
  adding file changes
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   361
  added 11 changesets with 11 changes to 2 files (+1 heads)
51159
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   362
  new changesets * (glob)
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   363
  (run 'hg heads' to see heads, 'hg merge' to merge)
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   364
  $ hg update 4
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   365
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   366
  $ cat target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   367
  Tainted file now super sanitized
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   368
  $ hg cat -r $H1 target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   369
  advanced head H1
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   370
  $ hg cat -r $H2~5 target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   371
  Tainted file now super sanitized
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   372
  $ hg cat -r $C2 target | head -n 10
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   373
  $ hg cat -r $C1 target | head -n 10
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   374
  $ hg cat -r 0 target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   375
  Initially untainted file
49825
2f2682f40ea0 tests: use the `--quiet` flag for verify when applicable
Raphaël Gomès <rgomes@octobus.net>
parents: 49174
diff changeset
   376
  $ hg verify -q
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   377
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   378
Censored nodes can be pushed if they censor previously unexchanged nodes
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   379
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   380
  $ echo 'Passwords: hunter2hunter2' > target
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   381
  $ hg ci -m 're-add password from clone' target
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   382
  created new head
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   383
  $ H3=`hg id --debug -i`
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   384
  $ REV=$H3
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   385
  $ echo 'Re-sanitized; nothing to see here' > target
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   386
  $ hg ci -m 're-sanitized' target
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   387
  $ H2=`hg id --debug -i`
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   388
  $ CLEANREV=$H2
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   389
  $ hg cat -r $REV target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   390
  Passwords: hunter2hunter2
49174
3f86ee422095 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48324
diff changeset
   391
  $ hg --config extensions.censor= censor -r $REV target
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   392
  $ hg cat -r $REV target | head -n 10
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   393
  $ hg cat -r $CLEANREV target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   394
  Re-sanitized; nothing to see here
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   395
  $ hg push -f -r $H2
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   396
  pushing to $TESTTMP/r
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   397
  searching for changes
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   398
  adding changesets
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   399
  adding manifests
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   400
  adding file changes
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   401
  added 2 changesets with 2 changes to 1 files (+1 heads)
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   402
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   403
  $ cd ../r
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   404
  $ hg cat -r $REV target | head -n 10
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   405
  $ hg cat -r $CLEANREV target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   406
  Re-sanitized; nothing to see here
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   407
  $ hg update $CLEANREV
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   408
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   409
  $ cat target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   410
  Re-sanitized; nothing to see here
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   411
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   412
Censored nodes can be bundled up and unbundled in another repo
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   413
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   414
  $ hg bundle --base 0 ../pwbundle
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   415
  13 changesets found
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   416
  $ cd ../rclone
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   417
  $ hg unbundle ../pwbundle
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   418
  adding changesets
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   419
  adding manifests
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   420
  adding file changes
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   421
  added 2 changesets with 2 changes to 2 files (+1 heads)
51159
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   422
  new changesets * (glob)
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   423
  (run 'hg heads .' to see heads, 'hg merge' to merge)
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   424
  $ hg cat -r $REV target | head -n 10
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   425
  $ hg cat -r $CLEANREV target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   426
  Re-sanitized; nothing to see here
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   427
  $ hg update $CLEANREV
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   428
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   429
  $ cat target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   430
  Re-sanitized; nothing to see here
49825
2f2682f40ea0 tests: use the `--quiet` flag for verify when applicable
Raphaël Gomès <rgomes@octobus.net>
parents: 49174
diff changeset
   431
  $ hg verify -q
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   432
43433
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   433
Grepping only warns, doesn't error out
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   434
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   435
  $ cd ../rpull
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   436
  $ hg grep 'Normal file'
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   437
  bystander:Normal file v2
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   438
  $ hg grep nothing
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   439
  target:Re-sanitized; nothing to see here
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   440
  $ hg grep --diff 'Normal file'
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   441
  cannot search in censored file: target:7
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   442
  cannot search in censored file: target:10
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   443
  cannot search in censored file: target:12
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   444
  bystander:6:-:Normal file v2
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   445
  cannot search in censored file: target:1
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   446
  cannot search in censored file: target:2
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   447
  cannot search in censored file: target:3
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   448
  bystander:2:-:Normal file here
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   449
  bystander:2:+:Normal file v2
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   450
  bystander:0:+:Normal file here
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   451
  $ hg grep --diff nothing
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   452
  cannot search in censored file: target:7
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   453
  cannot search in censored file: target:10
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   454
  cannot search in censored file: target:12
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   455
  target:13:+:Re-sanitized; nothing to see here
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   456
  cannot search in censored file: target:1
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   457
  cannot search in censored file: target:2
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   458
  cannot search in censored file: target:3
13b8097dccbf grep: warn on censored revisions instead of erroring out
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 39707
diff changeset
   459
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   460
Censored nodes can be imported on top of censored nodes, consecutively
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   461
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   462
  $ hg init ../rimport
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   463
  $ hg bundle --base 1 ../rimport/splitbundle
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   464
  12 changesets found
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   465
  $ cd ../rimport
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   466
  $ hg pull -r $H1 -r $H2 ../r
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   467
  pulling from ../r
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   468
  adding changesets
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   469
  adding manifests
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   470
  adding file changes
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   471
  added 8 changesets with 10 changes to 2 files (+1 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 32940
diff changeset
   472
  new changesets e97f55b2665a:dcbaf17bf3a1
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   473
  (run 'hg heads' to see heads, 'hg merge' to merge)
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   474
  $ hg unbundle splitbundle
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   475
  adding changesets
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   476
  adding manifests
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   477
  adding file changes
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   478
  added 6 changesets with 5 changes to 2 files (+1 heads)
51159
3e2a878fb96f censor: fix things around inlining
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51156
diff changeset
   479
  new changesets * (glob)
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   480
  (run 'hg heads .' to see heads, 'hg merge' to merge)
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   481
  $ hg update $H2
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   482
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   483
  $ cat target | head -n 10
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   484
  Re-sanitized; nothing to see here
49825
2f2682f40ea0 tests: use the `--quiet` flag for verify when applicable
Raphaël Gomès <rgomes@octobus.net>
parents: 49174
diff changeset
   485
  $ hg verify -q
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   486
  $ cd ../r
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   487
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   488
Can import bundle where first revision of a file is censored
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   489
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   490
  $ hg init ../rinit
49174
3f86ee422095 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48324
diff changeset
   491
  $ hg --config extensions.censor= censor -r 0 target
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   492
  $ hg bundle -r 0 --base null ../rinit/initbundle
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   493
  1 changesets found
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   494
  $ cd ../rinit
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   495
  $ hg unbundle initbundle
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   496
  adding changesets
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   497
  adding manifests
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   498
  adding file changes
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   499
  added 1 changesets with 2 changes to 2 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 37406
diff changeset
   500
  new changesets e97f55b2665a (1 drafts)
24348
b7f936f47f2b censor: add exchange tests, via local push/pull and bundle/unbundle
Mike Edgar <adgar@google.com>
parents: 24347
diff changeset
   501
  (run 'hg update' to get a working copy)
47390
65b86f516ba2 censor: reduce risk of censor test blowing up output limit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43433
diff changeset
   502
  $ hg cat -r 0 target | head -n 10
47457
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   503
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   504
#if revlogv2
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   505
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   506
Testing feature that does not work in revlog v1
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   507
===============================================
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   508
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   509
Censoring a revision that is used as delta base
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   510
-----------------------------------------------
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   511
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   512
  $ cd ..
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   513
  $ hg init censor-with-delta
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   514
  $ cd censor-with-delta
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   515
  $ echo root > target
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   516
  $ hg add target
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   517
  $ hg commit -m root
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   518
  $ B0=`hg id --debug -i`
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   519
  $ for x in `"$PYTHON" $TESTDIR/seq.py 0 50000`
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   520
  > do
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   521
  >   echo "Password: hunter$x" >> target
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   522
  > done
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   523
  $ hg ci -m 'write a long file'
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   524
  $ B1=`hg id --debug -i`
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   525
  $ echo 'small change (should create a delta)' >> target
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   526
  $ hg ci -m 'create a delta over the password'
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   527
(should show that the last revision is a delta, not a snapshot)
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   528
  $ B2=`hg id --debug -i`
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   529
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   530
Make sure the last revision is a delta against the revision we will censor
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   531
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   532
  $ hg debugdeltachain target -T '{rev} {chainid} {chainlen} {prevrev}\n'
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   533
  0 1 1 -1
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   534
  1 2 1 -1
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   535
  2 2 2 1
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   536
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   537
Censor the file
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   538
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   539
  $ hg cat -r $B1 target | wc -l
48324
95ea181d9bdd tests: fix test-censor by improving regexp (issue6585)
Thomas Klausner <wiz@gatalith.at>
parents: 47457
diff changeset
   540
   *50002 (re)
49174
3f86ee422095 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48324
diff changeset
   541
  $ hg --config extensions.censor= censor -r $B1 target
47457
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   542
  $ hg cat -r $B1 target | wc -l
48324
95ea181d9bdd tests: fix test-censor by improving regexp (issue6585)
Thomas Klausner <wiz@gatalith.at>
parents: 47457
diff changeset
   543
   *0 (re)
47457
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   544
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   545
Check the children is fine
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   546
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   547
  $ hg cat -r $B2 target | wc -l
48324
95ea181d9bdd tests: fix test-censor by improving regexp (issue6585)
Thomas Klausner <wiz@gatalith.at>
parents: 47457
diff changeset
   548
   *50003 (re)
47457
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   549
f8330a3fc39f censor: implement censoring for revlogv2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47392
diff changeset
   550
#endif
51078
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   551
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   552
Testing repository upgrade with censors revision
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   553
================================================
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   554
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   555
  $ cd ../rclone
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   556
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   557
With the "abort" policy
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   558
=======================
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   559
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   560
  $ hg verify --config censor.policy=ignore
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   561
  checking changesets
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   562
  checking manifests
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   563
  crosschecking files in changesets and manifests
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   564
  checking files
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   565
  checking dirstate
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   566
  checked 14 changesets with 15 changes to 2 files
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   567
  $ hg debugupgraderepo --run --quiet \
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   568
  > --optimize re-delta-parent \
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   569
  > --config censor.policy=abort
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   570
  upgrade will perform the following actions:
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   571
  
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   572
  requirements
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   573
     preserved: * (glob)
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   574
  
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   575
  optimisations: re-delta-parent
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   576
  
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   577
  processed revlogs:
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   578
    - all-filelogs
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   579
    - changelog
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   580
    - manifest
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   581
  
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   582
  $ hg verify  --config censor.policy=ignore
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   583
  checking changesets
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   584
  checking manifests
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   585
  crosschecking files in changesets and manifests
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   586
  checking files
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   587
  checking dirstate
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   588
  checked 14 changesets with 15 changes to 2 files
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   589
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   590
With the "ignore" policy
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   591
========================
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   592
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   593
  $ hg verify --config censor.policy=ignore
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   594
  checking changesets
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   595
  checking manifests
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   596
  crosschecking files in changesets and manifests
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   597
  checking files
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   598
  checking dirstate
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   599
  checked 14 changesets with 15 changes to 2 files
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   600
  $ hg debugupgraderepo --run --quiet \
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   601
  > --optimize re-delta-parent \
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   602
  > --config censor.policy=ignore
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   603
  upgrade will perform the following actions:
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   604
  
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   605
  requirements
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   606
     preserved: * (glob)
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   607
  
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   608
  optimisations: re-delta-parent
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   609
  
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   610
  processed revlogs:
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   611
    - all-filelogs
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   612
    - changelog
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   613
    - manifest
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   614
  
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   615
  $ hg verify --config censor.policy=ignore
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   616
  checking changesets
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   617
  checking manifests
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   618
  crosschecking files in changesets and manifests
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   619
  checking files
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   620
  checking dirstate
45dab30f9d55 censor: show that censored revision prevent repository upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49826
diff changeset
   621
  checked 14 changesets with 15 changes to 2 files