From: Ed Schofield Date: Thu, 09 Oct 2008 22:59:40 GMT Subject: Re: Git newbie question: permissions Message-ID: <1b5a37350810091559y151e244t43710d4e4c3dabcf@mail.gmail.com> In-Reply-To: <2008-10-09-23-41-14+trackit+sam@rfc1149.net> On Thu, Oct 9, 2008 at 10:41 PM, Samuel Tardieu wrote: >>>>>> "Ed" == Ed Schofield writes: > > Ed> I have now run "git --bare init --shared=group" to reinitialize > Ed> the repository. This seems to have changed the directories to be > Ed> g+sx. (Is this all it did?). There are still some objects > Ed> directories with 755 permissions rather than 770, which I presume > Ed> I want, and the group ownership of these is wrong. Shall I change > Ed> these by hand? The sha1 files all have 444 permissions; is this > Ed> right? > > Ed> The last question I have is how to ensure that git creates object > Ed> files etc. with the right permissions when users push in future. > > As Marc said, you should first make sure that "config" contains > "sharedrepository = 1" in the "[core]" section. > > Then you can do the following: > > - remove all permissions for "others": chmod -R o-rwx . > - mirror "user" permissions to "group": chmod -R g=u . > - add +s flag to directories: find . -type d | xargs chmod g+s > > This should fix your current situation. The "sharedrepository = 1" > will tell git to maintain a proper shared state in the future > on objects it creates (i.e. mirror "user" permission to "group" ones). This worked beautifully. Thanks Sam, thanks Marc! -- Ed