zimoun writes: > I fetch from yhetil.org (Git) and then convert to MailDir because I use > Notmuch as indexer (and reader :-)). And I do not want to duplicate the > storage. Therefore, after fetching and converting, the Git repo is > garbage collected, > > --8<---------------cut here---------------start------------->8--- > echo $head > $gitdir/shallow > $git gc --quiet --prune=all > --8<---------------cut here---------------end--------------->8--- > > https://gitlab.com/zimoun/my-conf/-/blob/master/.local/bin/sync-public-inboxes.sh#L94-99 > > For instance, the current size of guix-patches on my machine is 152K > compared to the complete guix-patches Git repo of 277M.
Nice. Maintaining a shallow clone certainly makes sense. > Well, I have not investigated much with ’grokmirror’ and > ’public-inbox-fetch’ and maybe it would also work smoothly with the same > trick; avoiding many manual plumbing. I haven't used it myself (unsurprisingly I have an interest in keeping yhetil.org's inboxes replicated on my local machine), but I think you can keep grokmirror clones shallow by hooking up its grok-pi-piper to the post-update hook. Here's a relevant bit from grokmirror's docs: --8<---------------cut here---------------start------------->8--- [DEFAULT] # To start piping public-inbox messages into your inbox, simply # install procmail and add the following line to your ~/.procmailrc: # DEFAULT=$HOME/Maildir/ # You can now read your mail with "mutt -f ~/Maildir/" pipe = /usr/bin/procmail # Once you've successfully piped the messages, you generally # don't need them any more. If you set shallow = yes, then # the repository will be configured as "shallow" and all succesffully # processed messages will be pruned from the repo. # This will greatly reduce disk space usage, especially on large archives. # You can always get any number of them back, e.g. by running: # git fetch _grokmirror master --deepen 100 shallow = yes --8<---------------cut here---------------end--------------->8---