aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar emanuele <emanueleolivetti@web>2017-12-19 14:10:40 +0000
committerGravatar admin <admin@branchable.com>2017-12-19 14:10:40 +0000
commit9b7d2238532784593dbcaee3c60265c82f92bb76 (patch)
tree0d72a58a676484a907d0fce1e8151a279ce2f3e2 /doc
parent4d7140570019fe542e34dd77ed0acd61858ed31a (diff)
Diffstat (limited to 'doc')
-rw-r--r--doc/bugs/wrong_permissions_of_unused__44___badunused_and_tmpunused__63__.mdwn71
1 files changed, 71 insertions, 0 deletions
diff --git a/doc/bugs/wrong_permissions_of_unused__44___badunused_and_tmpunused__63__.mdwn b/doc/bugs/wrong_permissions_of_unused__44___badunused_and_tmpunused__63__.mdwn
new file mode 100644
index 000000000..393370de7
--- /dev/null
+++ b/doc/bugs/wrong_permissions_of_unused__44___badunused_and_tmpunused__63__.mdwn
@@ -0,0 +1,71 @@
+The files `unused`, `badunused` and `tmpunused` in `.git/annex/` do not have the correct permissions when the git repository is set to `--shared=group`. Such files are `600`, while they should be `660`, as other files in `.git/annex`.
+
+For this reason, when those files are created, they are accessibile only to one user (the owner), triggering errors when other users in the group attempt things like `git annex unused` or `git annex dropunused`. At least this occurs with git-annex 6.20171018+gitgbb20b1ed3-1~ndall+1 .
+
+To reproduce the problem:
+
+ git init --shared=group
+ git annex init
+ echo test > test
+ git annex add test
+ git commit -m test
+ git rm test
+ git commit -m removed
+ git annex unused
+
+you get:
+
+ unused . (checking for unused data...) (checking master...)
+ Some annexed data is no longer used by any files:
+ NUMBER KEY
+ 1 SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2
+ (To see where data was previously used, try: git log --stat -S'KEY')
+
+ To remove unwanted data: git-annex dropunused NUMBER
+
+ ok
+
+
+Conversely, from another user of the group you get:
+
+ > git annex unused
+ unused . (checking for unused data...) (checking master...)
+ Some annexed data is no longer used by any files:
+ NUMBER KEY
+ 1 SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2
+ (To see where data was previously used, try: git log --stat -S'KEY')
+
+ To remove unwanted data: git-annex dropunused NUMBER
+
+
+ git-annex: .git/annex/unused: openFile: permission denied (Permission denied)
+ failed
+ git-annex: unused: 1 failed
+
+Moreover:
+
+ > git annex dropunused 1
+ git-annex: .git/annex/misctmp/mergedrefs.0: createDirectory: permission denied (Permission denied)
+
+
+This is somewhat expected, because the permissions of `unused`, `badunused` and `tmpunused` are `600`:
+
+ > ll .git/annex/
+ total 40
+ drwxrwsr-x 5 ele testgroup 4096 dic 19 14:50 ./
+ drwxrwsr-x 9 ele testgroup 4096 dic 19 14:50 ../
+ -rw------- 1 ele testgroup 0 dic 19 14:50 badunused
+ -rw-rw-r-- 1 ele testgroup 345 dic 19 14:49 index
+ -rw-rw-r-- 1 ele testgroup 41 dic 19 14:49 index.lck
+ drwxrwsr-x 2 ele testgroup 4096 dic 19 14:49 journal/
+ -rw-rw---- 1 ele testgroup 0 dic 19 14:49 journal.lck
+ -rw-rw-r-- 1 ele testgroup 62 dic 19 14:49 mergedrefs
+ drwxrwsr-x 2 ele testgroup 4096 dic 19 14:49 misctmp/
+ drwxrwsr-x 3 ele testgroup 4096 dic 19 14:49 objects/
+ -rw-rw---- 1 ele testgroup 0 dic 19 14:49 precommit.lck
+ -rw-rw-r-- 1 ele testgroup 0 dic 19 14:49 sentinal
+ -rw-rw-r-- 1 ele testgroup 21 dic 19 14:49 sentinal.cache
+ -rw------- 1 ele testgroup 0 dic 19 14:50 tmpunused
+ -rw------- 1 ele testgroup 101 dic 19 14:50 unused
+
+If this is the intended behavior, could you please explain me how to use `git annex unused` and `dropunused` in a shared repository?