Re: make menuconfig interface for lei / grok-pull

2021-09-15 Thread Eric Wong
Btw, without having any externals on disk: lei q [OPTIONS] --only https://lore.kernel.org/linux-fsdevel/ SEARCH_TERMS... works, and I use it often. Perl^Wlei: there's more than one way to do it :> -- unsubscribe: one-click, see List-Unsubscribe header archive: https://public-inbox.org/meta/

[PATCH 2/3] lei ls-mail-source: sort IMAP folder names

2021-09-15 Thread Eric Wong
Otherwise, public-inbox-imapd will emit mailboxes in random order (as IMAP servers do not need to guarantee any sort of ordering). We'll take into account numeric slice numbers generated by -imapd if they exist, so slice "80" doesn't show up next to "8". --- lib/PublicInbox/LeiLsMailSource.pm |

[PATCH 3/3] imapd: sort LIST response

2021-09-15 Thread Eric Wong
While RFC 3501 doesn't require LIST responses be sorted, it makes reading protocol dumps easier and we memoize it once per-refresh, so it shouldn't be too expensive even with thousands of folders. --- lib/PublicInbox/IMAP.pm | 4 ++-- lib/PublicInbox/IMAPD.pm | 15 --- 2 files

[PATCH 0/3] IMAP and Tor .onion niceities

2021-09-15 Thread Eric Wong
Some things I noticed while writing a quick how-to on "lei ls-mail-source" and .onion usage in https://public-inbox.org/meta/20210915230605.GA22173@dcvr/ Eric Wong (3): net_reader: emit .onion help for potential Tor users lei ls-mail-source: sort IMAP folder names imapd: sort LIST response

[PATCH 1/3] inbox: streamline ->nntp_url

2021-09-15 Thread Eric Wong
We no longer waste a precious hash slot for a per-Inbox {nntpserver} if it's only configured globally for all inboxes. --- lib/PublicInbox/Config.pm | 4 ++-- lib/PublicInbox/Inbox.pm | 9 +++-- lib/PublicInbox/WwwText.pm | 4 ++-- t/config.t | 13 + 4 files

[PATCH 2/3] www: support publicinbox.imapserver

2021-09-15 Thread Eric Wong
This allows PublicInbox::WWW hosts to advertise the existence of IMAP servers in addition to NNTP servers. --- Documentation/public-inbox-config.pod | 28 +++--- lib/PublicInbox/Config.pm | 5 +- lib/PublicInbox/Inbox.pm | 80 ++-

[PATCH 0/3] www: support publicinbox.imapserver

2021-09-15 Thread Eric Wong
public-inbox-imapd seems to be holding up so far, so I guess it's safe to advertise... Eric Wong (3): inbox: streamline ->nntp_url www: support publicinbox.imapserver www_stream: note existence of IMAP and NNTP URLs Documentation/public-inbox-config.pod | 28 ++---

Re: make menuconfig interface for lei / grok-pull

2021-09-15 Thread Eric Wong
Kyle Meyer wrote: > A good chunk of the current documentation was fumbled together by me, so > I'm sure there are many spots for improvement but... No worries, my brain is a disorganized mess (always has been, but pandemic has made it worse) and I've realized a lot of my design choices around

Re: [PATCH 3/5] clone|fetch|--mirror: add convenience $INBOX_DIR/Makefile

2021-09-15 Thread Eric Wong
Kyle Meyer wrote: > Eric Wong writes: > > +# This Makefile will not modified nor read by public-inbox, > > missing "be" before "modified" Thanks, will squash the below in. Also, welcome back! diff --git a/lib/PublicInbox/LeiMirror.pm b/lib/PublicInbox/LeiMirror.pm index 749c6b7d..23a2156c

Re: make menuconfig interface for lei / grok-pull

2021-09-15 Thread Eric Wong
Luis Chamberlain wrote: > On Wed, Sep 15, 2021 at 09:44:20PM +, Eric Wong wrote: > > Luis Chamberlain wrote: > > > # The next two don't work > > > lei import import https://lore.kernel.org/linux-fsdevel/git/0.git > > > lei add-external git://lore.kernel.org/linux-fsdevel/git/0.git > > > >

Re: [PATCH 3/5] clone|fetch|--mirror: add convenience $INBOX_DIR/Makefile

2021-09-15 Thread Kyle Meyer
Eric Wong writes: > Since the beginning of time, I've been dropping Makefiles > in $INBOX_DIR (and above hiearchies) to organize groups > of commands. > > make(1) is widely available in various flavors and a familiar > tool for our target audience. It is easy to run in the right > directory,

Re: make menuconfig interface for lei / grok-pull

2021-09-15 Thread Kyle Meyer
Eric Wong writes: > Luis Chamberlain wrote: >> # The next two don't work >> lei import import https://lore.kernel.org/linux-fsdevel/git/0.git >> lei add-external git://lore.kernel.org/linux-fsdevel/git/0.git > > Apologies, I need to document this better. This should work: A good chunk of the

Re: make menuconfig interface for lei / grok-pull

