{"thread":{"id":"39790","subject":"undocumented core.sharedRepository=2 set by git init --shared=world","startedAt":"2015-07-06T19:25:47Z","lastAt":"2015-07-07T11:52:05Z","messageCount":6,"participants":["Joey Hess","Torsten Bögershausen","Johannes Schindelin","John Keeping"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"265631","messageId":"20150706192547.GA15396@kitenet.net","threadId":"39790","inReplyTo":null,"subject":"undocumented core.sharedRepository=2 set by git init --shared=world","fromName":"Joey Hess","fromEmail":"id@joeyh.name","sentAt":"2015-07-06T19:25:47Z","receivedAt":"2015-07-06T19:25:47Z","isPatch":false,"sender":{"key":"id@joeyh.name","avatar":"https://avatars.githubusercontent.com/u/16392?v=4"},"body":"joey@darkstar:~/tmp>git init --shared=world testrepo\nInitialized empty shared Git repository in /home/joey/tmp/testrepo/.git/\njoey@darkstar:~/tmp>grep shared testrepo/.git/config \n\tsharedrepository = 2\n\nThis magic value of 2 seems to be undocumented, as is the magic value of 1\nthat's equvilant to \"group\".\n\nI think it would be better to have git init put in \"world\" or \"group\" and not\nthese magic values. Anyway, I suppose they ought to be documented too.\n\n-- \nsee shy jo\n"},{"id":"265647","messageId":"559B756A.2040202@web.de","threadId":"39790","inReplyTo":"20150706192547.GA15396@kitenet.net","subject":"Re: undocumented core.sharedRepository=2 set by git init --shared=world","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2015-07-07T06:44:58Z","receivedAt":"2015-07-07T06:44:58Z","isPatch":false,"sender":{"key":"tboegi@web.de","avatar":"https://avatars.githubusercontent.com/u/7138363?v=4"},"body":"On 2015-07-06 21.25, Joey Hess wrote:\n> joey@darkstar:~/tmp>git init --shared=world testrepo\n> Initialized empty shared Git repository in /home/joey/tmp/testrepo/.git/\n> joey@darkstar:~/tmp>grep shared testrepo/.git/config \n> \tsharedrepository = 2\n> \n> This magic value of 2 seems to be undocumented, as is the magic value of 1\n> that's equvilant to \"group\".\n> \n> I think it would be better to have git init put in \"world\" or \"group\" and not\n> these magic values. \nThanks for the report.\nChanging the behavior of Git may cause problems with\n- older versions of Git\n- Other implementations of Git, like JGit, libgit2, ...\n\nDid you check what these implementations do ?\n\nAnyway, I suppose they ought to be documented too.\n> \nYes.\nDo you want to send a patch ?\n"},{"id":"265656","messageId":"b9f56a351da062698ad629d77d3752b7@www.dscho.org","threadId":"39790","inReplyTo":"20150706192547.GA15396@kitenet.net","subject":"Re: undocumented core.sharedRepository=2 set by git init --shared=world","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2015-07-07T08:14:28Z","receivedAt":"2015-07-07T08:14:28Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Joey,\n\nOn 2015-07-06 21:25, Joey Hess wrote:\n> joey@darkstar:~/tmp>git init --shared=world testrepo\n> Initialized empty shared Git repository in /home/joey/tmp/testrepo/.git/\n> joey@darkstar:~/tmp>grep shared testrepo/.git/config \n> \tsharedrepository = 2\n> \n> This magic value of 2 seems to be undocumented, as is the magic value of 1\n> that's equvilant to \"group\".\n> \n> I think it would be better to have git init put in \"world\" or \"group\" and not\n> these magic values. Anyway, I suppose they ought to be documented too.\n\nThe rationale can be found here: https://github.com/git/git/blob/v2.4.5/builtin/init-db.c#L413-L418\n\n\t\t/* We do not spell \"group\" and such, so that\n\t\t * the configuration can be read by older version\n\t\t * of git. Note, we use octal numbers for new share modes,\n\t\t * and compatibility values for PERM_GROUP and\n\t\t * PERM_EVERYBODY.\n\t\t */\n\nI 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.\n\nCiao,\nJohannes\n"},{"id":"265660","messageId":"20150707091044.GC18226@serenity.lan","threadId":"39790","inReplyTo":"b9f56a351da062698ad629d77d3752b7@www.dscho.org","subject":"Re: undocumented core.sharedRepository=2 set by git init --shared=world","fromName":"John Keeping","fromEmail":"john@keeping.me.uk","sentAt":"2015-07-07T09:10:44Z","receivedAt":"2015-07-07T09:10:44Z","isPatch":false,"sender":{"key":"john@keeping.me.uk","avatar":"https://avatars.githubusercontent.com/u/1702081?v=4"},"body":"On Tue, Jul 07, 2015 at 10:14:28AM +0200, Johannes Schindelin wrote:\n> Hi Joey,\n> \n> On 2015-07-06 21:25, Joey Hess wrote:\n> > joey@darkstar:~/tmp>git init --shared=world testrepo\n> > Initialized empty shared Git repository in /home/joey/tmp/testrepo/.git/\n> > joey@darkstar:~/tmp>grep shared testrepo/.git/config \n> > \tsharedrepository = 2\n> > \n> > This magic value of 2 seems to be undocumented, as is the magic value of 1\n> > that's equvilant to \"group\".\n> > \n> > I think it would be better to have git init put in \"world\" or \"group\" and not\n> > these magic values. Anyway, I suppose they ought to be documented too.\n> \n> The rationale can be found here:\n> https://github.com/git/git/blob/v2.4.5/builtin/init-db.c#L413-L418\n> \n> \t\t/* We do not spell \"group\" and such, so that\n> \t\t * the configuration can be read by older version\n> \t\t * of git. Note, we use octal numbers for new share modes,\n> \t\t * and compatibility values for PERM_GROUP and\n> \t\t * PERM_EVERYBODY.\n> \t\t */\n> \n> I am sympathetic to your wish, of course, and I am sure that you\n> understand why we cannot simply break other people's setups to satisfy\n> it.\n\nThat comment was added in 94df250 (shared repository: optionally allow\nreading to \"others\"., 2006-06-09) which was in 1.4.1.  I suspect that is\nnow sufficiently old that it no longer matters.\n"},{"id":"265663","messageId":"b1139f60dde3533e12d13e4b0f6584f2@www.dscho.org","threadId":"39790","inReplyTo":"20150707091044.GC18226@serenity.lan","subject":"Re: undocumented core.sharedRepository=2 set by git init --shared=world","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2015-07-07T11:32:13Z","receivedAt":"2015-07-07T11:32:13Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi John,\n\nOn 2015-07-07 11:10, John Keeping wrote:\n> On Tue, Jul 07, 2015 at 10:14:28AM +0200, Johannes Schindelin wrote:\n>> Hi Joey,\n>>\n>> On 2015-07-06 21:25, Joey Hess wrote:\n>> > joey@darkstar:~/tmp>git init --shared=world testrepo\n>> > Initialized empty shared Git repository in /home/joey/tmp/testrepo/.git/\n>> > joey@darkstar:~/tmp>grep shared testrepo/.git/config\n>> > \tsharedrepository = 2\n>> >\n>> > This magic value of 2 seems to be undocumented, as is the magic value of 1\n>> > that's equvilant to \"group\".\n>> >\n>> > I think it would be better to have git init put in \"world\" or \"group\" and not\n>> > these magic values. Anyway, I suppose they ought to be documented too.\n>>\n>> The rationale can be found here:\n>> https://github.com/git/git/blob/v2.4.5/builtin/init-db.c#L413-L418\n>>\n>> \t\t/* We do not spell \"group\" and such, so that\n>> \t\t * the configuration can be read by older version\n>> \t\t * of git. Note, we use octal numbers for new share modes,\n>> \t\t * and compatibility values for PERM_GROUP and\n>> \t\t * PERM_EVERYBODY.\n>> \t\t */\n>>\n>> I am sympathetic to your wish, of course, and I am sure that you\n>> understand why we cannot simply break other people's setups to satisfy\n>> it.\n> \n> That comment was added in 94df250 (shared repository: optionally allow\n> reading to \"others\"., 2006-06-09) which was in 1.4.1.  I suspect that is\n> now sufficiently old that it no longer matters.\n\nI 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.\n\nCiao,\nJohannes\n"},{"id":"265664","messageId":"20150707115205.GD18226@serenity.lan","threadId":"39790","inReplyTo":"b1139f60dde3533e12d13e4b0f6584f2@www.dscho.org","subject":"Re: undocumented core.sharedRepository=2 set by git init --shared=world","fromName":"John Keeping","fromEmail":"john@keeping.me.uk","sentAt":"2015-07-07T11:52:05Z","receivedAt":"2015-07-07T11:52:05Z","isPatch":false,"sender":{"key":"john@keeping.me.uk","avatar":"https://avatars.githubusercontent.com/u/1702081?v=4"},"body":"On Tue, Jul 07, 2015 at 01:32:13PM +0200, Johannes Schindelin wrote:\n> Hi John,\n> \n> On 2015-07-07 11:10, John Keeping wrote:\n> > On Tue, Jul 07, 2015 at 10:14:28AM +0200, Johannes Schindelin wrote:\n> >> Hi Joey,\n> >>\n> >> On 2015-07-06 21:25, Joey Hess wrote:\n> >> > joey@darkstar:~/tmp>git init --shared=world testrepo\n> >> > Initialized empty shared Git repository in /home/joey/tmp/testrepo/.git/\n> >> > joey@darkstar:~/tmp>grep shared testrepo/.git/config\n> >> > \tsharedrepository = 2\n> >> >\n> >> > This magic value of 2 seems to be undocumented, as is the magic value of 1\n> >> > that's equvilant to \"group\".\n> >> >\n> >> > I think it would be better to have git init put in \"world\" or \"group\" and not\n> >> > these magic values. Anyway, I suppose they ought to be documented too.\n> >>\n> >> The rationale can be found here:\n> >> https://github.com/git/git/blob/v2.4.5/builtin/init-db.c#L413-L418\n> >>\n> >> \t\t/* We do not spell \"group\" and such, so that\n> >> \t\t * the configuration can be read by older version\n> >> \t\t * of git. Note, we use octal numbers for new share modes,\n> >> \t\t * and compatibility values for PERM_GROUP and\n> >> \t\t * PERM_EVERYBODY.\n> >> \t\t */\n> >>\n> >> I am sympathetic to your wish, of course, and I am sure that you\n> >> understand why we cannot simply break other people's setups to satisfy\n> >> it.\n> > \n> > That comment was added in 94df250 (shared repository: optionally allow\n> > reading to \"others\"., 2006-06-09) which was in 1.4.1.  I suspect that is\n> > now sufficiently old that it no longer matters.\n> \n> I understand your point of view. With my maintainer hat on I have to\n> say, though, that things like that require a major version change.\n> Users tend to appreciate such a careful maintenance.\n\nHowever, there has been a major version since the new syntax was\nintroduced (in the same commit mentioned above), so this only affects\nusers who initialize a repository with (say) 2.6.0 or later and then try\nto use 1.4.0 or earlier to operate on it.\n\nThat means using two versions of Git released more than 9 years apart to\noperate on the same repository.  IMHO even careful maintenance can\ndeclare that an unsupported configuration.\n"}]}