summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar http://christian.amsuess.com/chrysn <chrysn@web>2012-04-21 15:07:47 +0000
committerGravatar admin <admin@branchable.com>2012-04-21 15:07:47 +0000
commitc8940c02e3d5577bbe3acdb79d0641226fa6d529 (patch)
treed24c0c1d73bb45d6ac4ef1cdcecffac3d9098391
parent5cc76098ca7b702772ccf37a47f03da088148003 (diff)
getting "permission denied" in fsck, looking for cause
-rw-r--r--doc/forum/__34__permission_denied__34___in_fsck_on_shared_repo.mdwn17
1 files changed, 17 insertions, 0 deletions
diff --git a/doc/forum/__34__permission_denied__34___in_fsck_on_shared_repo.mdwn b/doc/forum/__34__permission_denied__34___in_fsck_on_shared_repo.mdwn
new file mode 100644
index 000000000..f13aed2c2
--- /dev/null
+++ b/doc/forum/__34__permission_denied__34___in_fsck_on_shared_repo.mdwn
@@ -0,0 +1,17 @@
+i'm getting errors in ``git annex fsck`` on a shared bare git repo with git-annex 3.20120418 local repo version 3:
+
+``git-annex: ${PATH}/${MYREPO}.git/annex/objects/${HA}/${SH}/SHA1-${HASH}/SHA1-${HASH}: setFileMode: permission denied (Operation not permitted)``
+
+the repository is shared among several users in a common group, and the repo is set up with sticky group, and with appropriate umasks, everything should work.
+
+however, even with the file having permissions -rw-rw-r-- in the directory with permissions drwxrwsr-x, owned by someone else but by a group i'm currently in (as verified by issuing `groups`), i get said error message.
+
+a strace reveals that the failing syscall is:
+
+``[pid 17626] chmod("${FILENAME}", 0100555) = -1 EPERM (Operation not permitted)``
+
+(maybe related: git annex looks for the file in another ${HA}/${SH} combination (of three digits instead of two digits each) before, i take it this is just a new feature not used by the data in my repo? also, i should add that the repository dates back to git-annex 0.13.)
+
+as a workaround, i'm currently ``sudo chown``ing all files to me before the check.
+
+why does fsck try to set permissions even if they are ok? is this a bug in my setup, and if yes, how is a shared repository set up correctly?