tests/test-audit-subrepo.t
author Manuel Jacob <me@manueljacob.de>
Thu, 15 Sep 2022 01:48:38 +0200
changeset 49494 c96ed4029fda
parent 48369 35f1ecd84bd0
permissions -rw-r--r--
templates: add filter to reverse list The filter supports only lists because for lists, it’s straightforward to implement. Reversing text doesn’t seem very useful and is hard to implement. Reversing the bytes would break multi-bytes encodings. Reversing the code points would break characters consisting of multiple code points. Reversing graphemes is non-trivial without using a library not included in the standard library.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
34983
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     1
Test illegal name
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     2
-----------------
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     3
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     4
on commit:
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     5
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     6
  $ hg init hgname
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     7
  $ cd hgname
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     8
  $ mkdir sub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     9
  $ hg init sub/.hg
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    10
  $ echo 'sub/.hg = sub/.hg' >> .hgsub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    11
  $ hg ci -qAm 'add subrepo "sub/.hg"'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35166
diff changeset
    12
  abort: path 'sub/.hg' is inside nested repo 'sub'
48369
35f1ecd84bd0 errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents: 46418
diff changeset
    13
  [10]
34983
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    14
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    15
prepare tampered repo (including the commit above):
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    16
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    17
  $ hg import --bypass -qm 'add subrepo "sub/.hg"' - <<'EOF'
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    18
  > diff --git a/.hgsub b/.hgsub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    19
  > new file mode 100644
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    20
  > --- /dev/null
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    21
  > +++ b/.hgsub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    22
  > @@ -0,0 +1,1 @@
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    23
  > +sub/.hg = sub/.hg
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    24
  > diff --git a/.hgsubstate b/.hgsubstate
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    25
  > new file mode 100644
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    26
  > --- /dev/null
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    27
  > +++ b/.hgsubstate
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    28
  > @@ -0,0 +1,1 @@
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    29
  > +0000000000000000000000000000000000000000 sub/.hg
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    30
  > EOF
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    31
  $ cd ..
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    32
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    33
on clone (and update):
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    34
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    35
  $ hg clone -q hgname hgname2
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35166
diff changeset
    36
  abort: path 'sub/.hg' is inside nested repo 'sub'
48369
35f1ecd84bd0 errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents: 46418
diff changeset
    37
  [10]
34983
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    38
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    39
Test absolute path
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    40
------------------
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    41
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    42
on commit:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    43
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    44
  $ hg init absolutepath
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    45
  $ cd absolutepath
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    46
  $ hg init sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    47
  $ echo '/sub = sub' >> .hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    48
  $ hg ci -qAm 'add subrepo "/sub"'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    49
  abort: path contains illegal component: /sub
48369
35f1ecd84bd0 errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents: 46418
diff changeset
    50
  [10]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    51
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    52
prepare tampered repo (including the commit above):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    53
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    54
  $ hg import --bypass -qm 'add subrepo "/sub"' - <<'EOF'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    55
  > diff --git a/.hgsub b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    56
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    57
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    58
  > +++ b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    59
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    60
  > +/sub = sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    61
  > diff --git a/.hgsubstate b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    62
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    63
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    64
  > +++ b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    65
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    66
  > +0000000000000000000000000000000000000000 /sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    67
  > EOF
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    68
  $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    69
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    70
on clone (and update):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    71
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    72
  $ hg clone -q absolutepath absolutepath2
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    73
  abort: path contains illegal component: /sub
48369
35f1ecd84bd0 errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents: 46418
diff changeset
    74
  [10]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    75
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    76
Test root path
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    77
--------------
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    78
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    79
on commit:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    80
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    81
  $ hg init rootpath
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    82
  $ cd rootpath
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    83
  $ hg init sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    84
  $ echo '/ = sub' >> .hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    85
  $ hg ci -qAm 'add subrepo "/"'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    86
  abort: path ends in directory separator: /
