annotate tests/test-audit-path.t @ 33798:2cd5aba5e1d2

scmutil: use util.shellquote instead of %r Changes some output, but also resolves differences with Python 3. Differential Revision: https://phab.mercurial-scm.org/D301
author Augie Fackler <augie@google.com>
date Wed, 26 Jul 2017 23:47:54 -0400
parents 20bac46f7744
children 989e884d1be9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
1 $ hg init
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
2
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
3 audit of .hg
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
4
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
5 $ hg add .hg/00changelog.i
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15441
diff changeset
6 abort: path contains illegal component: .hg/00changelog.i (glob)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11855
diff changeset
7 [255]
5158
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
8
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
9 #if symlink
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
10
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
11 Symlinks
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
12
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
13 $ mkdir a
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
14 $ echo a > a/a
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
15 $ hg ci -Ama
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
16 adding a/a
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
17 $ ln -s a b
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
18 $ echo b > a/b
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
19 $ hg add b/b
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15441
diff changeset
20 abort: path 'b/b' traverses symbolic link 'b' (glob)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11855
diff changeset
21 [255]
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
22 $ hg add b
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
23
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
24 should still fail - maybe
5158
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
25
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
26 $ hg add b/b
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15441
diff changeset
27 abort: path 'b/b' traverses symbolic link 'b' (glob)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11855
diff changeset
28 [255]
5158
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
29
27234
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
30 $ hg commit -m 'add symlink b'
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
31
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
32
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
33 Test symlink traversing when accessing history:
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
34 -----------------------------------------------
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
35
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
36 (build a changeset where the path exists as a directory)
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
37
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
38 $ hg up 0
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
39 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
40 $ mkdir b
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
41 $ echo c > b/a
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
42 $ hg add b/a
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
43 $ hg ci -m 'add directory b'
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
44 created new head
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
45
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
46 Test that hg cat does not do anything wrong the working copy has 'b' as directory
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
47
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
48 $ hg cat b/a
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
49 c
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
50 $ hg cat -r "desc(directory)" b/a
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
51 c
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
52 $ hg cat -r "desc(symlink)" b/a
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
53 b/a: no such file in rev bc151a1f53bd
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
54 [1]
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
55
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
56 Test that hg cat does not do anything wrong the working copy has 'b' as a symlink (issue4749)
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
57
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
58 $ hg up 'desc(symlink)'
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
59 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
60 $ hg cat b/a
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
61 b/a: no such file in rev bc151a1f53bd
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
62 [1]
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
63 $ hg cat -r "desc(directory)" b/a
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
64 c
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
65 $ hg cat -r "desc(symlink)" b/a
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
66 b/a: no such file in rev bc151a1f53bd
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
67 [1]
15c6eb0a51bd context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18506
diff changeset
68
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
69 #endif
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
70
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
71
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
72 unbundle tampered bundle
5158
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
73
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
74 $ hg init target
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
75 $ cd target
16350
4f795f5fbb0b tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents: 15521
diff changeset
76 $ hg unbundle "$TESTDIR/bundles/tampered.hg"
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
77 adding changesets
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
78 adding manifests
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
79 adding file changes
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
80 added 5 changesets with 6 changes to 6 files (+4 heads)
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
81 (run 'hg heads' to see heads, 'hg merge' to merge)
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
82
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
83 attack .hg/test
7554
11a4eb81fb4f test-audit-path: add more tests (issue 1450)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 5158
diff changeset
84
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
85 $ hg manifest -r0
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
86 .hg/test
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
87 $ hg update -Cr0
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
88 abort: path contains illegal component: .hg/test (glob)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11855
diff changeset
89 [255]
7554
11a4eb81fb4f test-audit-path: add more tests (issue 1450)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 5158
diff changeset
90
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
91 attack foo/.hg/test
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
92
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
93 $ hg manifest -r1
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
94 foo/.hg/test
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
95 $ hg update -Cr1
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
96 abort: path 'foo/.hg/test' is inside nested repo 'foo' (glob)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11855
diff changeset
97 [255]
7554
11a4eb81fb4f test-audit-path: add more tests (issue 1450)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 5158
diff changeset
98
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
99 attack back/test where back symlinks to ..
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
100
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
101 $ hg manifest -r2
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
102 back
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
103 back/test
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
104 #if symlink
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
105 $ hg update -Cr2
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
106 abort: path 'back/test' traverses symbolic link 'back'
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11855
diff changeset
107 [255]
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
108 #else
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
109 ('back' will be a file and cause some other system specific error)
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
110 $ hg update -Cr2
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
111 abort: * (glob)
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
112 [255]
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
113 #endif
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
114
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
115 attack ../test
7554
11a4eb81fb4f test-audit-path: add more tests (issue 1450)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 5158
diff changeset
116
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
117 $ hg manifest -r3
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
118 ../test
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
119 $ hg update -Cr3
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
120 abort: path contains illegal component: ../test (glob)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11855
diff changeset
121 [255]
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
122
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
123 attack /tmp/test
7554
11a4eb81fb4f test-audit-path: add more tests (issue 1450)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 5158
diff changeset
124
11855
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
125 $ hg manifest -r4
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
126 /tmp/test
054b0d9c3f0c tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents: 7681
diff changeset
127 $ hg update -Cr4
18506
ef60083b5536 tests: fix for windows - slashes and no serve
Mads Kiilerich <madski@unity3d.com>
parents: 18336
diff changeset
128 abort: path contains illegal component: /tmp/test (glob)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11855
diff changeset
129 [255]
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16908
diff changeset
130
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16908
diff changeset
131 $ cd ..
33632
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
132
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
133 Test symlink traversal on merge:
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
134 --------------------------------
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
135
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
136 #if symlink
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
137
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
138 set up symlink hell
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
139
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
140 $ mkdir merge-symlink-out
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
141 $ hg init merge-symlink
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
142 $ cd merge-symlink
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
143 $ touch base
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
144 $ hg commit -qAm base
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
145 $ ln -s ../merge-symlink-out a
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
146 $ hg commit -qAm 'symlink a -> ../merge-symlink-out'
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
147 $ hg up -q 0
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
148 $ mkdir a
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
149 $ touch a/poisoned
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
150 $ hg commit -qAm 'file a/poisoned'
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
151 $ hg log -G -T '{rev}: {desc}\n'
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
152 @ 2: file a/poisoned
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
153 |
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
154 | o 1: symlink a -> ../merge-symlink-out
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
155 |/
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
156 o 0: base
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
157
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
158
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
159 try trivial merge
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
160
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
161 $ hg up -qC 1
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
162 $ hg merge 2
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
163 abort: path 'a/poisoned' traverses symbolic link 'a'
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
164 [255]
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
165
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
166 try rebase onto other revision: cache of audited paths should be discarded,
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
167 and the rebase should fail (issue5628)
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
168
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
169 $ hg up -qC 2
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
170 $ hg rebase -s 2 -d 1 --config extensions.rebase=
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
171 rebasing 2:e73c21d6b244 "file a/poisoned" (tip)
33633
20bac46f7744 pathauditor: disable cache of audited paths by default (issue5628)
Yuya Nishihara <yuya@tcha.org>
parents: 33632
diff changeset
172 abort: path 'a/poisoned' traverses symbolic link 'a'
20bac46f7744 pathauditor: disable cache of audited paths by default (issue5628)
Yuya Nishihara <yuya@tcha.org>
parents: 33632
diff changeset
173 [255]
33632
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
174 $ ls ../merge-symlink-out
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
175
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
176 $ cd ..
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
177
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
178 Test symlink traversal on update:
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
179 ---------------------------------
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
180
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
181 $ mkdir update-symlink-out
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
182 $ hg init update-symlink
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
183 $ cd update-symlink
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
184 $ ln -s ../update-symlink-out a
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
185 $ hg commit -qAm 'symlink a -> ../update-symlink-out'
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
186 $ hg rm a
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
187 $ mkdir a && touch a/b
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
188 $ hg ci -qAm 'file a/b' a/b
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
189 $ hg up -qC 0
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
190 $ hg rm a
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
191 $ mkdir a && touch a/c
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
192 $ hg ci -qAm 'rm a, file a/c'
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
193 $ hg log -G -T '{rev}: {desc}\n'
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
194 @ 2: rm a, file a/c
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
195 |
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
196 | o 1: file a/b
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
197 |/
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
198 o 0: symlink a -> ../update-symlink-out
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
199
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
200
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
201 try linear update where symlink already exists:
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
202
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
203 $ hg up -qC 0
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
204 $ hg up 1
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
205 abort: path 'a/b' traverses symbolic link 'a'
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
206 [255]
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
207
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
208 try linear update including symlinked directory and its content: paths are
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
209 audited first by calculateupdates(), where no symlink is created so both
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
210 'a' and 'a/b' are taken as good paths. still applyupdates() should fail.
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
211
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
212 $ hg up -qC null
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
213 $ hg up 1
33633
20bac46f7744 pathauditor: disable cache of audited paths by default (issue5628)
Yuya Nishihara <yuya@tcha.org>
parents: 33632
diff changeset
214 abort: path 'a/b' traverses symbolic link 'a'
20bac46f7744 pathauditor: disable cache of audited paths by default (issue5628)
Yuya Nishihara <yuya@tcha.org>
parents: 33632
diff changeset
215 [255]
33632
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
216 $ ls ../update-symlink-out
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
217
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
218 try branch update replacing directory with symlink, and its content: the
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
219 path 'a' is audited as a directory first, which should be audited again as
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
220 a symlink.
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
221
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
222 $ rm -f a
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
223 $ hg up -qC 2
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
224 $ hg up 1
33633
20bac46f7744 pathauditor: disable cache of audited paths by default (issue5628)
Yuya Nishihara <yuya@tcha.org>
parents: 33632
diff changeset
225 abort: path 'a/b' traverses symbolic link 'a'
20bac46f7744 pathauditor: disable cache of audited paths by default (issue5628)
Yuya Nishihara <yuya@tcha.org>
parents: 33632
diff changeset
226 [255]
33632
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
227 $ ls ../update-symlink-out
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
228
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
229 $ cd ..
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
230
0134d839444b tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents: 27234
diff changeset
231 #endif