Mercurial > hg
annotate tests/test-permissions.t @ 39855:62a532045e71
lfs: access revlog directly
LFS is monkeypatching filelog.filelog and is then accessing
various filelog attributes in the monkeypatched function. This is all
fine.
But some of the attributes being accessed by LFS are revlog centric
and shouldn't be exposed on the file storage interface.
This commit changes the monkeypatched functions to access proxied
attributes on self._revlog instead of self.
This should be safe to do because non-revlog repositories should not
be using filelog instances: instead they should have a separate class
to represent file storage. So it is reasonable for LFS to assume the
_revlog attribute exists and points to a revlog.
Differential Revision: https://phab.mercurial-scm.org/D4714
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 20 Sep 2018 17:47:34 -0700 |
parents | f1186c292d03 |
children | b6673e9bdcf6 |
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 |
12279 | 3 $ hg init t |
4 $ cd t | |
5 | |
6 $ echo foo > a | |
7 $ hg add a | |
8 | |
9 $ hg commit -m "1" | |
10 | |
11 $ hg verify | |
12 checking changesets | |
13 checking manifests | |
14 crosschecking files in changesets and manifests | |
15 checking files | |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
37416
diff
changeset
|
16 checked 1 changesets with 1 changes to 1 files |
12279 | 17 |
18 $ chmod -r .hg/store/data/a.i | |
19 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
20 $ hg verify |
12279 | 21 checking changesets |
22 checking manifests | |
23 crosschecking files in changesets and manifests | |
24 checking files | |
12640
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12376
diff
changeset
|
25 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
|
26 [255] |
12279 | 27 |
28 $ chmod +r .hg/store/data/a.i | |
29 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
30 $ hg verify |
12279 | 31 checking changesets |
32 checking manifests | |
33 crosschecking files in changesets and manifests | |
34 checking files | |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
37416
diff
changeset
|
35 checked 1 changesets with 1 changes to 1 files |
1497 | 36 |
12279 | 37 $ chmod -w .hg/store/data/a.i |
38 | |
39 $ echo barber > a | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
40 $ hg commit -m "2" |
12279 | 41 trouble committing a! |
12640
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12376
diff
changeset
|
42 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
|
43 [255] |
12279 | 44 |
45 $ chmod -w . | |
46 | |
47 $ hg diff --nodates | |
48 diff -r 2a18120dc1c9 a | |
49 --- a/a | |
50 +++ b/a | |
51 @@ -1,1 +1,1 @@ | |
52 -foo | |
53 +barber | |
7099
6f750e76fb46
dirstate.walk: skip unreadable directories (issue1213)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5519
diff
changeset
|
54 |
12279 | 55 $ chmod +w . |
56 | |
57 $ chmod +w .hg/store/data/a.i | |
58 $ mkdir dir | |
59 $ touch dir/a | |
60 $ hg status | |
61 M a | |
62 ? dir/a | |
63 $ 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
|
64 |
435f63d12475
tests: avoid tests related to directory permission if running with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22047
diff
changeset
|
65 #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
|
66 |
435f63d12475
tests: avoid tests related to directory permission if running with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22047
diff
changeset
|
67 (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
|
68 |
12279 | 69 $ hg status |
70 dir: Permission denied | |
71 M a | |
72 | |
33428
435f63d12475
tests: avoid tests related to directory permission if running with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22047
diff
changeset
|
73 #endif |
435f63d12475
tests: avoid tests related to directory permission if running with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22047
diff
changeset
|
74 |
12279 | 75 Reenable perm to allow deletion: |
76 | |
77 $ chmod +rx dir | |
78 | |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15443
diff
changeset
|
79 $ cd .. |