48369
35f1ecd84bd0 errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents: 46418
diff changeset
    87
  [10]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    88
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    89
prepare tampered repo (including the commit above):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    90
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    91
  $ hg import --bypass -qm 'add subrepo "/"' - <<'EOF'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    92
  > diff --git a/.hgsub b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    93
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    94
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    95
  > +++ b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    96
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    97
  > +/ = sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    98
  > diff --git a/.hgsubstate b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
    99
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   100
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   101
  > +++ b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   102
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   103
  > +0000000000000000000000000000000000000000 /
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   104
  > EOF
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   105
  $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   106
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   107
on clone (and update):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   108
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   109
  $ hg clone -q rootpath rootpath2
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   110
  abort: path ends in directory separator: /
48369
35f1ecd84bd0 errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents: 46418
diff changeset
   111
  [10]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   112
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   113
Test empty path
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   114
---------------
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   115
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   116
on commit:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   117
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   118
  $ hg init emptypath
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   119
  $ cd emptypath
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   120
  $ hg init sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   121
  $ echo '= sub' >> .hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   122
  $ hg ci -qAm 'add subrepo ""'
45894
9dc1351d0b5f errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents: 44724
diff changeset
   123
  config error at .hgsub:1: = sub
9dc1351d0b5f errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents: 44724
diff changeset
   124
  [30]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   125
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   126
prepare tampered repo (including the commit above):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   127
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   128
  $ hg import --bypass -qm 'add subrepo ""' - <<'EOF'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   129
  > diff --git a/.hgsub b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   130
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   131
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   132
  > +++ b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   133
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   134
  > += sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   135
  > diff --git a/.hgsubstate b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   136
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   137
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   138
  > +++ b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   139
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   140
  > +0000000000000000000000000000000000000000
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   141
  > EOF
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   142
  $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   143
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   144
on clone (and update):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   145
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   146
  $ hg clone -q emptypath emptypath2
45894
9dc1351d0b5f errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents: 44724
diff changeset
   147
  config error at .hgsub:1: = sub
9dc1351d0b5f errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents: 44724
diff changeset
   148
  [30]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   149
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   150
Test current path
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   151
-----------------
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   152
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   153
on commit:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   154
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   155
  $ hg init currentpath
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   156
  $ cd currentpath
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   157
  $ hg init sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   158
  $ echo '. = sub' >> .hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   159
  $ hg ci -qAm 'add subrepo "."'
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   160
  abort: subrepo path contains illegal component: .
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   161
  [255]
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   162
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   163
prepare tampered repo (including the commit above):
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   164
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   165
  $ hg import --bypass -qm 'add subrepo "."' - <<'EOF'
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   166
  > diff --git a/.hgsub b/.hgsub
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   167
  > new file mode 100644
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   168
  > --- /dev/null
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   169
  > +++ b/.hgsub
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   170
  > @@ -0,0 +1,1 @@
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   171
  > +.= sub
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   172
  > diff --git a/.hgsubstate b/.hgsubstate
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   173
  > new file mode 100644
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   174
  > --- /dev/null
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   175
  > +++ b/.hgsubstate
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   176
  > @@ -0,0 +1,1 @@
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   177
  > +0000000000000000000000000000000000000000 .
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   178
  > EOF
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   179
  $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   180
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   181
on clone (and update):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   182
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   183
  $ hg clone -q currentpath currentpath2
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   184
  abort: subrepo path contains illegal component: .
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   185
  [255]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   186
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   187
Test outer path
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   188
---------------
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   189
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   190
on commit:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   191
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   192
  $ mkdir outerpath
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   193
  $ cd outerpath
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   194
  $ hg init main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   195
  $ cd main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   196
  $ hg init ../sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   197
  $ echo '../sub = ../sub' >> .hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   198
  $ hg ci -qAm 'add subrepo "../sub"'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   199
  abort: path contains illegal component: ../sub
