Subject: Re: [PATCH 1/2] doc: recommend lore.kernel.org over public-inbox.org

From: Eric Wong <[email-masked]>
Date: Fri, 29 Nov 2019 09:59:13 +0000

Johannes Schindelin <[email-masked]> wrote:
> Hi Eric,
> 
> On Thu, 28 Nov 2019, Eric Wong wrote:
> 
> > Johannes Schindelin <[email-masked]> wrote:
> > > Hi Eric,
> > >
> > > On Thu, 28 Nov 2019, Eric Wong wrote:
> > >
> > > > Johannes Schindelin <[email-masked]> wrote:
> > > >
> > > > > And: if I want to track the latest mails in GitGitGadget, what indication
> > > > > will I have that I'll need to switch to `.../1`?
> > > >
> > > > You can use the gzipped JSON grokmirror manifest at:
> > > > https://lore.kernel.org/git/manifest.js.gz
> > > >
> > > > grokmirror could be a bit of a pain to install because of Python
> > > > dependencies, so periodically attempting to clone the next
> > > > numbered epoch ought to be fine, too.
> > > >
> > > > I've also considered adding epoch info into
> > > > https://lore.kernel.org/git/_/text/config/raw
> > > > so shell scripters w/o JSON parsers can use "git config"
> > >
> > > I just had a look at its contents:
> > >
> > > -- snip --
> > > ; example public-inbox config snippet for "git"
> > > ; see public-inbox-config(5) manpage for more details:
> > > ; https://public-inbox.org/public-inbox-config.html
> > > [publicinbox "git"]
> > > 	inboxdir = /path/to/top-level-inbox
> > > 	; note: public-inbox before v1.2.0 used "mainrepo"
> > > 	; instead of "inboxdir", both remain supported after 1.2
> > > 	mainrepo = /path/to/top-level-inbox
> > > 	address = [email-masked]
> > > 	listid = git.vger.kernel.org
> > > 	filter = PublicInbox::Filter::Mirror
> > > 	newsgroup = org.kernel.vger.git
> > > 	nntpmirror = nntp://nntp.lore.kernel.org/org.kernel.vger.git
> > > -- snap --
> > >
> > > Isn't `inboxdir` and `mainrepo` incorrect?
> >
> > How so?  It's fine to have both in case users need to downgrade
> > to older versions of public-inbox.
> 
> I must have misinterpreted the purpose of this URL, then. I thought that
> was the configuration of _this_ instance, and that I could use the path
> indicated by `mainrepo` to replace the `/_/text/config/raw` part of the
> URL to get to the repo URL.
> 
> Is this just a template file, then?

It's a config snippet that can be copy+pasted into
~/.public-inbox/config and edited to suit the local machine
(but also human-readable and git-config(1)-parseable)

Both "mainrepo" and "inboxdir" refer to local paths, not URLs,
currently.  But it would be nice to access inboxes over WebDAV
or similar :>

> > > And yes, adding `epoch` information there would be very welcome.
> >
> > Noted.  Not sure if the "modified" and "fingerprint" keys of
> > manifest would make sense there, too...
> 
> I have no idea what purpose they serve, so I have no opinion on this
> question.

They're timestamps and checksums used to reduce the cost of
checking multiple repos for updates.  It's hugely beneficial
when there's 100s or 1000s of repos to mirror.  grokmirror only
makes one HTTP request to get manifest.js.gz, and only runs
fetches for ones that need updating.

It's a less useful for git@vger since there's only one epoch,
currently; and checking for the existence of a next one (1.git)
isn't that expensive.