inherit mode patch

Matt Mackall mpm at
Sun Mar 4 11:57:20 CST 2007

On Sun, Mar 04, 2007 at 01:12:23PM -0300, Alexis S. L. Carvalho wrote:
> Thus spake Alexis S. L. Carvalho:
> > I was thinking of (finally) pushing some version of Aurelian Jacobs's
> > patch to make new files under .hg inherit the permissions from the .hg
> > directory itself - specifically the version below[1], slightly updated
> > to take advantadge of the fact that we now cache the value of umask in
> >
> Below is a patch that actually applies and (I think) works.  There's
> still a small issue that the .hg/store/{journal,undo} files created by
> the transaction system still follow the umask, but that can be solved
> later.
> Hmm...  I guess I'll have to fix the directory creation for symlinks
> that I pushed earlier today, too...
> Alexis
> diff -r 26596a6b6518 -r 0f320bf33473 mercurial/
> --- a/mercurial/	Fri Feb 23 17:54:34 2007 +0200
> +++ b/mercurial/	Thu Nov 02 00:17:16 2006 +0100
> @@ -33,7 +33,7 @@ class localrepository(repo.repository):
>          self.path = os.path.join(path, ".hg")
>          self.root = os.path.realpath(path)
>          self.origroot = path
> -        self.opener = util.opener(self.path)
> +        self.opener = util.opener(self.path, inheritmode=True)

Wouldn't it be simpler to just pass mode=x down and be done with it?
Where mode=None if umask is agreeable? Then opener can simply do:

  if mode:

I'd really like to avoid making opener any more complicated than it
already is.

I don't see any useful reason to have just subsets of a repo being
group-writable. That'll just cause more confusion. So it should really
be an all or nothing thing based on the permissions of .hg.

Mathematics is the supreme nostalgia of our time.

More information about the Mercurial-devel mailing list