48369
35f1ecd84bd0 errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents: 46418
diff changeset
   200
  [10]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   201
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   202
prepare tampered repo (including the commit above):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   203
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   204
  $ hg import --bypass -qm 'add subrepo "../sub"' - <<'EOF'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   205
  > diff --git a/.hgsub b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   206
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   207
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   208
  > +++ b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   209
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   210
  > +../sub = ../sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   211
  > diff --git a/.hgsubstate b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   212
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   213
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   214
  > +++ b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   215
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   216
  > +0000000000000000000000000000000000000000 ../sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   217
  > EOF
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   218
  $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   219
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   220
on clone (and update):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   221
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   222
  $ hg clone -q main main2
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   223
  abort: path contains illegal component: ../sub
48369
35f1ecd84bd0 errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents: 46418
diff changeset
   224
  [10]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   225
  $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   226
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   227
Test variable expansion
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   228
-----------------------
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   229
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   230
Subrepository paths shouldn't be expanded, but we fail to handle them
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   231
properly. Any local repository paths are expanded.
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   232
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   233
on commit:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   234
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   235
  $ mkdir envvar
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   236
  $ cd envvar
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   237
  $ hg init main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   238
  $ cd main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   239
  $ hg init sub1
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   240
  $ cat <<'EOF' > sub1/hgrc
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   241
  > [hooks]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   242
  > log = echo pwned
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   243
  > EOF
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   244
  $ hg -R sub1 ci -qAm 'add sub1 files'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   245
  $ hg -R sub1 log -r. -T '{node}\n'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   246
  39eb4b4d3e096527668784893a9280578a8f38b8
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   247
  $ echo '$SUB = sub1' >> .hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   248
  $ SUB=sub1 hg ci -qAm 'add subrepo "$SUB"'
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   249
  abort: subrepo path contains illegal component: $SUB
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   250
  [255]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   251
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   252
prepare tampered repo (including the changes above as two commits):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   253
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   254
  $ hg import --bypass -qm 'add subrepo "$SUB"' - <<'EOF'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   255
  > diff --git a/.hgsub b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   256
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   257
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   258
  > +++ b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   259
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   260
  > +$SUB = sub1
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   261
  > diff --git a/.hgsubstate b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   262
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   263
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   264
  > +++ b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   265
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   266
  > +0000000000000000000000000000000000000000 $SUB
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   267
  > EOF
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   268
  $ hg debugsetparents 0
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   269
  $ hg import --bypass -qm 'update subrepo "$SUB"' - <<'EOF'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   270
  > diff --git a/.hgsubstate b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   271
  > --- a/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   272
  > +++ b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   273
  > @@ -1,1 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   274
  > -0000000000000000000000000000000000000000 $SUB
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   275
  > +39eb4b4d3e096527668784893a9280578a8f38b8 $SUB
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   276
  > EOF
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   277
  $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   278
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   279
on clone (and update) with various substitutions:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   280
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   281
  $ hg clone -q main main2
41458
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   282
  abort: subrepo path contains illegal component: $SUB
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   283
  [255]
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   284
  $ ls -A main2
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   285
  .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   286
  .hgsub
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   287
  .hgsubstate
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   288
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   289
  $ SUB=sub1 hg clone -q main main3
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   290
  abort: subrepo path contains illegal component: $SUB
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   291
  [255]
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   292
  $ ls -A main3
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   293
  .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   294
  .hgsub
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   295
  .hgsubstate
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   296
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   297
  $ SUB=sub2 hg clone -q main main4
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   298
  abort: subrepo path contains illegal component: $SUB
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   299
  [255]
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   300
  $ ls -A main4
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   301
  .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   302
  .hgsub
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   303
  .hgsubstate
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   304
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   305
on clone empty subrepo into .hg, then pull (and update), which at least fails:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   306
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   307
  $ SUB=.hg hg clone -qr0 main main5
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   308
  abort: subrepo path contains illegal component: $SUB
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   309
  [255]
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   310
  $ ls -A main5
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   311
  .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   312
  .hgsub
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   313
  .hgsubstate
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   314
  $ test -d main5/.hg/.hg
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   315
  [1]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   316
  $ SUB=.hg hg -R main5 pull -u
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   317
  pulling from $TESTTMP/envvar/main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   318
  searching for changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   319
  adding changesets
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   320
  adding manifests
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   321
  adding file changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   322
  added 1 changesets with 1 changes to 1 files
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   323
  new changesets 7a2f0e59146f
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   324
  .hgsubstate: untracked file differs
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   325
  abort: untracked files in working directory differ from files in requested revision
