All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Ericsson <ae@op5.se>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: git@vger.kernel.org
Subject: Re: git /objects directory created 755 by default?
Date: Thu, 22 Dec 2005 16:53:13 +0100	[thread overview]
Message-ID: <43AACBE9.7060201@op5.se> (raw)
In-Reply-To: <Pine.LNX.4.63.0512221530570.18551@wbgn013.biozentrum.uni-wuerzburg.de>



Johannes Schindelin wrote:
> Hi,
> 
> On Thu, 22 Dec 2005, Andreas Ericsson wrote:
> 
> 
>>Johannes Schindelin wrote:
>>
>>>Okay, so there you are. You have a write-shared repository with the HEAD
>>>checked out. Somebody wants to push to that with different credentials than
>>>the user who checked out the files. Do you plainly deny updating the current
>>>HEAD?
>>>
>>>If you do, then you better give the pushing user (pun intended) a way to
>>>update the checked out files. You can do this by (tadaah) setting the umask
>>>to 0002 also for working files.
>>>
>>
>>Ahh. Sorry. We use this method a lot, really, but always only for running gitk
>>and archaeology tools to check newly pushed changes, so the write-shared repo
>>is only write-shared for remote users, and the local one never does a commit.
>>It's perhaps a bit of a weird setup, but it lets you get an overview faster
>>than gitweb and works well enough with samba. Noted should be that having the
>>repo checked out is merely a convenience thing to let one browse the files at
>>leisure. People know to do
>>	git checkout -f HEAD
>>
>>whenever they want to dig around.
> 
> 
> Better to do this with a post-update hook, right? You can't forget to 
> checkout this way. *Plus* you can make sure the umask is correct in the 
> hook.
> 

What prevents you from setting umask 002 in the hook? If the files are 
already checked out with some other (write-denying) umask by some other 
user it will fail regardless of where the umask comes from.

> 
>>>Yes, we could find out exactly where writes happen inside GIT_DIR and plug
>>>in shared.umask which is only applied in these cases, but I am totally
>>>unconvinced that this is worth the hassle. In my cases, I am perfectly
>>>helped by a umask which is respected throughout git, and the patch is simple
>>>enough to be reviewed in 5 minutes.
>>>
>>
>>But adding
>>
>>	umask 002
>>
>>to /etc/bashrc would do exactly the same thing, so why have it a setting for
>>the repository only? In my experience, most servers used for hosting git repos
>>host *lots* of them (look at master.kernel.org), so a server-wide setting
>>really makes much more sense. If the server admin can't be bothered you can
>>always change $HOME/.bashrc.
> 
> 
> In my very special setup, it is a server on which you have your personal 
> files, too. So, setting umask = 0002 globally is not an option.
> 

scp -p preserves the umask you have on your desktop/laptop, so unless 
you frequently do

	ssh somewhere "echo 'Gawds, this is an awkward way of editing files' >> 
somefile"

you should be good with the bashrc setting. You can override it from 
bash_profile to make sure you get a safely sane umask when logging in 
interactively.

> 
>>So long as people remember that .bash_profile isn't read for non-interactive
>>shells this should do nicely. If they can't remember that they won't remember
>>adding the setting to the repository either.
> 
> 
> Problem is, what if one of your users is a tcsh zealot? Or simply forgot 
> to set it. Trouble in China. Also, I simply can not memorize what startup 
> script gets called when.
> 

tcsh zealot? Not familiar with that one. If you're trying to cover every 
angle I think you'll be in for a disappointment though. Users are 
usually fairly ingenious when it comes to finding ways of causing trouble.

As for forgetting to set it, I was talking about the /etc/bashrc file 
here. There is a /etc/cshrc as well, although this tcsh zealot shell 
might ignore it.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

  reply	other threads:[~2005-12-22 15:53 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-20 23:25 git /objects directory created 755 by default? Martin Langhoff
2005-12-20 23:43 ` Junio C Hamano
2005-12-21  1:37   ` Junio C Hamano
2005-12-21  2:28     ` Martin Langhoff
2005-12-21  4:53       ` Junio C Hamano
2005-12-21  5:10         ` Martin Langhoff
2005-12-21  5:03       ` Junio C Hamano
2005-12-21  5:15         ` Martin Langhoff
2005-12-21  5:17           ` Junio C Hamano
2005-12-21  5:23             ` Martin Langhoff
2005-12-22  3:46           ` Ben Clifford
2005-12-21 15:35     ` Johannes Schindelin
2005-12-21 22:10       ` Junio C Hamano
2005-12-21 22:20         ` Johannes Schindelin
2005-12-22  9:45           ` Andreas Ericsson
2005-12-22 11:27             ` Johannes Schindelin
2005-12-22 12:28               ` Andreas Ericsson
2005-12-22 14:37                 ` Johannes Schindelin
2005-12-22 15:53                   ` Andreas Ericsson [this message]
2005-12-22 16:03                     ` Johannes Schindelin
2005-12-22 16:52                       ` Andreas Ericsson
2005-12-22 17:31                         ` Johannes Schindelin
2005-12-22 19:14                         ` Junio C Hamano
2005-12-22 19:28                           ` Johannes Schindelin
2005-12-22 20:15                             ` Junio C Hamano
2005-12-22 20:27                               ` Johannes Schindelin
2005-12-23  4:19                 ` Junio C Hamano
2005-12-23 12:07                   ` Andreas Ericsson
2005-12-22 10:11           ` Alex Riesen
2005-12-22 11:35             ` Johannes Schindelin
2005-12-22 14:38               ` Alex Riesen
2005-12-22 15:09                 ` Johannes Schindelin
2005-12-22 15:14                   ` Alex Riesen
2005-12-22 15:52                     ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43AACBE9.7060201@op5.se \
    --to=ae@op5.se \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.