tests/test-permissions.t
changeset 12279 28e2e3804f2e
parent 12156 4c94b6d0fb1c
child 12365 22f3353bcc36
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-permissions.t	Tue Sep 14 12:20:51 2010 +0200
@@ -0,0 +1,69 @@
+  $ hg init t
+  $ cd t
+
+  $ echo foo > a
+  $ hg add a
+
+  $ hg commit -m "1"
+
+  $ hg verify
+  checking changesets
+  checking manifests
+  crosschecking files in changesets and manifests
+  checking files
+  1 files, 1 changesets, 1 total revisions
+
+  $ chmod -r .hg/store/data/a.i
+
+  $ hg verify || echo %%% verify failed
+  checking changesets
+  checking manifests
+  crosschecking files in changesets and manifests
+  checking files
+  abort: Permission denied: .*
+  %%% verify failed
+
+  $ chmod +r .hg/store/data/a.i
+
+  $ hg verify || echo %%% verify failed
+  checking changesets
+  checking manifests
+  crosschecking files in changesets and manifests
+  checking files
+  1 files, 1 changesets, 1 total revisions
+
+  $ chmod -w .hg/store/data/a.i
+
+  $ echo barber > a
+  $ hg commit -m "2" || echo %%% commit failed
+  trouble committing a!
+  abort: Permission denied: .*
+  %%% commit failed
+
+  $ chmod -w .
+
+  $ hg diff --nodates
+  diff -r 2a18120dc1c9 a
+  --- a/a
+  +++ b/a
+  @@ -1,1 +1,1 @@
+  -foo
+  +barber
+
+  $ chmod +w .
+
+  $ chmod +w .hg/store/data/a.i
+  $ mkdir dir
+  $ touch dir/a
+  $ hg status
+  M a
+  ? dir/a
+  $ chmod -rx dir
+  $ hg status
+  dir: Permission denied
+  M a
+
+Reenable perm to allow deletion:
+
+  $ chmod +rx dir
+