From: Nikodemus S. <nik...@ra...> - 2009-05-05 08:45:52
|
2009/5/5 Nikodemus Siivola <nik...@ra...>: > The repo still doesn't seem set up quite right. When I try to push, I get: > > Counting objects: 5, done. > Compressing objects: 100% (3/3), done. > Writing objects: 100% (3/3), 382 bytes, done. > Total 3 (delta 2), reused 0 (delta 0) > error: Unable to append to logs/HEAD: Permission denied > To ssh://nsi...@co.../project/asdf/public_html/asdf.git > c457de7..ddcf33a master -> master > > I believe this is because core.sharedRepository is not set correctly. > See "git help config": > > http://www.kernel.org/pub/software/scm/git/docs/git-config.html Digging deeper, I'm guessing you didn't initialize the repo using --shared=group at all, so the permissions didn't get set right in the first place, and I think setting that flag (which I managed to do) is not enough to fix them. I made a copy in ~nsiivola on common-lisp.net, and tried to fix the permissions there, and while I think I got them right, I cannot replace the main repository, nor can I fix its permissions as the project directory itself is missing group write permissions, and the public_html directory is missing group write and sticky bit. As for asdf.git, I believe the correct permissions are as follows: For the directory and all subdirectories: dwrxrwsr-x (note the group sticky bit) For files under objects/??/ and objects/pack/: -r--r--r-- For files under hooks/, -rwxrwxr-x For all other files, including those under objects/info/: -rw-rw-r-- ...and the group should be asdf everywhere, of course (it's currently users on a few subdirectories.) (I managed to fix the complete one push by accident, since I was allowed to create *new* directories under objects/, and was able to fix some of the permissions. Other than the messed up permissions and ownerships, it looks healthy to me.) Cheers, -- Nikodemus |