Re: [PATCH] tar-tree: add the "tar.applyUmask" config option
- From
Willy Tarreau <w@1wt.eu>
- Date
- Jul 20, 2006, 09:55 UTC
- Message-ID
- <20060720095553.GA10920@1wt.eu>
- In-Reply-To
- <44BF507A.4080801@dawes.za.net>
On Thu, Jul 20, 2006 at 11:44:26AM +0200, Rogan Dawes wrote:
Show 12 quoted lines
> Willy Tarreau wrote:
> >+int git_tar_config(const char *var, const char *value)
> >+{
> >+ if (!strcmp(var, "tar.umask")) {
> >+ if (!strcmp(value, "user")) {
> >+ tar_umask = umask(0);
> >+ umask(tar_umask);
> >+ } else {
> >+ tar_umask = git_config_int(var, value);
>
> Looks like you forgot:
> umask(tar_umask);not at all : we don't want to change the process's umask, but set the mask that will be used to position file modes in the output archive.
The reason for umask(tar_umask) above is because you cannot read the process umask without changing it, so you have to do it twice with a dummy value first.
Show 9 quoted lines
> >+ } > >+ return 0; > >+ } > >+ return git_default_config(var, value); > >+} > > Or else move it to just before the "return 0;" line. > > Rogan
Regards, Willy