unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Mekeor Melire <mekeor@posteo.de>
To: Kyle Meyer <kyle@kyleam.com>
Cc: zimoun <zimon.toutoune@gmail.com>, help-guix@gnu.org
Subject: Re: This is how you import a mailing list archives (e.g. guix-patches) into mu4e
Date: Wed, 07 Dec 2022 02:19:26 +0000	[thread overview]
Message-ID: <87wn74kkxl.fsf@posteo.de> (raw)
In-Reply-To: <87y1rlfinp.fsf@kyleam.com>

[-- Attachment #1: Type: text/plain, Size: 3936 bytes --]

2022-12-05 20:03 kyle@kyleam.com:

> On 12/05/22 09:45:41 +0100, zimoun wrote:

> > Personally, I use “git clone” from a public-inbox instance [1].
> >
> >     git clone --mirror https://yhetil.org/guix-patches/1 \
> >               guix-patches/git/1.git
> >
> > where ’1’ can be also replace by ’0’ for the very old ones.
>
> In the case of guix-patches, there's not a 0.git.  I started it at 1.git
> to leave open the possibility of adding 0.git with the messages I was
> missing from the beginning of the list's history (from Feb 12, 2017 to
> March 27, 2017).  I'm not sure I'm ever going to do so at this point
> and, even if I did, reserving 0.git doesn't have much advantage over
> just adding the old messages on top of the existing epoch, so I probably
> should have just started it at 0.git.
>
> > Then the conversion from Git commit to maildir is done by a small script
> > [2], where all the job reads:
> >
> > --8<---------------cut here---------------start------------->8---
> >     # Extract the message from each commit in the range and store it
> >     # in the Maildir for notmuch to consume.
> >     $git rev-list $range | while read sha; do
> >         # XXXX: fatal: path 'm' does not exist in <commit>
> >         # and it can also raise issues with notmuch, as:
> >         # Note: Ignoring non-mail file: $maildir/new/$sha
>
> A tree can either have m or d ("deleted" messages):
>
>   https://public-inbox.org/public-inbox-v2-format.html
>
> So you should be able to avoid this error by skipping d's.
>
> > 	$git show $sha:m > $maildir/new/$sha
> >     done
> > --8<---------------cut here---------------end--------------->8---
> >
> > (Maybe better could be done and more robust are around.)
>
> No need to change what works, of course, but
> https://public-inbox.org/clients.html mentions l2md and impibe as tools
> for converting public-inbox archives to Maildir.
>
>  * https://git.kernel.org/pub/scm/linux/kernel/git/dborkman/l2md.git
>  * https://leahneukirchen.org/dotfiles/bin/impibe
>
> In terms of cloning archives, plain cloning and fetching with Git is
> fine, but, if you have public-inbox locally, you can instead use
> public-inbox-clone and public-inbox-fetch, which will handle some
> details for you (e.g, cloning underlying epochs and recognizing that new
> epochs have been added):
>
>  $ public-inbox-clone https://yhetil.org/guix-patches
>
> Another option for fetching that's nice if you're mirror multiple repos
> is grokmirror:
>
>  * https://git.kernel.org/pub/scm/utils/grokmirror/grokmirror.git/about/
>  * example setup for guix: https://yhetil.org/guix-patches/878scww903.fsf@kyleam.com/
>
> Both grokmirror and public-inbox-clone/fetch make use of the manifests
> that are published for public-inbox archives:
>
>   $ curl -fSsL https://yhetil.org/manifest.js.gz | gzip -d | \
>     jq -r 'keys | .[] | select(contains("guix"))'
>   /guix-bugs/git/0.git
>   /guix-devel/git/0.git
>   /guix-patches/git/1.git
>   /guix-science/git/0.git
>   /guix-user/git/0.git
>
> Then there's of course also public-inbox's lei (local email interface).
> I won't get into that, but, for anyone interested, here are messages
> where I've given some examples:
>
>  * https://yhetil.org/emacs-devel/87wnh22w7o.fsf@kyleam.com
>  * https://yhetil.org/guix-devel/87y1zcljq3.fsf@kyleam.com

Thank you both for sharing your approaches.