2021-09-15 Thread Luis Chamberlain
On Wed, Sep 15, 2021 at 09:44:20PM +, Eric Wong wrote: > Luis Chamberlain wrote: > > # The next two don't work > > lei import import https://lore.kernel.org/linux-fsdevel/git/0.git > > lei add-external git://lore.kernel.org/linux-fsdevel/git/0.git > > Apologies, I need to document this

Re: make menuconfig interface for lei / grok-pull

2021-09-15 Thread Eric Wong
Luis Chamberlain wrote: > # The next two don't work > lei import import https://lore.kernel.org/linux-fsdevel/git/0.git > lei add-external git://lore.kernel.org/linux-fsdevel/git/0.git Apologies, I need to document this better. This should work: lei add-external --mirror

[PATCH 4/5] fetch|clone|--mirror: shorten paths for progress output

2021-09-15 Thread Eric Wong
The full pathname for "curl -o ..." was too noisy and confusing. Reduce confusion by adding the ".tmp" suffix and relying on "-C". We'll also avoid displaying "-C" in run_reap() and rely on "--git-dir=" with "git fetch" to display progress for users. --- lib/PublicInbox/Fetch.pm | 18

[PATCH 5/5] support -C (chdir) for most non-daemon commands

2021-09-15 Thread Eric Wong
Because make(1), git(1), tar(1) all support -C in this form, as do our newer commands such as lei, public-inbox-{clone,fetch}. --- script/public-inbox-compact | 3 ++- script/public-inbox-convert | 6 +++--- script/public-inbox-edit | 3 ++- script/public-inbox-extindex | 3 ++-

[PATCH 1/5] fetch: support --exit-code switch

2021-09-15 Thread Eric Wong
As noted in the new manpage entry, this is useful for avoiding public-inbox-index invocations when there's nothing to update. We use 127 to match "grok-pull", and also because it doesn't conflict with any of the current curl(1) exit codes. --- Documentation/public-inbox-fetch.pod | 30

[PATCH 2/5] TODO: update some items

2021-09-15 Thread Eric Wong
Some things (extindex) done, many more to do; and -fetch should set us up for v1 => v2 migrations at some point... --- TODO | 15 --- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/TODO b/TODO index a3ab2daf..f14e6c97 100644 --- a/TODO +++ b/TODO @@ -32,7 +32,7 @@ all

[PATCH 3/5] clone|fetch|--mirror: add convenience $INBOX_DIR/Makefile

2021-09-15 Thread Eric Wong
Since the beginning of time, I've been dropping Makefiles in $INBOX_DIR (and above hiearchies) to organize groups of commands. make(1) is widely available in various flavors and a familiar tool for our target audience. It is easy to run in the right directory, typically has built-in shell

[PATCH 0/5] make(1) inspired things

2021-09-15 Thread Eric Wong
make(1) is familiar to most, so maybe it'll help users learn unfamiliar with public-inbox-* stuff. Eric Wong (5): fetch: support --exit-code switch TODO: update some items clone|fetch|--mirror: add convenience $INBOX_DIR/Makefile fetch|clone|--mirror: shorten paths for progress output

make menuconfig interface for lei / grok-pull

2021-09-15 Thread Luis Chamberlain
Greetings, I unsubscribed to most mailing lists thanks to public-inbox. Thanks to public-inbox my inbox went on quite a bit of diet. Now, the way I work though is... I like to hop onto different systems every now and then, and not rely on one central place for everything. This is because when

Re: [PATCH] uri_imap: fix ->uidvalidity and ->uid w/ `/' separator

2021-09-15 Thread Konstantin Ryabitsev
On Wed, Sep 15, 2021 at 05:43:41PM +, Eric Wong wrote: > > The error is gone, but the saved search still doesn't show up when I run > > "lei ls-search". Looking in .local/share/lei/saved-searches, I see that they > > still get created as lore/foldername-${checksum}, which is probably why > >

Re: [PATCH] uri_imap: fix ->uidvalidity and ->uid w/ `/' separator

2021-09-15 Thread Eric Wong
Konstantin Ryabitsev wrote: > On Tue, Sep 14, 2021 at 10:10:36PM +, Eric Wong wrote: > > Konstantin Ryabitsev wrote: > > > 2021-09-14T20:59:12Z 20428 20428 die: BUG: > > > imaps://imap.migadu.com/lore/b4;UIDVALIDITY=1621977334 has no UIDVALIDITY > > > at

Re: [PATCH] uri_imap: fix ->uidvalidity and ->uid w/ `/' separator

2021-09-15 Thread Konstantin Ryabitsev
On Tue, Sep 14, 2021 at 10:10:36PM +, Eric Wong wrote: > Konstantin Ryabitsev wrote: > > 2021-09-14T20:59:12Z 20428 20428 die: BUG: > > imaps://imap.migadu.com/lore/b4;UIDVALIDITY=1621977334 has no UIDVALIDITY > > at /usr/local/share/perl/5.32.1/PublicInbox/LeiStore.pm line 313. > >

[PATCH] multi_git: hoist out common epoch/alternates handling

2021-09-15 Thread Eric Wong
IMHO, this greatly improves code sharing and organization between v2, extindex, and lei/store. Common git-related logic for these is lightly-refactored and easier to reason about. The impetus for this big change was to ensure inboxes created+managed by public-inbox-{clone,fetch} could have