annotate tests/test-audit-subrepo.t @ 42486:35d674a3d5db

copies: don't filter out copy targets created on other side of merge commit If file X is copied to Y on one side of merge and the other side creates Y (no copy), we would not mark that as copy. In the changeset-centric pathcopies() version, that was done by checking if the copy target existed on the other branch. Even though merge commits are pretty uncommon, it still turned out to be too expensive to load the manifest of the parents of merge commits. In a repo of mozilla-unified converted to storing copies in changesets, about 2m30s of `hg debugpathcopies FIREFOX_BETA_59_END FIREFOX_BETA_60_BASE` is spent on this check of merge commits. I tried to think of a way of storing more information in the changesets in order to cheaply detect these cases, but I couldn't think of a solution. So this patch simply removes those checks. For reference, these extra copies are reported from the aforementioned command after this patch: browser/base/content/sanitize.js -> browser/modules/Sanitizer.jsm testing/mozbase/mozprocess/tests/process_normal_finish_python.ini -> testing/mozbase/mozprocess/tests/process_normal_finish.ini testing/mozbase/mozprocess/tests/process_waittimeout_python.ini -> testing/mozbase/mozprocess/tests/process_waittimeout.ini testing/mozbase/mozprocess/tests/process_waittimeout_10s_python.ini -> testing/mozbase/mozprocess/tests/process_waittimeout_10s.ini Since these copies were created on one side of some merge, it still seems reasonable to include them, so I'm not even sure it's worse than filelog pathcopies(), just different. Differential Revision: https://phab.mercurial-scm.org/D6420
author Martin von Zweigbergk <martinvonz@google.com>
date Thu, 18 Apr 2019 21:22:14 -0700
parents a62690659d6b
children 5c2a4f37eace
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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'
34983
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
13 [255]
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'
34983
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
37 [255]
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
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
50 [255]
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
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
74 [255]
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: /
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
87 [255]
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: /
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
111 [255]
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 ""'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
123 hg: parse error at .hgsub:1: = sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
124 [255]
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
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
147 hg: parse error at .hgsub:1: = sub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
148 [255]
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
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
200 [255]
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
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
224 [255]
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]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
284 $ ls main2
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
285
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
286 $ 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
287 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
288 [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
289 $ ls main3
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
290
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
291 $ 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
292 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
293 [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
294 $ ls main4
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
295
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
296 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
297
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
298 $ 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
299 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
300 [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
301 $ ls main5
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
302 $ 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
303 [1]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
304 $ 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
305 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
306 searching for changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
307 adding changesets
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
308 adding manifests
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
309 adding file changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
310 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
311 new changesets 7a2f0e59146f
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
312 .hgsubstate: untracked file differs
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
313 abort: untracked files in working directory differ from files in requested revision
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
314 [255]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
315 $ 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
316 [1]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
317
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
318 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
319
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
320 $ 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
321 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
322 [255]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
323 $ ls main6
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
324 $ 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
325 [1]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
326
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
327 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
328
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
329 $ 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
330 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
331 [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
332 $ ls main7
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
333 $ 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
334 [1]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
335
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
336 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
337
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
338 $ 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
339 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
340 [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
341 $ ls main8
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
342
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
343 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
344 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
345
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
346 $ 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
347 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
348 [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
349 $ ls main9 | wc -l
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
350 \s*0 (re)
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
351
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
352 $ ls
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
353 main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
354 main2
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
355 main3
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
356 main4
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
357 main5
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
358 main6
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
359 main7
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
360 main8
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
361 main9
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
362 $ cd ..
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 Test tilde
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
365 ----------
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
366
41458
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
367 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
368 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
369 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
370
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
371 on commit:
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 $ hg init tilde
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
374 $ cd tilde
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
375 $ hg init './~'
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
376 $ echo '~ = ~' >> .hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
377 $ hg ci -qAm 'add subrepo "~"'
41458
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
378 abort: subrepo path contains illegal component: ~
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
379 [255]
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
380
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
381 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
382
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
383 $ 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
384 > diff --git a/.hgsub b/.hgsub
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
385 > new file mode 100644
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
386 > --- /dev/null
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
387 > +++ b/.hgsub
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
388 > @@ -0,0 +1,1 @@
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
389 > +~ = ~
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
390 > diff --git a/.hgsubstate b/.hgsubstate
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
391 > new file mode 100644
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
392 > --- /dev/null
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
393 > +++ b/.hgsubstate
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
394 > @@ -0,0 +1,1 @@
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
395 > +0000000000000000000000000000000000000000 ~
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
396 > EOF
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
397 $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
398
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
399 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
400
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
401 $ hg clone -q tilde tilde2
41458
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
402 abort: subrepo path contains illegal component: ~
83377b4b4ae0 subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41457
diff changeset
403 [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
404
34983
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
405 Test direct symlink traversal
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
406 -----------------------------
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
407
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
408 #if symlink
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
409
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
410 on commit:
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
411
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
412 $ mkdir hgsymdir
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
413 $ hg init hgsymdir/root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
414 $ cd hgsymdir/root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
415 $ ln -s ../out
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
416 $ hg ci -qAm 'add symlink "out"'
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
417 $ hg init ../out
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
418 $ echo 'out = out' >> .hgsub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
419 $ 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
420 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
421 [255]
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
422
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
423 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
424
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
425 $ 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
426 > 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
427 > new file mode 100644
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
428 > --- /dev/null
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
429 > +++ b/.hgsub
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
430 > @@ -0,0 +1,1 @@
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
431 > +out = out
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
432 > 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
433 > new file mode 100644
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
434 > --- /dev/null
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
435 > +++ b/.hgsubstate
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
436 > @@ -0,0 +1,1 @@
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
437 > +0000000000000000000000000000000000000000 out
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34983
diff changeset
438 > EOF
34983
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
439 $ cd ../..
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
440
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
441 on clone (and update):
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
442
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
443 $ mkdir hgsymdir2
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
444 $ 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
445 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
446 [255]
34983
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
447 $ ls hgsymdir2
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
448 root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
449
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
450 #endif
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
451
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
452 Test indirect symlink traversal
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
453 -------------------------------
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
454
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
455 #if symlink
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
456
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
457 on commit:
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
458
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
459 $ mkdir hgsymin
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
460 $ hg init hgsymin/root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
461 $ cd hgsymin/root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
462 $ ln -s ../out
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
463 $ hg ci -qAm 'add symlink "out"'
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
464 $ mkdir ../out
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
465 $ hg init ../out/sub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
466 $ echo 'out/sub = out/sub' >> .hgsub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
467 $ 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
468 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
469 [255]
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 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
472
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
473 $ 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
474 > diff --git a/.hgsub b/.hgsub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
475 > new file mode 100644
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
476 > --- /dev/null
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
477 > +++ b/.hgsub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
478 > @@ -0,0 +1,1 @@
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
479 > +out/sub = out/sub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
480 > diff --git a/.hgsubstate b/.hgsubstate
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
481 > new file mode 100644
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
482 > --- /dev/null
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
483 > +++ b/.hgsubstate
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
484 > @@ -0,0 +1,1 @@
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
485 > +0000000000000000000000000000000000000000 out/sub
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
486 > EOF
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
487 $ cd ../..
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
488
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
489 on clone (and update):
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
490
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
491 $ mkdir hgsymin2
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
492 $ 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
493 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
494 [255]
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
495 $ ls hgsymin2
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
496 root
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
497
80d7dbda9294 tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
498 #endif
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
499
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
500 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
501 --------------------------------------------
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
502
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
503 #if symlink
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
504
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
505 $ 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
506
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
507 on commit:
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
508
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
509 $ mkdir envvarsym
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
510 $ cd envvarsym
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
511 $ hg init main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
512 $ cd main
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
513 $ 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
514 $ 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
515
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
516 $ hg init sub1
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
517 $ 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
518 $ 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
519 $ 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
520 f40c9134ba1b6961e12f250868823f0092fb68a8
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
521 $ 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
522 $ 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
523 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
524 [255]
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 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
527
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
528 $ 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
529 > 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
530 > 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
531 > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
532 > +++ b/.hgsub
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
533 > @@ -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
534 > +$SUB = sub1
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
535 > 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
536 > 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
537 > --- /dev/null
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
538 > +++ b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
539 > @@ -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
540 > +0000000000000000000000000000000000000000 $SUB
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
541 > EOF
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
542 $ hg debugsetparents 1
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
543 $ 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
544 > 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
545 > --- a/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
546 > +++ b/.hgsubstate
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
547 > @@ -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
548 > -0000000000000000000000000000000000000000 $SUB
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
549 > +f40c9134ba1b6961e12f250868823f0092fb68a8 $SUB
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
550 > EOF
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
551 $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
552
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
553 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
554
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
555 $ rm -fR "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
556 $ 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
557 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
558 [255]
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
559 $ test -d "$FAKEHOME"
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
560 [1]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
561
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
562 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
563
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
564 $ rm -fR "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
565 $ mkdir "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
566 $ 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
567 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
568 [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
569 $ ls "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
570
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
571 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
572
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
573 $ rm -fR "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
574 $ mkdir "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
575 $ touch "$FAKEHOME/a"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
576 $ 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
577 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
578 [255]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
579 $ ls "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
580 a
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
581
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
582 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
583 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
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 $ touch "$FAKEHOME/a"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
588 $ 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
589 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
590 [255]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
591 $ ls "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
592 a
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
593 $ test -d "$FAKEHOME/.hg"
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
594 [1]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
595 $ 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
596 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
597 searching for changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
598 adding changesets
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
599 adding manifests
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
600 adding file changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
601 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
602 new changesets * (glob)
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
603 .hgsubstate: untracked file differs
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
604 abort: untracked files in working directory differ from files in requested revision
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
605 [255]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
606 $ ls "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
607 a
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
608 $ test -d "$FAKEHOME/.hg"
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
609 [1]
41456
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
610
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
611 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
612 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
613
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
614 $ rm -fR "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
615 $ hg init "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
616 $ touch "$FAKEHOME/a"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
617 $ 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
618 $ 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
619 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
620 [255]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
621 $ ls "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
622 a
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
623 $ 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
624 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
625 searching for changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
626 adding changesets
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
627 adding manifests
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
628 adding file changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
629 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
630 new changesets * (glob)
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
631 .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
632 abort: untracked files in working directory differ from files in requested revision
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
633 [255]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
634 $ ls "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
635 a
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
636
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
637 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
638 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
639
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
640 $ rm -fR "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
641 $ hg init "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
642 $ touch "$FAKEHOME/a"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
643 $ 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
644 $ SUB="$FAKEHOME" hg clone -qr0 main main7
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
645 $ ls "$FAKEHOME"
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
646 a
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
647 $ 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
648 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
649 searching for changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
650 adding changesets
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
651 adding manifests
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
652 adding file changes
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
653 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
654 new changesets * (glob)
41457
6c10eba6b9cd subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 41456
diff changeset
655 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
656 [255]
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
657 $ ls "$FAKEHOME"
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 $ cd ..
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
661
31286c9282df subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
662 #endif
41725
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
663
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
664 Test drive letter
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
665 -----------------
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
666
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
667 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
668 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
669
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
670 prepare tampered repo:
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
671
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
672 $ hg init driveletter
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
673 $ cd driveletter
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
674 $ 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
675 > 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
676 > 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
677 > --- /dev/null
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
678 > +++ b/.hgsub
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
679 > @@ -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
680 > +X: = foo
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
681 > 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
682 > 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
683 > --- /dev/null
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
684 > +++ b/.hgsubstate
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
685 > @@ -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
686 > +0000000000000000000000000000000000000000 X:
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
687 > EOF
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
688 $ cd ..
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
689
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
690 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
691
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
692 #if windows
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
693
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
694 $ 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
695 abort: path contains illegal component: X:
41726
a62690659d6b tests: add a missing abort exit code on Windows in test-audit-subrepo.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 41725
diff changeset
696 [255]
41725
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
697
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
698 #else
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
699
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
700 $ 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
701 $ ls driveletter2
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
702 X:
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
703
ffbf742bfe1f subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents: 41458
diff changeset
704 #endif