As I personally use isync / mbsync to fetch the emails of my
email-accounts via IMAP into maildirs (which I then proceed to index
with mu and read with mu4e), I prefer to use the same tech stack to
fetch the mailing-list archives. And I now accomplished this with the
attached isync-configuration. Note that, as Kyle noted, I needed to use
the "0" path sometimes, and the "1" path other times. Also, you might
want to set and adapt MaxMessages to fit your needs.


[-- Attachment #2: isync-config --]
[-- Type: text/plain, Size: 2064 bytes --]

IMAPAccount guix-bugs
Host news.yhetil.org
User arbitrary
AuthMechs ANONYMOUS
SSLType IMAPS
SSLVersions TLSv1.2

IMAPStore guix-bugs-remote
Account guix-bugs

MaildirStore guix-bugs-local
Inbox /home/user/path/to/maildirs/guix-bugs/inbox
Path /home/user/path/to/maildirs/guix-bugs/
SubFolders Verbatim

Channel guix-bugs
Far :guix-bugs-remote:yhetil.gnu.guix.bugs.0
Near :guix-bugs-local:
CopyArrivalDate yes
Create Near
ExpireUnread yes
# MaxMessages 100000
Sync Pull
SyncState *

IMAPAccount guix-devel
Host news.yhetil.org
User arbitrary
AuthMechs ANONYMOUS
SSLType IMAPS
SSLVersions TLSv1.2

IMAPStore guix-devel-remote
Account guix-devel

MaildirStore guix-devel-local
Inbox /home/user/path/to/maildirs/guix-devel/inbox
Path /home/user/path/to/maildirs/guix-devel/
SubFolders Verbatim

Channel guix-devel
Far :guix-devel-remote:yhetil.gnu.guix.devel.1
Near :guix-devel-local:
CopyArrivalDate yes
Create Near
ExpireUnread yes
# MaxMessages 100000
Sync Pull
SyncState *

IMAPAccount guix-help
Host news.yhetil.org
User arbitrary
AuthMechs ANONYMOUS
SSLType IMAPS
SSLVersions TLSv1.2

IMAPStore guix-help-remote
Account guix-help

MaildirStore guix-help-local
Inbox /home/user/path/to/maildirs/guix-help/inbox
Path /home/user/path/to/maildirs/guix-help/
SubFolders Verbatim

Channel guix-help
Far :guix-help-remote:yhetil.gnu.guix.user.0
Near :guix-help-local:
CopyArrivalDate yes
Create Near
ExpireUnread yes
# MaxMessages 100000
Sync Pull
SyncState *

IMAPAccount guix-patches
Host news.yhetil.org
User arbitrary
AuthMechs ANONYMOUS
SSLType IMAPS
SSLVersions TLSv1.2

IMAPStore guix-patches-remote
Account guix-patches

MaildirStore guix-patches-local
Inbox /home/user/path/to/maildirs/guix-patches/inbox
Path /home/user/path/to/maildirs/guix-patches/
SubFolders Verbatim

Channel guix-patches
Far :guix-patches-remote:yhetil.gnu.guix.patches.1
Near :guix-patches-local:
CopyArrivalDate yes
Create Near
ExpireUnread yes
# MaxMessages 100000
Sync Pull
SyncState *

Group mailing-lists
Channel guix-bugs
Channel guix-devel
Channel guix-help
Channel guix-patches

      parent reply	other threads:[~2022-12-07  2:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-16 23:04 This is how you import a mailing list archives (e.g. guix-patches) into mu4e Mekeor Melire
2022-11-16 23:22 ` jbranso
2022-11-16 23:41   ` Mekeor Melire
2022-12-04 20:16     ` Mekeor Melire
2022-12-05 15:39       ` Joshua Branson
2022-12-05  8:45 ` zimoun
2022-12-05 21:43   ` Mekeor Melire
2022-12-06 11:33     ` zimoun
2022-12-07  2:27       ` Mekeor Melire
2022-12-07 10:33         ` zimoun
2022-12-06  1:03   ` Kyle Meyer
2022-12-06 12:03     ` zimoun
2022-12-07  2:02       ` Kyle Meyer
2022-12-07 10:38         ` zimoun
2022-12-07  2:19     ` Mekeor Melire [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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wn74kkxl.fsf@posteo.de \
    --to=mekeor@posteo.de \
    --cc=help-guix@gnu.org \
    --cc=kyle@kyleam.com \
    --cc=zimon.toutoune@gmail.com \
    /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 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).