46418
dc00324e80f4 errors: use StateError more in merge module
Martin von Zweigbergk <martinvonz@google.com>
parents: 45894
diff changeset
   326
  [20]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   327
  $ cat main5/.hg/hgrc | grep pwned
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   328
  [1]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   329
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   330
on clone (and update) into .hg, which at least fails:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   331
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   332
  $ SUB=.hg hg clone -q main main6
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   333
  abort: subrepo path contains illegal component: $SUB
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   334
  [255]
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   335
  $ ls -A main6
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   336
  .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   337
  .hgsub
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   338
  .hgsubstate
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   339
  $ cat main6/.hg/hgrc | grep pwned
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   340
  [1]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   341
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   342
on clone (and update) into .hg/* subdir:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   343
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   344
  $ SUB=.hg/foo hg clone -q main main7
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   345
  abort: subrepo path contains illegal component: $SUB
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   346
  [255]
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   347
  $ ls -A main7
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   348
  .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   349
  .hgsub
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   350
  .hgsubstate
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   351
  $ test -d main7/.hg/.hg
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   352
  [1]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   353
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   354
on clone (and update) into outer tree:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   355
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   356
  $ SUB=../out-of-tree-write hg clone -q main main8
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   357
  abort: subrepo path contains illegal component: $SUB
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   358
  [255]
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   359
  $ ls -A main8
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   360
  .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   361
  .hgsub
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   362
  .hgsubstate
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   363
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   364
on clone (and update) into e.g. $HOME, which doesn't work since subrepo paths
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   365
are concatenated prior to variable expansion:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   366
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   367
  $ SUB="$TESTTMP/envvar/fakehome" hg clone -q main main9
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   368
  abort: subrepo path contains illegal component: $SUB
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   369
  [255]
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   370
  $ ls -A main9 | wc -l
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   371
  \s*3 (re)
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   372
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   373
  $ ls
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   374
  main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   375
  main2
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   376
  main3
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   377
  main4
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   378
  main5
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   379
  main6
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   380
  main7
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   381
  main8
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   382
  main9
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   383
  $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   384
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   385
Test tilde
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   386
----------
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   387
41458
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   388
The leading tilde may be expanded to $HOME, but it can be a valid subrepo
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   389
path in theory. However, we want to prohibit it as there might be unsafe
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   390
handling of such paths.
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   391
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   392
on commit:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   393
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   394
  $ hg init tilde
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   395
  $ cd tilde
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   396
  $ hg init './~'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   397
  $ echo '~ = ~' >> .hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   398
  $ hg ci -qAm 'add subrepo "~"'
41458
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   399
  abort: subrepo path contains illegal component: ~
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   400
  [255]
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   401
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   402
prepare tampered repo (including the commit above):
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   403
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   404
  $ hg import --bypass -qm 'add subrepo "~"' - <<'EOF'
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   405
  > diff --git a/.hgsub b/.hgsub
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   406
  > new file mode 100644
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   407
  > --- /dev/null
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   408
  > +++ b/.hgsub
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   409
  > @@ -0,0 +1,1 @@
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   410
  > +~ = ~
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   411
  > diff --git a/.hgsubstate b/.hgsubstate
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   412
  > new file mode 100644
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   413
  > --- /dev/null
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   414
  > +++ b/.hgsubstate
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   415
  > @@ -0,0 +1,1 @@
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   416
  > +0000000000000000000000000000000000000000 ~
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   417
  > EOF
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   418
  $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   419
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   420
on clone (and update):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   421
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   422
  $ hg clone -q tilde tilde2
41458
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   423
  abort: subrepo path contains illegal component: ~
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
   424
  [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   425
34983
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   426
Test direct symlink traversal
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   427
-----------------------------
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   428
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   429
#if symlink
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   430
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   431
on commit:
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   432
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   433
  $ mkdir hgsymdir
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   434
  $ hg init hgsymdir/root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   435
  $ cd hgsymdir/root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   436
  $ ln -s ../out
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   437
  $ hg ci -qAm 'add symlink "out"'
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   438
  $ hg init ../out
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   439
  $ echo 'out = out' >> .hgsub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   440
  $ hg ci -qAm 'add subrepo "out"'
34984
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   441
  abort: subrepo 'out' traverses symbolic link
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   442
  [255]
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   443
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   444
prepare tampered repo (including the commit above):
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   445
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   446
  $ hg import --bypass -qm 'add subrepo "out"' - <<'EOF'
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   447
  > diff --git a/.hgsub b/.hgsub
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   448
  > new file mode 100644
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   449
  > --- /dev/null
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   450
  > +++ b/.hgsub
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   451
  > @@ -0,0 +1,1 @@
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   452
  > +out = out
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   453
  > diff --git a/.hgsubstate b/.hgsubstate
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   454
  > new file mode 100644
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   455
  > --- /dev/null
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   456
  > +++ b/.hgsubstate
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   457
  > @@ -0,0 +1,1 @@
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   458
  > +0000000000000000000000000000000000000000 out
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   459
  > EOF
34983
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   460
  $ cd ../..
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   461
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   462
on clone (and update):
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   463
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   464
  $ mkdir hgsymdir2
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   465
  $ hg clone -q hgsymdir/root hgsymdir2/root
34984
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   466
  abort: subrepo 'out' traverses symbolic link
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
   467
  [255]
34983
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   468
  $ ls hgsymdir2
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   469
  root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   470
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   471
#endif
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   472
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   473
Test indirect symlink traversal
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   474
-------------------------------
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   475
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   476
#if symlink
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   477
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   478
on commit:
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   479
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   480
  $ mkdir hgsymin
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   481
  $ hg init hgsymin/root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   482
  $ cd hgsymin/root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   483
  $ ln -s ../out
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   484
  $ hg ci -qAm 'add symlink "out"'
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   485
  $ mkdir ../out
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   486
  $ hg init ../out/sub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   487
  $ echo 'out/sub = out/sub' >> .hgsub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   488
  $ hg ci -qAm 'add subrepo "out/sub"'
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   489
  abort: path 'out/sub' traverses symbolic link 'out'
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   490
  [255]
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   491
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   492
prepare tampered repo (including the commit above):
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   493
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   494
  $ hg import --bypass -qm 'add subrepo "out/sub"' - <<'EOF'
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   495
  > diff --git a/.hgsub b/.hgsub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   496
  > new file mode 100644
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   497
  > --- /dev/null
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   498
  > +++ b/.hgsub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   499
  > @@ -0,0 +1,1 @@
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   500
  > +out/sub = out/sub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   501
  > diff --git a/.hgsubstate b/.hgsubstate
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   502
  > new file mode 100644
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   503
  > --- /dev/null
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   504
  > +++ b/.hgsubstate
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   505
  > @@ -0,0 +1,1 @@
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   506
  > +0000000000000000000000000000000000000000 out/sub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   507
  > EOF
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   508
  $ cd ../..
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   509
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   510
on clone (and update):
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   511
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   512
  $ mkdir hgsymin2
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   513
  $ hg clone -q hgsymin/root hgsymin2/root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   514
  abort: path 'out/sub' traverses symbolic link 'out'
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   515
  [255]
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   516
  $ ls hgsymin2
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   517
  root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   518
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   519
#endif
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   520
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   521
Test symlink traversal by variable expansion
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   522
--------------------------------------------
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   523
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   524
#if symlink
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   525
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   526
  $ FAKEHOME="$TESTTMP/envvarsym/fakehome"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   527
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   528
on commit:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   529
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   530
  $ mkdir envvarsym
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   531
  $ cd envvarsym
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   532
  $ hg init main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   533
  $ cd main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   534
  $ ln -s "`echo "$FAKEHOME" | sed 's|\(.\)/.*|\1|'`"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   535
  $ hg ci -qAm 'add symlink to top-level system directory'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   536
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   537
  $ hg init sub1
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   538
  $ echo pwned > sub1/pwned
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   539
  $ hg -R sub1 ci -qAm 'add sub1 files'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   540
  $ hg -R sub1 log -r. -T '{node}\n'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   541
  f40c9134ba1b6961e12f250868823f0092fb68a8
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   542
  $ echo '$SUB = sub1' >> .hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   543
  $ SUB="$FAKEHOME" hg ci -qAm 'add subrepo "$SUB"'
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   544
  abort: subrepo path contains illegal component: $SUB
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   545
  [255]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   546
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   547
prepare tampered repo (including the changes above as two commits):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   548
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   549
  $ hg import --bypass -qm 'add subrepo "$SUB"' - <<'EOF'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   550
  > diff --git a/.hgsub b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   551
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   552
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   553
  > +++ b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   554
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   555
  > +$SUB = sub1
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   556
  > diff --git a/.hgsubstate b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   557
  > new file mode 100644
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   558
  > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   559
  > +++ b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   560
  > @@ -0,0 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   561
  > +0000000000000000000000000000000000000000 $SUB
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   562
  > EOF
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   563
  $ hg debugsetparents 1
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   564
  $ hg import --bypass -qm 'update subrepo "$SUB"' - <<'EOF'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   565
  > diff --git a/.hgsubstate b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   566
  > --- a/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   567
  > +++ b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   568
  > @@ -1,1 +1,1 @@
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   569
  > -0000000000000000000000000000000000000000 $SUB
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   570
  > +f40c9134ba1b6961e12f250868823f0092fb68a8 $SUB
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   571
  > EOF
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   572
  $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   573
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   574
on clone (and update) without fakehome directory:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   575
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   576
  $ rm -fR "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   577
  $ SUB="$FAKEHOME" hg clone -q main main2
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   578
  abort: subrepo path contains illegal component: $SUB
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   579
  [255]
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   580
  $ test -d "$FAKEHOME"
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   581
  [1]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   582
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   583
on clone (and update) with empty fakehome directory:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   584
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   585
  $ rm -fR "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   586
  $ mkdir "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   587
  $ SUB="$FAKEHOME" hg clone -q main main3
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   588
  abort: subrepo path contains illegal component: $SUB
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   589
  [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   590
  $ ls "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   591
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   592
on clone (and update) with non-empty fakehome directory:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   593
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   594
  $ rm -fR "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   595
  $ mkdir "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   596
  $ touch "$FAKEHOME/a"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   597
  $ SUB="$FAKEHOME" hg clone -q main main4
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   598
  abort: subrepo path contains illegal component: $SUB
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   599
  [255]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   600
  $ ls "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   601
  a
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   602
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   603
on clone empty subrepo with non-empty fakehome directory,
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   604
then pull (and update):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   605
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   606
  $ rm -fR "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   607
  $ mkdir "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   608
  $ touch "$FAKEHOME/a"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   609
  $ SUB="$FAKEHOME" hg clone -qr1 main main5
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   610
  abort: subrepo path contains illegal component: $SUB
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   611
  [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   612
  $ ls "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   613
  a
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   614
  $ test -d "$FAKEHOME/.hg"
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   615
  [1]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   616
  $ SUB="$FAKEHOME" hg -R main5 pull -u
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   617
  pulling from $TESTTMP/envvarsym/main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   618
  searching for changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   619
  adding changesets
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   620
  adding manifests
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   621
  adding file changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   622
  added 1 changesets with 1 changes to 1 files
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   623
  new changesets * (glob)
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   624
  .hgsubstate: untracked file differs
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   625
  abort: untracked files in working directory differ from files in requested revision
46418
dc00324e80f4 errors: use StateError more in merge module
Martin von Zweigbergk <martinvonz@google.com>
parents: 45894
diff changeset
   626
  [20]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   627
  $ ls "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   628
  a
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   629
  $ test -d "$FAKEHOME/.hg"
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   630
  [1]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   631
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   632
on clone empty subrepo with hg-managed fakehome directory,
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   633
then pull (and update):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   634
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   635
  $ rm -fR "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   636
  $ hg init "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   637
  $ touch "$FAKEHOME/a"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   638
  $ hg -R "$FAKEHOME" ci -qAm 'add fakehome file'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   639
  $ SUB="$FAKEHOME" hg clone -qr1 main main6
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   640
  abort: subrepo path contains illegal component: $SUB
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   641
  [255]
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   642
  $ ls -A "$FAKEHOME"
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   643
  .hg
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   644
  a
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   645
  $ SUB="$FAKEHOME" hg -R main6 pull -u
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   646
  pulling from $TESTTMP/envvarsym/main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   647
  searching for changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   648
  adding changesets
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   649
  adding manifests
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   650
  adding file changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   651
  added 1 changesets with 1 changes to 1 files
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   652
  new changesets * (glob)
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   653
  .hgsubstate: untracked file differs
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   654
  abort: untracked files in working directory differ from files in requested revision
46418
dc00324e80f4 errors: use StateError more in merge module
Martin von Zweigbergk <martinvonz@google.com>
parents: 45894
diff changeset
   655
  [20]
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   656
  $ ls -A "$FAKEHOME"
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   657
  .hg
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   658
  a
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   659
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   660
on clone only symlink with hg-managed fakehome directory,
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   661
then pull (and update):
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   662
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   663
  $ rm -fR "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   664
  $ hg init "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   665
  $ touch "$FAKEHOME/a"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   666
  $ hg -R "$FAKEHOME" ci -qAm 'add fakehome file'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   667
  $ SUB="$FAKEHOME" hg clone -qr0 main main7
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   668
  $ ls -A "$FAKEHOME"
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   669
  .hg
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   670
  a
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   671
  $ SUB="$FAKEHOME" hg -R main7 pull -uf
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   672
  pulling from $TESTTMP/envvarsym/main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   673
  searching for changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   674
  adding changesets
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   675
  adding manifests
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   676
  adding file changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   677
  added 2 changesets with 3 changes to 2 files
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   678
  new changesets * (glob)
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
   679
  abort: subrepo path contains illegal component: $SUB
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   680
  [255]
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   681
  $ ls -A "$FAKEHOME"
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   682
  .hg
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   683
  a
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   684
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   685
  $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   686
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   687
#endif
41725
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   688
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   689
Test drive letter
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   690
-----------------
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   691
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   692
Windows has a weird relative path that can change the drive letter, which
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   693
should also be prohibited on Windows.
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   694
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   695
prepare tampered repo:
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   696
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   697
  $ hg init driveletter
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   698
  $ cd driveletter
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   699
  $ hg import --bypass -qm 'add subrepo "X:"' - <<'EOF'
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   700
  > diff --git a/.hgsub b/.hgsub
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   701
  > new file mode 100644
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   702
  > --- /dev/null
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   703
  > +++ b/.hgsub
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   704
  > @@ -0,0 +1,1 @@
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   705
  > +X: = foo
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   706
  > diff --git a/.hgsubstate b/.hgsubstate
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   707
  > new file mode 100644
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   708
  > --- /dev/null
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   709
  > +++ b/.hgsubstate
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   710
  > @@ -0,0 +1,1 @@
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   711
  > +0000000000000000000000000000000000000000 X:
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   712
  > EOF
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   713
  $ cd ..
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   714
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   715
on clone (and update):
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   716
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   717
#if windows
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   718
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   719
  $ hg clone -q driveletter driveletter2
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   720
  abort: path contains illegal component: X:
48369
35f1ecd84bd0 errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents: 46418
diff changeset
   721
  [10]
41725
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   722
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   723
#else
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   724
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   725
  $ hg clone -q driveletter driveletter2
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   726
  $ ls -A driveletter2
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   727
  .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   728
  .hgsub
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 41726
diff changeset
   729
  .hgsubstate
41725
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   730
  X:
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   731
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
   732
#endif