* Re: Large delays in mailing list delivery?
[not found] ` <20211203202427.o575sgrx4auqkmjp@meerkat.local>
@ 2021-12-06 16:12 ` Ævar Arnfjörð Bjarmason
2021-12-06 16:36 ` Eric Wong
0 siblings, 1 reply; 4+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2021-12-06 16:12 UTC (permalink / raw)
To: Konstantin Ryabitsev
Cc: Elijah Newren, Git Mailing List, Derrick Stolee, meta
On Fri, Dec 03 2021, Konstantin Ryabitsev wrote:
> On Fri, Dec 03, 2021 at 09:02:48PM +0100, Ævar Arnfjörð Bjarmason wrote:
>> When I've experienced delays (sometimes of half a day or more) both
>> https://public-inbox.org/git/ and https://lore.kernel.org/git/ have been
>> updated.
>
> Btw, you can source lore.kernel.org straight into your gmail inbox. :)
>
> https://people.kernel.org/monsieuricon/lore-lei-part-1-getting-started
> https://people.kernel.org/monsieuricon/lore-lei-part-2-now-with-imap
>
> Or, you can read it via nntp://nntp.lore.kernel.org/.
[CC'd meta@public-inbox.org, probably best to move this thread over
there sooner than later, but CC'ing git@ still in case this is
interesting to others]
I poked a bit at setting this up but couldn't find from building
public-inbox.org & trying to page through the docs how I'd get from an
existing public-inbox.org/git/ checkout to a local Maildir.
If you could share some recipe or a pointer to the right docs for that
that would be much appreciated. Thanks!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Large delays in mailing list delivery?
2021-12-06 16:12 ` Large delays in mailing list delivery? Ævar Arnfjörð Bjarmason
@ 2021-12-06 16:36 ` Eric Wong
2022-02-02 9:34 ` Using public-inbox+lei+Emacs+mu+mu4e (was: Large delays in mailing list delivery?) Ævar Arnfjörð Bjarmason
0 siblings, 1 reply; 4+ messages in thread
From: Eric Wong @ 2021-12-06 16:36 UTC (permalink / raw)
To: Ævar Arnfjörð Bjarmason
Cc: Konstantin Ryabitsev, Elijah Newren, git, Derrick Stolee, meta
Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
> On Fri, Dec 03 2021, Konstantin Ryabitsev wrote:
>
> > On Fri, Dec 03, 2021 at 09:02:48PM +0100, Ævar Arnfjörð Bjarmason wrote:
> >> When I've experienced delays (sometimes of half a day or more) both
> >> https://public-inbox.org/git/ and https://lore.kernel.org/git/ have been
> >> updated.
> >
> > Btw, you can source lore.kernel.org straight into your gmail inbox. :)
> >
> > https://people.kernel.org/monsieuricon/lore-lei-part-1-getting-started
> > https://people.kernel.org/monsieuricon/lore-lei-part-2-now-with-imap
> >
> > Or, you can read it via nntp://nntp.lore.kernel.org/.
>
> [CC'd meta@public-inbox.org, probably best to move this thread over
> there sooner than later, but CC'ing git@ still in case this is
> interesting to others]
>
> I poked a bit at setting this up but couldn't find from building
> public-inbox.org & trying to page through the docs how I'd get from an
> existing public-inbox.org/git/ checkout to a local Maildir.
Existing, public-inboxes can be set as "externals" and managed
via {add,forget,ls}-external sub-commands:
# for locally-cloned inboxes:
public-inbox-index /path/to/existing/inbox
lei add-external /path/to/existing/inbox
# relies on curl, memoizes data downloaded for each search:
lei add-external https://yhbt.net/lore/git
Local externals will be included by every "lei q" invocation;
HTTP(S) ones require "lei q --remote"
If you only want to use an external as a one-off without adding
it, the -I/--include and -O/--only flags are useful:
lei q -O https://yhbt.net/lore/git -o /tmp/results SEARCH_TERMS
> If you could share some recipe or a pointer to the right docs for that
> that would be much appreciated. Thanks!
lei-overview(7) manpage documents some things, at least:
https://public-inbox.org/lei-overview.html Patches welcome :>
IMHO lei still kinda sucks, and I probably won't have time to
work on it for a bit :<
^ permalink raw reply [flat|nested] 4+ messages in thread
* Using public-inbox+lei+Emacs+mu+mu4e (was: Large delays in mailing list delivery?)
2021-12-06 16:36 ` Eric Wong
@ 2022-02-02 9:34 ` Ævar Arnfjörð Bjarmason
2022-02-07 21:27 ` Eric Wong
0 siblings, 1 reply; 4+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-02-02 9:34 UTC (permalink / raw)
To: Eric Wong; +Cc: Konstantin Ryabitsev, Elijah Newren, git, Derrick Stolee, meta
On Mon, Dec 06 2021, Eric Wong wrote:
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
>> On Fri, Dec 03 2021, Konstantin Ryabitsev wrote:
>>
>> > On Fri, Dec 03, 2021 at 09:02:48PM +0100, Ævar Arnfjörð Bjarmason wrote:
>> >> When I've experienced delays (sometimes of half a day or more) both
>> >> https://public-inbox.org/git/ and https://lore.kernel.org/git/ have been
>> >> updated.
>> >
>> > Btw, you can source lore.kernel.org straight into your gmail inbox. :)
>> >
>> > https://people.kernel.org/monsieuricon/lore-lei-part-1-getting-started
>> > https://people.kernel.org/monsieuricon/lore-lei-part-2-now-with-imap
>> >
>> > Or, you can read it via nntp://nntp.lore.kernel.org/.
>>
>> [CC'd meta@public-inbox.org, probably best to move this thread over
>> there sooner than later, but CC'ing git@ still in case this is
>> interesting to others]
>>
>> I poked a bit at setting this up but couldn't find from building
>> public-inbox.org & trying to page through the docs how I'd get from an
>> existing public-inbox.org/git/ checkout to a local Maildir.
>
> Existing, public-inboxes can be set as "externals" and managed
> via {add,forget,ls}-external sub-commands:
>
> # for locally-cloned inboxes:
> public-inbox-index /path/to/existing/inbox
> lei add-external /path/to/existing/inbox
>
> # relies on curl, memoizes data downloaded for each search:
> lei add-external https://yhbt.net/lore/git
>
> Local externals will be included by every "lei q" invocation;
> HTTP(S) ones require "lei q --remote"
>
> If you only want to use an external as a one-off without adding
> it, the -I/--include and -O/--only flags are useful:
>
> lei q -O https://yhbt.net/lore/git -o /tmp/results SEARCH_TERMS
>
>> If you could share some recipe or a pointer to the right docs for that
>> that would be much appreciated. Thanks!
>
> lei-overview(7) manpage documents some things, at least:
> https://public-inbox.org/lei-overview.html Patches welcome :>
>
> IMHO lei still kinda sucks, and I probably won't have time to
> work on it for a bit :<
Thanks. I finally got around to setting this up.
The above instructions didn't quite work for me, but here's what I did
(in the form of a script lifted from a screen(1) config I've
got). Indented with un-indented comments. The "stuff" is screen's way of
"run this command" (or well, input these characters):
I had a ~/g/git-ml clone already, but this makes one:
stuff "cd ~/g/git-ml || git clone https://public-inbox.org/git ~/g/git-ml^M"
The initial index:
## This will create a .git/publici-inbox in ~/g/git-ml. Takes a while
## the first time.
stuff "time public-inbox-index -v \$PWD^M"
I fiddled with this for a bit because it refused to work, turns out it
was missing the .git at the end, i.e. it expected a bare repo[1]:
## When we add the lei external it *must* have the ".git" part,
## because it'll try to find the "public-inbox" folder at wherever we
## point it.
stuff "test -d ~/.config/lei || lei add-external ~/g/git-ml/.git^M"
A bit of a UX wart not to be able to specify no --limit, or maybe I'm
missing a way:
## The one-off massive import of the Git ML. TODO: No way to specify
## an infinite limit? Not --no-limit or --limit=0.
stuff "test -d ~/Maildir/lei-q-git-ml || time lei q --limit=999999999 -v -o ~/Maildir/lei-q-git-ml l:git.vger.kernel.org^M"
The initial indexing:
## After the one-off import this will take forever *the first time*
## (or around 20m), but subsequent invocations will be fast:
stuff "time lei up ~/Maildir/lei-q-git-ml^M"
Runs an ad-hoc script to keep it up-to-date, which is quoted below:
## Run it in a loop
stuff "public-inbox-lei-pull-index^M"
That script (which I whipped up just now. Is there a better/more
standard way? to keep a public-inbox+lei pair up-to-date with
sleep/backoff etc?
#!/bin/sh
set -xe
repo=~/g/git-ml
while true
do
oid=$(git -C $repo rev-parse HEAD)
git -C $repo pull
noid=$(git -C $repo rev-parse HEAD)
if test "$oid" = "$noid"
then
echo Nothing to update
sleep 60
continue
fi
(
cd $repo &&
public-inbox-index -v "$PWD"
)
lei up ~/Maildir/lei-q-git-ml
sleep 1
done
I use Emacs+mu4e for my E-Mail. And since I index ~/Maildir having these
files dropped in there will be added to its index. Then I just changed
my saved search to also look through that maildir (I guess the entire
first condition could be dropped, but whatever):
"(maildir:/personal-gmail/* OR maildir:/lei-q-git-ml/*) AND list:git.vger.kernel.org OR recip:git@vger.kernel.org OR recip:git-packagers@googlegroups.com"
Because "mu" is generally good about de-duplicating stuff I've now got
an inbox with mixed messages I can sync from GMail (including my "Sent"
folder), and I get up-to-the-minute ML traffic now (it's bee 10hrs-4day
delayed for 3-4 months at least).
So new messages are generally from the "lei" directory, but when I send
one it'll be dropped in the personal-gmail.
I still need to check if it's doing the wrong thing with e.g. "read"
flags if I read a mail synced via lei that later arrives in GMail. But I
mostly don't use "read" statuses anyway...
1. Maybe this "I only tested if it complied" patch would make sense to catch that?
diff --git a/lib/PublicInbox/LeiXSearch.pm b/lib/PublicInbox/LeiXSearch.pm
index 2958d3f9..be49621f 100644
--- a/lib/PublicInbox/LeiXSearch.pm
+++ b/lib/PublicInbox/LeiXSearch.pm
@@ -613,7 +613,7 @@ sub add_uri {
}
}
-sub prepare_external {
+sub _prepare_external {
my ($self, $loc, $boost) = @_; # n.b. already ordered by boost
if (ref $loc) { # already a URI, or PublicInbox::Inbox-like object
return add_uri($self, $loc) if $loc->can('scheme');
@@ -638,6 +638,14 @@ sub prepare_external {
push @{$self->{locals}}, $loc;
}
+sub prepare_external {
+ my ($self, $loc, $boost) = @_;
+ my $ret = _prepare_external($self, $loc, $boost);
+ warn "W: we got nothing from $loc, did you mean $loc/.git?"
+ if !$ret && -e "$loc/.git";
+ return $ret;
+}
+
sub _lcat_i { # LeiMailSync->each_src iterator callback
my ($oidbin, $id, $each_smsg) = @_;
$each_smsg->({blob => unpack('H*', $oidbin), pct => 100});
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: Using public-inbox+lei+Emacs+mu+mu4e (was: Large delays in mailing list delivery?)
2022-02-02 9:34 ` Using public-inbox+lei+Emacs+mu+mu4e (was: Large delays in mailing list delivery?) Ævar Arnfjörð Bjarmason
@ 2022-02-07 21:27 ` Eric Wong
0 siblings, 0 replies; 4+ messages in thread
From: Eric Wong @ 2022-02-07 21:27 UTC (permalink / raw)
To: Ævar Arnfjörð Bjarmason
Cc: Konstantin Ryabitsev, Elijah Newren, git, Derrick Stolee, meta
Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
> On Mon, Dec 06 2021, Eric Wong wrote:
> > Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
> >> On Fri, Dec 03 2021, Konstantin Ryabitsev wrote:
> >>
> >> > On Fri, Dec 03, 2021 at 09:02:48PM +0100, Ævar Arnfjörð Bjarmason wrote:
> >> >> When I've experienced delays (sometimes of half a day or more) both
> >> >> https://public-inbox.org/git/ and https://lore.kernel.org/git/ have been
> >> >> updated.
> >> >
> >> > Btw, you can source lore.kernel.org straight into your gmail inbox. :)
> >> >
> >> > https://people.kernel.org/monsieuricon/lore-lei-part-1-getting-started
> >> > https://people.kernel.org/monsieuricon/lore-lei-part-2-now-with-imap
> >> >
> >> > Or, you can read it via nntp://nntp.lore.kernel.org/.
> >>
> >> [CC'd meta@public-inbox.org, probably best to move this thread over
> >> there sooner than later, but CC'ing git@ still in case this is
> >> interesting to others]
> >>
> >> I poked a bit at setting this up but couldn't find from building
> >> public-inbox.org & trying to page through the docs how I'd get from an
> >> existing public-inbox.org/git/ checkout to a local Maildir.
> >
> > Existing, public-inboxes can be set as "externals" and managed
> > via {add,forget,ls}-external sub-commands:
> >
> > # for locally-cloned inboxes:
> > public-inbox-index /path/to/existing/inbox
> > lei add-external /path/to/existing/inbox
> >
> > # relies on curl, memoizes data downloaded for each search:
> > lei add-external https://yhbt.net/lore/git
> >
> > Local externals will be included by every "lei q" invocation;
> > HTTP(S) ones require "lei q --remote"
> >
> > If you only want to use an external as a one-off without adding
> > it, the -I/--include and -O/--only flags are useful:
> >
> > lei q -O https://yhbt.net/lore/git -o /tmp/results SEARCH_TERMS
> >
> >> If you could share some recipe or a pointer to the right docs for that
> >> that would be much appreciated. Thanks!
> >
> > lei-overview(7) manpage documents some things, at least:
> > https://public-inbox.org/lei-overview.html Patches welcome :>
> >
> > IMHO lei still kinda sucks, and I probably won't have time to
> > work on it for a bit :<
>
> Thanks. I finally got around to setting this up.
>
> The above instructions didn't quite work for me, but here's what I did
> (in the form of a script lifted from a screen(1) config I've
> got). Indented with un-indented comments. The "stuff" is screen's way of
> "run this command" (or well, input these characters):
>
> I had a ~/g/git-ml clone already, but this makes one:
>
> stuff "cd ~/g/git-ml || git clone https://public-inbox.org/git ~/g/git-ml^M"
Wait, lack of --mirror or --bare for git-clone on any
public-inbox is a big mistake in terms of inode+disk use
> The initial index:
>
> ## This will create a .git/publici-inbox in ~/g/git-ml. Takes a while
> ## the first time.
> stuff "time public-inbox-index -v \$PWD^M"
>
> I fiddled with this for a bit because it refused to work, turns out it
> was missing the .git at the end, i.e. it expected a bare repo[1]:
>
> ## When we add the lei external it *must* have the ".git" part,
> ## because it'll try to find the "public-inbox" folder at wherever we
> ## point it.
> stuff "test -d ~/.config/lei || lei add-external ~/g/git-ml/.git^M"
Yeah, public-inbox has never supported non-bare usage.
> A bit of a UX wart not to be able to specify no --limit, or maybe I'm
> missing a way:
>
> ## The one-off massive import of the Git ML. TODO: No way to specify
> ## an infinite limit? Not --no-limit or --limit=0.
> stuff "test -d ~/Maildir/lei-q-git-ml || time lei q --limit=999999999 -v -o ~/Maildir/lei-q-git-ml l:git.vger.kernel.org^M"
Oops. --no-limit or --limit=0 or --limit=-1 support will be
added at some point...
> The initial indexing:
>
> ## After the one-off import this will take forever *the first time*
> ## (or around 20m), but subsequent invocations will be fast:
> stuff "time lei up ~/Maildir/lei-q-git-ml^M"
>
> Runs an ad-hoc script to keep it up-to-date, which is quoted below:
>
> ## Run it in a loop
> stuff "public-inbox-lei-pull-index^M"
>
> That script (which I whipped up just now. Is there a better/more
> standard way? to keep a public-inbox+lei pair up-to-date with
> sleep/backoff etc?
Not yet, unfortunately. I would like to have some sort of
long-polling support (similar to IDLE in IMAP) because I hate
sleep/backoff. But I don't think I'm physically nor mentally
capable of doing that or much of anything, anymore.
> #!/bin/sh
> set -xe
>
> repo=~/g/git-ml
> while true
> do
> oid=$(git -C $repo rev-parse HEAD)
> git -C $repo pull
> noid=$(git -C $repo rev-parse HEAD)
> if test "$oid" = "$noid"
> then
> echo Nothing to update
> sleep 60
> continue
> fi
> (
> cd $repo &&
> public-inbox-index -v "$PWD"
> )
> lei up ~/Maildir/lei-q-git-ml
> sleep 1
> done
>
> I use Emacs+mu4e for my E-Mail. And since I index ~/Maildir having these
> files dropped in there will be added to its index. Then I just changed
> my saved search to also look through that maildir (I guess the entire
> first condition could be dropped, but whatever):
>
> "(maildir:/personal-gmail/* OR maildir:/lei-q-git-ml/*) AND list:git.vger.kernel.org OR recip:git@vger.kernel.org OR recip:git-packagers@googlegroups.com"
>
> Because "mu" is generally good about de-duplicating stuff I've now got
> an inbox with mixed messages I can sync from GMail (including my "Sent"
> folder), and I get up-to-the-minute ML traffic now (it's bee 10hrs-4day
> delayed for 3-4 months at least).
>
> So new messages are generally from the "lei" directory, but when I send
> one it'll be dropped in the personal-gmail.
>
> I still need to check if it's doing the wrong thing with e.g. "read"
> flags if I read a mail synced via lei that later arrives in GMail. But I
> mostly don't use "read" statuses anyway...
lei can export flags from its internal DBs to IMAP via "lei export-kw"
see lei-mail-sync-overview(7) for some details, but usability is still
rough...
> 1. Maybe this "I only tested if it complied" patch would make sense to catch that?
>
> diff --git a/lib/PublicInbox/LeiXSearch.pm b/lib/PublicInbox/LeiXSearch.pm
> index 2958d3f9..be49621f 100644
> --- a/lib/PublicInbox/LeiXSearch.pm
> +++ b/lib/PublicInbox/LeiXSearch.pm
> @@ -613,7 +613,7 @@ sub add_uri {
> }
> }
>
> -sub prepare_external {
> +sub _prepare_external {
> my ($self, $loc, $boost) = @_; # n.b. already ordered by boost
> if (ref $loc) { # already a URI, or PublicInbox::Inbox-like object
> return add_uri($self, $loc) if $loc->can('scheme');
> @@ -638,6 +638,14 @@ sub prepare_external {
> push @{$self->{locals}}, $loc;
> }
>
> +sub prepare_external {
> + my ($self, $loc, $boost) = @_;
> + my $ret = _prepare_external($self, $loc, $boost);
> + warn "W: we got nothing from $loc, did you mean $loc/.git?"
> + if !$ret && -e "$loc/.git";
> + return $ret;
> +}
Probably add a note saying non-bare repos are a terrible idea,
anyways, especially for v1 public-inboxes like public-inbox.org/git
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-02-07 21:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CABPp-BF_xsOpQ6GSaWs9u9JcnPQT_OXP-gCsAuxPtMj-X1tgOg@mail.gmail.com>
[not found] ` <211203.86sfv9qwdm.gmgdl@evledraar.gmail.com>
[not found] ` <20211203202427.o575sgrx4auqkmjp@meerkat.local>
2021-12-06 16:12 ` Large delays in mailing list delivery? Ævar Arnfjörð Bjarmason
2021-12-06 16:36 ` Eric Wong
2022-02-02 9:34 ` Using public-inbox+lei+Emacs+mu+mu4e (was: Large delays in mailing list delivery?) Ævar Arnfjörð Bjarmason
2022-02-07 21:27 ` Eric Wong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).