Mercurial > hg
annotate tests/test-permissions.t @ 48670:6d2ddea0721a stable
stream-clone: filter possible missing requirements using all supported one
The `supportedformat` requirements is missing some important requirements and it
seems better to filter out with all requirements we know, not just an
"arbitrary" subset.
The `supportedformat` set is lacking some important requirements (for example
`revlog-compression-zstd`). This is getting fixed on default (for Mercurial 6.1)
However, fixing that in 6.1 means the stream requirements sent over the wire
will contains more items. And if we don't apply this fix on older version, they
might end up complaining about lacking support for feature they actually support
for years.
This patch does not fix the deeper problem (advertised stream requirement
lacking some of them), but focus on the trivial part : Lets use the full set of
supported requirement for looking for unsupported ones.
This patch should be simple to backport to older version of Mercurial and
packager should be encouraged to do so.
This is a graft of d9017df70135 from default.
Differential Revision: https://phab.mercurial-scm.org/D12091
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 24 Jan 2022 11:49:06 +0100 |
parents | bf11ff22a9af |
children | b7fde9237c92 f7086f6173f8 |
rev | line source |
---|---|
37416
7542e97c7867
tests: conditionalize tests for various repo features
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33428
diff
changeset
|
1 #require unix-permissions no-root reporevlogstore |
15443
a1914d214579
tests: use 'hghave unix-permissions' for tests that really use chmod
Mads Kiilerich <mads@kiilerich.com>
parents:
12640
diff
changeset
|
2 |
48068
bf8837e3d7ce
dirstate: Remove the flat Rust DirstateMap implementation
Simon Sapin <simon.sapin@octobus.net>
parents:
47281
diff
changeset
|
3 #testcases dirstate-v1 dirstate-v2 |
47129
93eb6c8035a9
dirstate-tree: Add a dirstate-v1-tree variant of some tests
Simon Sapin <simon.sapin@octobus.net>
parents:
41420
diff
changeset
|
4 |
47281
6763913fa175
dirstate-v2: Add a variant of some tests, that uses the new format
Simon Sapin <simon.sapin@octobus.net>
parents:
47129
diff
changeset
|
5 #if dirstate-v2 |
48235
5c567aca080d
dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48223
diff
changeset
|
6 $ cat >> $HGRCPATH << EOF |
5c567aca080d
dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48223
diff
changeset
|
7 > [format] |
48295
bf11ff22a9af
dirstate-v2: freeze the on-disk format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48235
diff
changeset
|
8 > exp-rc-dirstate-v2=1 |
48235
5c567aca080d
dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48223
diff
changeset
|
9 > [storage] |
5c567aca080d
dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48223
diff
changeset
|
10 > dirstate-v2.slow-path=allow |
5c567aca080d
dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48223
diff
changeset
|
11 > EOF |
47281
6763913fa175
dirstate-v2: Add a variant of some tests, that uses the new format
Simon Sapin <simon.sapin@octobus.net>
parents:
47129
diff
changeset
|
12 #endif |
6763913fa175
dirstate-v2: Add a variant of some tests, that uses the new format
Simon Sapin <simon.sapin@octobus.net>
parents:
47129
diff
changeset
|
13 |
12279 | 14 $ hg init t |
15 $ cd t | |
16 | |
17 $ echo foo > a | |
18 $ hg add a | |
19 | |
20 $ hg commit -m "1" | |
21 | |
22 $ hg verify | |
23 checking changesets | |
24 checking manifests | |
25 crosschecking files in changesets and manifests | |
26 checking files | |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
37416
diff
changeset
|
27 checked 1 changesets with 1 changes to 1 files |
12279 | 28 |
29 $ chmod -r .hg/store/data/a.i | |
30 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
31 $ hg verify |
12279 | 32 checking changesets |
33 checking manifests | |
34 crosschecking files in changesets and manifests | |
35 checking files | |
41420
b6673e9bdcf6
dispatch: quote filename in IOError as well
Yuya Nishihara <yuya@tcha.org>
parents:
39489
diff
changeset
|
36 abort: Permission denied: '$TESTTMP/t/.hg/store/data/a.i' |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
37 [255] |
12279 | 38 |
39 $ chmod +r .hg/store/data/a.i | |
40 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
41 $ hg verify |
12279 | 42 checking changesets |
43 checking manifests | |
44 crosschecking files in changesets and manifests | |
45 checking files | |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
37416
diff
changeset
|
46 checked 1 changesets with 1 changes to 1 files |
1497 | 47 |
12279 | 48 $ chmod -w .hg/store/data/a.i |
49 | |
50 $ echo barber > a | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
51 $ hg commit -m "2" |
12279 | 52 trouble committing a! |
41420
b6673e9bdcf6
dispatch: quote filename in IOError as well
Yuya Nishihara <yuya@tcha.org>
parents:
39489
diff
changeset
|
53 abort: Permission denied: '$TESTTMP/t/.hg/store/data/a.i' |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
54 [255] |
12279 | 55 |
56 $ chmod -w . | |
57 | |
58 $ hg diff --nodates | |
59 diff -r 2a18120dc1c9 a | |
60 --- a/a | |
61 +++ b/a | |
62 @@ -1,1 +1,1 @@ | |
63 -foo | |
64 +barber | |
7099
6f750e76fb46
dirstate.walk: skip unreadable directories (issue1213)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5519
diff
changeset
|
65 |
12279 | 66 $ chmod +w . |
67 | |
68 $ chmod +w .hg/store/data/a.i | |
69 $ mkdir dir | |
70 $ touch dir/a | |
71 $ hg status | |
72 M a | |
73 ? dir/a | |
74 $ chmod -rx dir | |
33428
435f63d12475
tests: avoid tests related to directory permission if running with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22047
diff
changeset
|
75 |
435f63d12475
tests: avoid tests related to directory permission if running with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22047
diff
changeset
|
76 #if no-fsmonitor |
435f63d12475
tests: avoid tests related to directory permission if running with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22047
diff
changeset
|
77 |
435f63d12475
tests: avoid tests related to directory permission if running with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22047
diff
changeset
|
78 (fsmonitor makes "hg status" avoid accessing to "dir") |
435f63d12475
tests: avoid tests related to directory permission if running with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22047
diff
changeset
|
79 |
12279 | 80 $ hg status |
81 dir: Permission denied | |
82 M a | |
83 | |
33428
435f63d12475
tests: avoid tests related to directory permission if running with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22047
diff
changeset
|
84 #endif |
435f63d12475
tests: avoid tests related to directory permission if running with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22047
diff
changeset
|
85 |
12279 | 86 Reenable perm to allow deletion: |
87 | |
88 $ chmod +rx dir | |
89 | |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15443
diff
changeset
|
90 $ cd .. |