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

[PATCH] Do not use GUID on dir in git init --shared=all on FreeBSD 4.11p2

From
Alex Riesen <raa.lkml@gmail.com>
Date
Mar 4, 2008, 20:20 UTC
Message-ID
<20080304202047.GC3295@steel.home>
In-Reply-To
<7vir02ap3b.fsf@gitster.siamese.dyndns.org>

It does not allow changing the bit to a non-root user. This fixes t1301-shared-repo.sh on the platform.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
Junio C Hamano, Tue, Mar 04, 2008 09:08:24 +0100:
Show 10 quoted lines
> Alex Riesen <raa.lkml@gmail.com> writes:
> 
> > It is a directory. The bit 02000 is S_ISGID on FreeBSD too. It just
> > does not work (now I am just observing, no coding).
> 
> IIRC, g+s on directory to make group ownership inherited was a SysVism;
> BSD did not need that as it did the sane thing by default without g+s.
> 
> Perhaps we should make it conditional.
> 
Perhaps like this (FreeBSD 4 and older).
Can someone try the change on the later versions?
 path.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/path.c b/path.c
index af27161..6f09ba2 100644
--- a/path.c
+++ b/path.c
@@ -282,8 +282,10 @@ int adjust_shared_perm(const char *path)
 			 : (shared_repository == PERM_EVERYBODY
 			    ? (S_IXGRP|S_IXOTH)
 			    : 0));
+#if !defined(__FreeBSD__) || (__FreeBSD__ > 4)
 	if (S_ISDIR(mode))
 		mode |= S_ISGID;
+#endif
 	if ((mode & st.st_mode) != mode && chmod(path, mode) < 0)
 		return -2;
 	return 0;
-- 
1.5.4.3.469.gf84e2
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 10 in “Fix git init --shared=all on FreeBSD 4.11”
  1. Fix git init --shared=all on FreeBSD 4.11Alex Riesen, Mar 3, 2008
  2. Junio C HamanoMar 4, 2008
  3. Alex RiesenMar 4, 2008
  4. Junio C HamanoMar 4, 2008
  5. Do not use GUID on dir in git init --shared=all on FreeBSD 4.11p2Alex Riesen, Mar 4, 2008
  6. Junio C HamanoMar 4, 2008
  7. Alex RiesenMar 4, 2008
  8. Do not use GUID on dir in git init --shared=all on FreeBSDAlex Riesen, Mar 4, 2008
  9. Johannes SchindelinMar 4, 2008
  10. Alex RiesenMar 4, 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.