All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Keeping <john@keeping.me.uk>
To: Johannes Schindelin <johannes.schindelin@gmx.de>
Cc: Joey Hess <id@joeyh.name>, git@vger.kernel.org
Subject: Re: undocumented core.sharedRepository=2 set by git init --shared=world
Date: Tue, 7 Jul 2015 12:52:05 +0100	[thread overview]
Message-ID: <20150707115205.GD18226@serenity.lan> (raw)
In-Reply-To: <b1139f60dde3533e12d13e4b0f6584f2@www.dscho.org>

On Tue, Jul 07, 2015 at 01:32:13PM +0200, Johannes Schindelin wrote:
> Hi John,
> 
> On 2015-07-07 11:10, John Keeping wrote:
> > On Tue, Jul 07, 2015 at 10:14:28AM +0200, Johannes Schindelin wrote:
> >> Hi Joey,
> >>
> >> On 2015-07-06 21:25, Joey Hess wrote:
> >> > joey@darkstar:~/tmp>git init --shared=world testrepo
> >> > Initialized empty shared Git repository in /home/joey/tmp/testrepo/.git/
> >> > joey@darkstar:~/tmp>grep shared testrepo/.git/config
> >> > 	sharedrepository = 2
> >> >
> >> > This magic value of 2 seems to be undocumented, as is the magic value of 1
> >> > that's equvilant to "group".
> >> >
> >> > I think it would be better to have git init put in "world" or "group" and not
> >> > these magic values. Anyway, I suppose they ought to be documented too.
> >>
> >> The rationale can be found here:
> >> https://github.com/git/git/blob/v2.4.5/builtin/init-db.c#L413-L418
> >>
> >> 		/* We do not spell "group" and such, so that
> >> 		 * the configuration can be read by older version
> >> 		 * of git. Note, we use octal numbers for new share modes,
> >> 		 * and compatibility values for PERM_GROUP and
> >> 		 * PERM_EVERYBODY.
> >> 		 */
> >>
> >> I am sympathetic to your wish, of course, and I am sure that you
> >> understand why we cannot simply break other people's setups to satisfy
> >> it.
> > 
> > That comment was added in 94df250 (shared repository: optionally allow
> > reading to "others"., 2006-06-09) which was in 1.4.1.  I suspect that is
> > now sufficiently old that it no longer matters.
> 
> I understand your point of view. With my maintainer hat on I have to
> say, though, that things like that require a major version change.
> Users tend to appreciate such a careful maintenance.

However, there has been a major version since the new syntax was
introduced (in the same commit mentioned above), so this only affects
users who initialize a repository with (say) 2.6.0 or later and then try
to use 1.4.0 or earlier to operate on it.

That means using two versions of Git released more than 9 years apart to
operate on the same repository.  IMHO even careful maintenance can
declare that an unsupported configuration.

      reply	other threads:[~2015-07-07 11:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-06 19:25 undocumented core.sharedRepository=2 set by git init --shared=world Joey Hess
2015-07-07  6:44 ` Torsten Bögershausen
2015-07-07  8:14 ` Johannes Schindelin
2015-07-07  9:10   ` John Keeping
2015-07-07 11:32     ` Johannes Schindelin
2015-07-07 11:52       ` John Keeping [this message]

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=20150707115205.GD18226@serenity.lan \
    --to=john@keeping.me.uk \
    --cc=git@vger.kernel.org \
    --cc=id@joeyh.name \
    --cc=johannes.schindelin@gmx.de \
    /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.