Mercurial > hg
annotate tests/test-audit-subrepo.t @ 51681:522b4d729e89
mmap: populate the mapping by default
Without pre-population, accessing all data through a mmap can result in many
pagefault, reducing performance significantly. If the mmap is prepopulated, the
performance can no longer get slower than a full read.
(See benchmark number below)
In some cases were very few data is read, prepopulating can be overkill and
slower than populating on access (through page fault). So that behavior can be
controlled when the caller can pre-determine the best behavior.
(See benchmark number below)
In addition, testing with populating in a secondary thread yield great result
combining the best of each approach. This might be implemented in later
changesets.
In all cases, using mmap has a great effect on memory usage when many processes
run in parallel on the same machine.
### Benchmarks
# What did I run
A couple of month back I ran a large benchmark campaign to assess the impact of
various approach for using mmap with the revlog (and other files), it
highlighted a few benchmarks that capture the impact of the changes well. So to
validate this change I checked the following:
- log command displaying various revisions
(read the changelog index)
- log command displaying the patch of listed revisions
(read the changelog index, the manifest index and a few files indexes)
- unbundling a few revisions
(read and write changelog, manifest and few files indexes, and walk the graph
to update some cache)
- pushing a few revisions
(read and write changelog, manifest and few files indexes, walk the graph to
update some cache, performs various accesses locally and remotely during
discovery)
Benchmarks were run using the default module policy (c+py) and the rust one. No
significant difference were found between the two implementation, so we will
present result using the default policy (unless otherwise specified).
I ran them on a few repositories :
- mercurial: a "public changeset only" copy of mercurial from 2018-08-01 using
zstd compression and sparse-revlog
- pypy: a copy of pypy from 2018-08-01 using zstd compression and sparse-revlog
- netbeans: a copy of netbeans from 2018-08-01 using zstd compression and
sparse-revlog
- mozilla-try: a copy of mozilla-try from 2019-02-18 using zstd compression and
sparse-revlog
- mozilla-try persistent-nodemap: Same as the above but with a persistent
nodemap. Used for the log --patch benchmark only
# Results
For the smaller repositories (mercurial, pypy), the impact of mmap is almost
imperceptible, other cost dominating the operation. The impact of prepopulating
is undiscernible in the benchmark we ran.
For larger repositories the benchmark support explanation given above:
On netbeans, the log can be about 1% faster without repopulation (for a
difference < 100ms) but unbundle becomes a bit slower, even when small.
### data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog
# benchmark.name = hg.command.unbundle
# benchmark.variants.issue6528 = disabled
# benchmark.variants.reuse-external-delta-parent = yes
# benchmark.variants.revs = any-1-extra-rev
# benchmark.variants.source = unbundle
# benchmark.variants.verbosity = quiet
with-populate: 0.240157
no-populate: 0.265087 (+10.38%, +0.02)
# benchmark.variants.revs = any-100-extra-rev
with-populate: 1.459518
no-populate: 1.481290 (+1.49%, +0.02)
## benchmark.name = hg.command.push
# benchmark.variants.explicit-rev = none
# benchmark.variants.issue6528 = disabled
# benchmark.variants.protocol = ssh
# benchmark.variants.reuse-external-delta-parent = yes
# benchmark.variants.revs = any-1-extra-rev
with-populate: 0.771919
no-populate: 0.792025 (+2.60%, +0.02)
# benchmark.variants.revs = any-100-extra-rev
with-populate: 1.459518
no-populate: 1.481290 (+1.49%, +0.02)
For mozilla-try, the "slow down" from pre-populate for small `hg log` is more
visible, but still small in absolute time. (using rust value for the persistent
nodemap value to be relevant).
### data-env-vars.name = mozilla-try-2019-02-18-ds2-pnm
# benchmark.name = hg.command.log
# bin-env-vars.hg.flavor = rust
# benchmark.variants.patch = yes
# benchmark.variants.limit-rev = 1
with-populate: 0.237813
no-populate: 0.229452 (-3.52%, -0.01)
# benchmark.variants.limit-rev = 10
# benchmark.variants.patch = yes
with-populate: 1.213578
no-populate: 1.205189
### data-env-vars.name = mozilla-try-2019-02-18-zstd-sparse-revlog
# benchmark.variants.limit-rev = 1000
# benchmark.variants.patch = no
# benchmark.variants.rev = tip
with-populate: 0.198607
no-populate: 0.195038 (-1.80%, -0.00)
However pre-populating provide a significant boost on more complex operations
like unbundle or push:
### data-env-vars.name = mozilla-try-2019-02-18-zstd-sparse-revlog
# benchmark.name = hg.command.push
# benchmark.variants.explicit-rev = none
# benchmark.variants.issue6528 = disabled
# benchmark.variants.protocol = ssh
# benchmark.variants.reuse-external-delta-parent = yes
# benchmark.variants.revs = any-1-extra-rev
with-populate: 4.798632
no-populate: 4.953295 (+3.22%, +0.15)
# benchmark.variants.revs = any-100-extra-rev
with-populate: 4.903618
no-populate: 5.014963 (+2.27%, +0.11)
## benchmark.name = hg.command.unbundle
# benchmark.variants.revs = any-1-extra-rev
with-populate: 1.423411
no-populate: 1.585365 (+11.38%, +0.16)
# benchmark.variants.revs = any-100-extra-rev
with-populate: 1.537909
no-populate: 1.688489 (+9.79%, +0.15)
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 11 Apr 2024 00:02:07 +0200 |
parents | 35f1ecd84bd0 |
children |
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' |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
46418
diff
changeset
|
13 [10] |
34983
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
14 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
15 prepare tampered repo (including the commit above): |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
16 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
17 $ hg import --bypass -qm 'add subrepo "sub/.hg"' - <<'EOF' |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
18 > diff --git a/.hgsub b/.hgsub |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
19 > new file mode 100644 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
20 > --- /dev/null |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
21 > +++ b/.hgsub |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
22 > @@ -0,0 +1,1 @@ |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
23 > +sub/.hg = sub/.hg |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
24 > diff --git a/.hgsubstate b/.hgsubstate |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
25 > new file mode 100644 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
26 > --- /dev/null |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
27 > +++ b/.hgsubstate |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
28 > @@ -0,0 +1,1 @@ |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
29 > +0000000000000000000000000000000000000000 sub/.hg |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
30 > EOF |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
31 $ cd .. |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
32 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
33 on clone (and update): |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
34 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
35 $ hg clone -q hgname hgname2 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35166
diff
changeset
|
36 abort: path 'sub/.hg' is inside nested repo 'sub' |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
46418
diff
changeset
|
37 [10] |
34983
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
38 |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
39 Test absolute path |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
40 ------------------ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
41 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
42 on commit: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
43 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
44 $ hg init absolutepath |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
45 $ cd absolutepath |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
46 $ hg init sub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
47 $ echo '/sub = sub' >> .hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
48 $ hg ci -qAm 'add subrepo "/sub"' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
49 abort: path contains illegal component: /sub |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
46418
diff
changeset
|
50 [10] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
51 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
52 prepare tampered repo (including the commit above): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
53 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
54 $ hg import --bypass -qm 'add subrepo "/sub"' - <<'EOF' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
55 > diff --git a/.hgsub b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
56 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
57 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
58 > +++ b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
59 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
60 > +/sub = sub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
61 > diff --git a/.hgsubstate b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
62 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
63 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
64 > +++ b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
65 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
66 > +0000000000000000000000000000000000000000 /sub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
67 > EOF |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
68 $ cd .. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
69 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
70 on clone (and update): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
71 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
72 $ hg clone -q absolutepath absolutepath2 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
73 abort: path contains illegal component: /sub |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
46418
diff
changeset
|
74 [10] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
75 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
76 Test root path |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
77 -------------- |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
78 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
79 on commit: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
80 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
81 $ hg init rootpath |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
82 $ cd rootpath |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
83 $ hg init sub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
84 $ echo '/ = sub' >> .hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
85 $ hg ci -qAm 'add subrepo "/"' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
86 abort: path ends in directory separator: / |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
46418
diff
changeset
|
87 [10] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
88 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
89 prepare tampered repo (including the commit above): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
90 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
91 $ hg import --bypass -qm 'add subrepo "/"' - <<'EOF' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
92 > diff --git a/.hgsub b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
93 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
94 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
95 > +++ b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
96 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
97 > +/ = sub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
98 > diff --git a/.hgsubstate b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
99 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
100 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
101 > +++ b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
102 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
103 > +0000000000000000000000000000000000000000 / |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
104 > EOF |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
105 $ cd .. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
106 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
107 on clone (and update): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
108 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
109 $ hg clone -q rootpath rootpath2 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
110 abort: path ends in directory separator: / |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
46418
diff
changeset
|
111 [10] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
112 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
113 Test empty path |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
114 --------------- |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
115 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
116 on commit: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
117 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
118 $ hg init emptypath |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
119 $ cd emptypath |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
120 $ hg init sub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
121 $ echo '= sub' >> .hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
122 $ hg ci -qAm 'add subrepo ""' |
45894
9dc1351d0b5f
errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents:
44724
diff
changeset
|
123 config error at .hgsub:1: = sub |
9dc1351d0b5f
errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents:
44724
diff
changeset
|
124 [30] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
125 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
126 prepare tampered repo (including the commit above): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
127 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
128 $ hg import --bypass -qm 'add subrepo ""' - <<'EOF' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
129 > diff --git a/.hgsub b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
130 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
131 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
132 > +++ b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
133 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
134 > += sub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
135 > diff --git a/.hgsubstate b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
136 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
137 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
138 > +++ b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
139 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
140 > +0000000000000000000000000000000000000000 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
141 > EOF |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
142 $ cd .. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
143 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
144 on clone (and update): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
145 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
146 $ hg clone -q emptypath emptypath2 |
45894
9dc1351d0b5f
errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents:
44724
diff
changeset
|
147 config error at .hgsub:1: = sub |
9dc1351d0b5f
errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents:
44724
diff
changeset
|
148 [30] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
149 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
150 Test current path |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
151 ----------------- |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
152 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
153 on commit: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
154 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
155 $ hg init currentpath |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
156 $ cd currentpath |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
157 $ hg init sub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
158 $ echo '. = sub' >> .hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
159 $ hg ci -qAm 'add subrepo "."' |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
160 abort: subrepo path contains illegal component: . |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
161 [255] |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
162 |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
163 prepare tampered repo (including the commit above): |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
164 |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
165 $ hg import --bypass -qm 'add subrepo "."' - <<'EOF' |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
166 > diff --git a/.hgsub b/.hgsub |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
167 > new file mode 100644 |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
168 > --- /dev/null |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
169 > +++ b/.hgsub |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
170 > @@ -0,0 +1,1 @@ |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
171 > +.= sub |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
172 > diff --git a/.hgsubstate b/.hgsubstate |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
173 > new file mode 100644 |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
174 > --- /dev/null |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
175 > +++ b/.hgsubstate |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
176 > @@ -0,0 +1,1 @@ |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
177 > +0000000000000000000000000000000000000000 . |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
178 > EOF |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
179 $ cd .. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
180 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
181 on clone (and update): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
182 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
183 $ hg clone -q currentpath currentpath2 |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
184 abort: subrepo path contains illegal component: . |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
185 [255] |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
186 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
187 Test outer path |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
188 --------------- |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
189 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
190 on commit: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
191 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
192 $ mkdir outerpath |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
193 $ cd outerpath |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
194 $ hg init main |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
195 $ cd main |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
196 $ hg init ../sub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
197 $ echo '../sub = ../sub' >> .hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
198 $ hg ci -qAm 'add subrepo "../sub"' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
199 abort: path contains illegal component: ../sub |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
46418
diff
changeset
|
200 [10] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
201 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
202 prepare tampered repo (including the commit above): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
203 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
204 $ hg import --bypass -qm 'add subrepo "../sub"' - <<'EOF' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
205 > diff --git a/.hgsub b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
206 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
207 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
208 > +++ b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
209 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
210 > +../sub = ../sub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
211 > diff --git a/.hgsubstate b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
212 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
213 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
214 > +++ b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
215 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
216 > +0000000000000000000000000000000000000000 ../sub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
217 > EOF |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
218 $ cd .. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
219 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
220 on clone (and update): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
221 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
222 $ hg clone -q main main2 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
223 abort: path contains illegal component: ../sub |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
46418
diff
changeset
|
224 [10] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
225 $ cd .. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
226 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
227 Test variable expansion |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
228 ----------------------- |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
229 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
230 Subrepository paths shouldn't be expanded, but we fail to handle them |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
231 properly. Any local repository paths are expanded. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
232 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
233 on commit: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
234 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
235 $ mkdir envvar |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
236 $ cd envvar |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
237 $ hg init main |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
238 $ cd main |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
239 $ hg init sub1 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
240 $ cat <<'EOF' > sub1/hgrc |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
241 > [hooks] |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
242 > log = echo pwned |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
243 > EOF |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
244 $ hg -R sub1 ci -qAm 'add sub1 files' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
245 $ hg -R sub1 log -r. -T '{node}\n' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
246 39eb4b4d3e096527668784893a9280578a8f38b8 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
247 $ echo '$SUB = sub1' >> .hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
248 $ SUB=sub1 hg ci -qAm 'add subrepo "$SUB"' |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
249 abort: subrepo path contains illegal component: $SUB |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
250 [255] |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
251 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
252 prepare tampered repo (including the changes above as two commits): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
253 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
254 $ hg import --bypass -qm 'add subrepo "$SUB"' - <<'EOF' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
255 > diff --git a/.hgsub b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
256 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
257 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
258 > +++ b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
259 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
260 > +$SUB = sub1 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
261 > diff --git a/.hgsubstate b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
262 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
263 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
264 > +++ b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
265 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
266 > +0000000000000000000000000000000000000000 $SUB |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
267 > EOF |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
268 $ hg debugsetparents 0 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
269 $ hg import --bypass -qm 'update subrepo "$SUB"' - <<'EOF' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
270 > diff --git a/.hgsubstate b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
271 > --- a/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
272 > +++ b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
273 > @@ -1,1 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
274 > -0000000000000000000000000000000000000000 $SUB |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
275 > +39eb4b4d3e096527668784893a9280578a8f38b8 $SUB |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
276 > EOF |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
277 $ cd .. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
278 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
279 on clone (and update) with various substitutions: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
280 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
281 $ hg clone -q main main2 |
41458
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
282 abort: subrepo path contains illegal component: $SUB |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
283 [255] |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
284 $ ls -A main2 |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
285 .hg |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
286 .hgsub |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
287 .hgsubstate |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
288 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
289 $ SUB=sub1 hg clone -q main main3 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
290 abort: subrepo path contains illegal component: $SUB |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
291 [255] |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
292 $ ls -A main3 |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
293 .hg |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
294 .hgsub |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
295 .hgsubstate |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
296 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
297 $ SUB=sub2 hg clone -q main main4 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
298 abort: subrepo path contains illegal component: $SUB |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
299 [255] |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
300 $ ls -A main4 |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
301 .hg |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
302 .hgsub |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
303 .hgsubstate |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
304 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
305 on clone empty subrepo into .hg, then pull (and update), which at least fails: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
306 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
307 $ SUB=.hg hg clone -qr0 main main5 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
308 abort: subrepo path contains illegal component: $SUB |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
309 [255] |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
310 $ ls -A main5 |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
311 .hg |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
312 .hgsub |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
313 .hgsubstate |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
314 $ test -d main5/.hg/.hg |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
315 [1] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
316 $ SUB=.hg hg -R main5 pull -u |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
317 pulling from $TESTTMP/envvar/main |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
318 searching for changes |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
319 adding changesets |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
320 adding manifests |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
321 adding file changes |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
322 added 1 changesets with 1 changes to 1 files |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
323 new changesets 7a2f0e59146f |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
324 .hgsubstate: untracked file differs |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
325 abort: untracked files in working directory differ from files in requested revision |
46418
dc00324e80f4
errors: use StateError more in merge module
Martin von Zweigbergk <martinvonz@google.com>
parents:
45894
diff
changeset
|
326 [20] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
327 $ cat main5/.hg/hgrc | grep pwned |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
328 [1] |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
329 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
330 on clone (and update) into .hg, which at least fails: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
331 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
332 $ SUB=.hg hg clone -q main main6 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
333 abort: subrepo path contains illegal component: $SUB |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
334 [255] |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
335 $ ls -A main6 |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
336 .hg |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
337 .hgsub |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
338 .hgsubstate |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
339 $ cat main6/.hg/hgrc | grep pwned |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
340 [1] |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
341 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
342 on clone (and update) into .hg/* subdir: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
343 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
344 $ SUB=.hg/foo hg clone -q main main7 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
345 abort: subrepo path contains illegal component: $SUB |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
346 [255] |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
347 $ ls -A main7 |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
348 .hg |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
349 .hgsub |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
350 .hgsubstate |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
351 $ test -d main7/.hg/.hg |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
352 [1] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
353 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
354 on clone (and update) into outer tree: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
355 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
356 $ SUB=../out-of-tree-write hg clone -q main main8 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
357 abort: subrepo path contains illegal component: $SUB |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
358 [255] |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
359 $ ls -A main8 |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
360 .hg |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
361 .hgsub |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
362 .hgsubstate |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
363 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
364 on clone (and update) into e.g. $HOME, which doesn't work since subrepo paths |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
365 are concatenated prior to variable expansion: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
366 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
367 $ SUB="$TESTTMP/envvar/fakehome" hg clone -q main main9 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
368 abort: subrepo path contains illegal component: $SUB |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
369 [255] |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
370 $ ls -A main9 | wc -l |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
371 \s*3 (re) |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
372 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
373 $ ls |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
374 main |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
375 main2 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
376 main3 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
377 main4 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
378 main5 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
379 main6 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
380 main7 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
381 main8 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
382 main9 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
383 $ cd .. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
384 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
385 Test tilde |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
386 ---------- |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
387 |
41458
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
388 The leading tilde may be expanded to $HOME, but it can be a valid subrepo |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
389 path in theory. However, we want to prohibit it as there might be unsafe |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
390 handling of such paths. |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
391 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
392 on commit: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
393 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
394 $ hg init tilde |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
395 $ cd tilde |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
396 $ hg init './~' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
397 $ echo '~ = ~' >> .hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
398 $ hg ci -qAm 'add subrepo "~"' |
41458
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
399 abort: subrepo path contains illegal component: ~ |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
400 [255] |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
401 |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
402 prepare tampered repo (including the commit above): |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
403 |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
404 $ hg import --bypass -qm 'add subrepo "~"' - <<'EOF' |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
405 > diff --git a/.hgsub b/.hgsub |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
406 > new file mode 100644 |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
407 > --- /dev/null |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
408 > +++ b/.hgsub |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
409 > @@ -0,0 +1,1 @@ |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
410 > +~ = ~ |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
411 > diff --git a/.hgsubstate b/.hgsubstate |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
412 > new file mode 100644 |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
413 > --- /dev/null |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
414 > +++ b/.hgsubstate |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
415 > @@ -0,0 +1,1 @@ |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
416 > +0000000000000000000000000000000000000000 ~ |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
417 > EOF |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
418 $ cd .. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
419 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
420 on clone (and update): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
421 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
422 $ hg clone -q tilde tilde2 |
41458
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
423 abort: subrepo path contains illegal component: ~ |
83377b4b4ae0
subrepo: reject potentially unsafe subrepo paths (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41457
diff
changeset
|
424 [255] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
425 |
34983
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
426 Test direct symlink traversal |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
427 ----------------------------- |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
428 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
429 #if symlink |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
430 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
431 on commit: |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
432 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
433 $ mkdir hgsymdir |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
434 $ hg init hgsymdir/root |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
435 $ cd hgsymdir/root |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
436 $ ln -s ../out |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
437 $ hg ci -qAm 'add symlink "out"' |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
438 $ hg init ../out |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
439 $ echo 'out = out' >> .hgsub |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
440 $ hg ci -qAm 'add subrepo "out"' |
34984
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
441 abort: subrepo 'out' traverses symbolic link |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
442 [255] |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
443 |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
444 prepare tampered repo (including the commit above): |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
445 |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
446 $ hg import --bypass -qm 'add subrepo "out"' - <<'EOF' |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
447 > diff --git a/.hgsub b/.hgsub |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
448 > new file mode 100644 |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
449 > --- /dev/null |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
450 > +++ b/.hgsub |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
451 > @@ -0,0 +1,1 @@ |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
452 > +out = out |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
453 > diff --git a/.hgsubstate b/.hgsubstate |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
454 > new file mode 100644 |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
455 > --- /dev/null |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
456 > +++ b/.hgsubstate |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
457 > @@ -0,0 +1,1 @@ |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
458 > +0000000000000000000000000000000000000000 out |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
459 > EOF |
34983
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
460 $ cd ../.. |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
461 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
462 on clone (and update): |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
463 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
464 $ mkdir hgsymdir2 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
465 $ hg clone -q hgsymdir/root hgsymdir2/root |
34984
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
466 abort: subrepo 'out' traverses symbolic link |
071cbeba4212
subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
34983
diff
changeset
|
467 [255] |
34983
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
468 $ ls hgsymdir2 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
469 root |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
470 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
471 #endif |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
472 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
473 Test indirect symlink traversal |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
474 ------------------------------- |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
475 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
476 #if symlink |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
477 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
478 on commit: |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
479 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
480 $ mkdir hgsymin |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
481 $ hg init hgsymin/root |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
482 $ cd hgsymin/root |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
483 $ ln -s ../out |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
484 $ hg ci -qAm 'add symlink "out"' |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
485 $ mkdir ../out |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
486 $ hg init ../out/sub |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
487 $ echo 'out/sub = out/sub' >> .hgsub |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
488 $ hg ci -qAm 'add subrepo "out/sub"' |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
489 abort: path 'out/sub' traverses symbolic link 'out' |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
490 [255] |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
491 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
492 prepare tampered repo (including the commit above): |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
493 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
494 $ hg import --bypass -qm 'add subrepo "out/sub"' - <<'EOF' |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
495 > diff --git a/.hgsub b/.hgsub |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
496 > new file mode 100644 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
497 > --- /dev/null |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
498 > +++ b/.hgsub |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
499 > @@ -0,0 +1,1 @@ |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
500 > +out/sub = out/sub |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
501 > diff --git a/.hgsubstate b/.hgsubstate |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
502 > new file mode 100644 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
503 > --- /dev/null |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
504 > +++ b/.hgsubstate |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
505 > @@ -0,0 +1,1 @@ |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
506 > +0000000000000000000000000000000000000000 out/sub |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
507 > EOF |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
508 $ cd ../.. |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
509 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
510 on clone (and update): |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
511 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
512 $ mkdir hgsymin2 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
513 $ hg clone -q hgsymin/root hgsymin2/root |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
514 abort: path 'out/sub' traverses symbolic link 'out' |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
515 [255] |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
516 $ ls hgsymin2 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
517 root |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
518 |
80d7dbda9294
tests: show symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
519 #endif |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
520 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
521 Test symlink traversal by variable expansion |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
522 -------------------------------------------- |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
523 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
524 #if symlink |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
525 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
526 $ FAKEHOME="$TESTTMP/envvarsym/fakehome" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
527 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
528 on commit: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
529 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
530 $ mkdir envvarsym |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
531 $ cd envvarsym |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
532 $ hg init main |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
533 $ cd main |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
534 $ ln -s "`echo "$FAKEHOME" | sed 's|\(.\)/.*|\1|'`" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
535 $ hg ci -qAm 'add symlink to top-level system directory' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
536 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
537 $ hg init sub1 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
538 $ echo pwned > sub1/pwned |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
539 $ hg -R sub1 ci -qAm 'add sub1 files' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
540 $ hg -R sub1 log -r. -T '{node}\n' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
541 f40c9134ba1b6961e12f250868823f0092fb68a8 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
542 $ echo '$SUB = sub1' >> .hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
543 $ SUB="$FAKEHOME" hg ci -qAm 'add subrepo "$SUB"' |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
544 abort: subrepo path contains illegal component: $SUB |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
545 [255] |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
546 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
547 prepare tampered repo (including the changes above as two commits): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
548 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
549 $ hg import --bypass -qm 'add subrepo "$SUB"' - <<'EOF' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
550 > diff --git a/.hgsub b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
551 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
552 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
553 > +++ b/.hgsub |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
554 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
555 > +$SUB = sub1 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
556 > diff --git a/.hgsubstate b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
557 > new file mode 100644 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
558 > --- /dev/null |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
559 > +++ b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
560 > @@ -0,0 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
561 > +0000000000000000000000000000000000000000 $SUB |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
562 > EOF |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
563 $ hg debugsetparents 1 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
564 $ hg import --bypass -qm 'update subrepo "$SUB"' - <<'EOF' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
565 > diff --git a/.hgsubstate b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
566 > --- a/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
567 > +++ b/.hgsubstate |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
568 > @@ -1,1 +1,1 @@ |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
569 > -0000000000000000000000000000000000000000 $SUB |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
570 > +f40c9134ba1b6961e12f250868823f0092fb68a8 $SUB |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
571 > EOF |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
572 $ cd .. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
573 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
574 on clone (and update) without fakehome directory: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
575 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
576 $ rm -fR "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
577 $ SUB="$FAKEHOME" hg clone -q main main2 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
578 abort: subrepo path contains illegal component: $SUB |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
579 [255] |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
580 $ test -d "$FAKEHOME" |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
581 [1] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
582 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
583 on clone (and update) with empty fakehome directory: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
584 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
585 $ rm -fR "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
586 $ mkdir "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
587 $ SUB="$FAKEHOME" hg clone -q main main3 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
588 abort: subrepo path contains illegal component: $SUB |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
589 [255] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
590 $ ls "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
591 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
592 on clone (and update) with non-empty fakehome directory: |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
593 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
594 $ rm -fR "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
595 $ mkdir "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
596 $ touch "$FAKEHOME/a" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
597 $ SUB="$FAKEHOME" hg clone -q main main4 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
598 abort: subrepo path contains illegal component: $SUB |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
599 [255] |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
600 $ ls "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
601 a |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
602 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
603 on clone empty subrepo with non-empty fakehome directory, |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
604 then pull (and update): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
605 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
606 $ rm -fR "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
607 $ mkdir "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
608 $ touch "$FAKEHOME/a" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
609 $ SUB="$FAKEHOME" hg clone -qr1 main main5 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
610 abort: subrepo path contains illegal component: $SUB |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
611 [255] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
612 $ ls "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
613 a |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
614 $ test -d "$FAKEHOME/.hg" |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
615 [1] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
616 $ SUB="$FAKEHOME" hg -R main5 pull -u |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
617 pulling from $TESTTMP/envvarsym/main |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
618 searching for changes |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
619 adding changesets |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
620 adding manifests |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
621 adding file changes |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
622 added 1 changesets with 1 changes to 1 files |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
623 new changesets * (glob) |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
624 .hgsubstate: untracked file differs |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
625 abort: untracked files in working directory differ from files in requested revision |
46418
dc00324e80f4
errors: use StateError more in merge module
Martin von Zweigbergk <martinvonz@google.com>
parents:
45894
diff
changeset
|
626 [20] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
627 $ ls "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
628 a |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
629 $ test -d "$FAKEHOME/.hg" |
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
630 [1] |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
631 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
632 on clone empty subrepo with hg-managed fakehome directory, |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
633 then pull (and update): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
634 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
635 $ rm -fR "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
636 $ hg init "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
637 $ touch "$FAKEHOME/a" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
638 $ hg -R "$FAKEHOME" ci -qAm 'add fakehome file' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
639 $ SUB="$FAKEHOME" hg clone -qr1 main main6 |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
640 abort: subrepo path contains illegal component: $SUB |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
641 [255] |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
642 $ ls -A "$FAKEHOME" |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
643 .hg |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
644 a |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
645 $ SUB="$FAKEHOME" hg -R main6 pull -u |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
646 pulling from $TESTTMP/envvarsym/main |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
647 searching for changes |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
648 adding changesets |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
649 adding manifests |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
650 adding file changes |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
651 added 1 changesets with 1 changes to 1 files |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
652 new changesets * (glob) |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
653 .hgsubstate: untracked file differs |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
654 abort: untracked files in working directory differ from files in requested revision |
46418
dc00324e80f4
errors: use StateError more in merge module
Martin von Zweigbergk <martinvonz@google.com>
parents:
45894
diff
changeset
|
655 [20] |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
656 $ ls -A "$FAKEHOME" |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
657 .hg |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
658 a |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
659 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
660 on clone only symlink with hg-managed fakehome directory, |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
661 then pull (and update): |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
662 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
663 $ rm -fR "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
664 $ hg init "$FAKEHOME" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
665 $ touch "$FAKEHOME/a" |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
666 $ hg -R "$FAKEHOME" ci -qAm 'add fakehome file' |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
667 $ SUB="$FAKEHOME" hg clone -qr0 main main7 |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
668 $ ls -A "$FAKEHOME" |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
669 .hg |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
670 a |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
671 $ SUB="$FAKEHOME" hg -R main7 pull -uf |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
672 pulling from $TESTTMP/envvarsym/main |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
673 searching for changes |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
674 adding changesets |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
675 adding manifests |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
676 adding file changes |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
677 added 2 changesets with 3 changes to 2 files |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
678 new changesets * (glob) |
41457
6c10eba6b9cd
subrepo: prohibit variable expansion on creation of hg subrepo (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
41456
diff
changeset
|
679 abort: subrepo path contains illegal component: $SUB |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
680 [255] |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
681 $ ls -A "$FAKEHOME" |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
682 .hg |
41456
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
683 a |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
684 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
685 $ cd .. |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
686 |
31286c9282df
subrepo: extend path auditing test to include more weird patterns (SEC)
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
687 #endif |
41725
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
688 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
689 Test drive letter |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
690 ----------------- |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
691 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
692 Windows has a weird relative path that can change the drive letter, which |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
693 should also be prohibited on Windows. |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
694 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
695 prepare tampered repo: |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
696 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
697 $ hg init driveletter |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
698 $ cd driveletter |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
699 $ hg import --bypass -qm 'add subrepo "X:"' - <<'EOF' |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
700 > diff --git a/.hgsub b/.hgsub |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
701 > new file mode 100644 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
702 > --- /dev/null |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
703 > +++ b/.hgsub |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
704 > @@ -0,0 +1,1 @@ |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
705 > +X: = foo |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
706 > diff --git a/.hgsubstate b/.hgsubstate |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
707 > new file mode 100644 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
708 > --- /dev/null |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
709 > +++ b/.hgsubstate |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
710 > @@ -0,0 +1,1 @@ |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
711 > +0000000000000000000000000000000000000000 X: |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
712 > EOF |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
713 $ cd .. |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
714 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
715 on clone (and update): |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
716 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
717 #if windows |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
718 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
719 $ hg clone -q driveletter driveletter2 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
720 abort: path contains illegal component: X: |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
46418
diff
changeset
|
721 [10] |
41725
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
722 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
723 #else |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
724 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
725 $ hg clone -q driveletter driveletter2 |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
726 $ ls -A driveletter2 |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
727 .hg |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
728 .hgsub |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
41726
diff
changeset
|
729 .hgsubstate |
41725
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
730 X: |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
731 |
ffbf742bfe1f
subrepo: add test for Windows relative-ish path with drive letter
Yuya Nishihara <yuya@tcha.org>
parents:
41458
diff
changeset
|
732 #endif |