git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Add two core.sharedRepository options: group-readable and world-readable

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 12, 2008, 00:53 UTC
Message-ID
<7vfxtrnban.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<20080411140916.GA30667@zakalwe.fi>
Heikki Orsila <heikki.orsila@iki.fi> writes:
Show 10 quoted lines
> diff --git a/cache.h b/cache.h
> index 2a1e7ec..4af6d62 100644
> --- a/cache.h
> +++ b/cache.h
> @@ -474,10 +474,14 @@ static inline void hashclr(unsigned char *hash)
>  
>  int git_mkstemp(char *path, size_t n, const char *template);
>  
> +/* Warning: enum sharedrepo item order should not be changed since it will
> + * break backwards compatibility. */

That's not a "Warning" (which tends to mean "you can violate this if you know what you are doing"), but should be stronger than that. Something like (also notice the multi-line comment style --- the first line ends with "/*\n"):

/*
 * NOTE NOTE NOTE!!
 *
 * Do not reorder this list; numerically written core.sharedrepository
 * in config files have always been valid, and you would break existing
 * repositories if you move these around.
 */
Show 8 quoted lines
>  enum sharedrepo {
>  	PERM_UMASK = 0,
>  	PERM_GROUP,
> -	PERM_EVERYBODY
> +	PERM_EVERYBODY,
> +	PERM_GROUP_READABLE,
> +	PERM_WORLD_READABLE,
>  };
But I have to wonder if this patch is necessary.
Neither am I convinced if this set is sufficient.
+	/*
	 * PERM_GROUP_READABLE:   g+r
+	 * PERM_GROUP:            g+rw
+	 * PERM_WORLD_READABLE:   g+r,  o+r
+	 * PERM_EVERYBODY:        g+rw, o+r
+	 */

For example, you may want to enforce "ug+rw,o=" in a repository. How would you do that?

Perhaps if you really wanted to have such a fine grained control, you would be better off defining core.sharedrepository as a set/unset pair?

	core.sharedrepository = 0660,007 ;# ug+rw,o-rwx
Or even stronger "set to this bit pattern"?
	core.sharedrepository = 0660 ;# ug=rw,o=

(I think you would need to flip executable bit for directories if you go this route).

Previous: Heikki OrsilaNext: Heikki Orsila
Message 2 of 9 in “Add two core.sharedRepository options: group-readable and world-readable”
  1. Add two core.sharedRepository options: group-readable and world-readableHeikki Orsila, Apr 11, 2008
  2. Junio C HamanoApr 12, 2008
  3. Heikki OrsilaApr 12, 2008
  4. Junio C HamanoApr 12, 2008
  5. Björn SteinbrinkApr 12, 2008
  6. Junio C HamanoApr 12, 2008
  7. Heikki OrsilaApr 12, 2008
  8. Heikki OrsilaApr 12, 2008
  9. Heikki OrsilaApr 12, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.