Re: Working with public-inbox.org [Was: [PATCH] rev-parse: respect core.hooksPath in --git-path]
From: Eric Wong <hidden>
Date: 2016-08-24 18:57:51
Johannes Schindelin [off-list ref] wrote:
Hi Arif, On Tue, 23 Aug 2016, Arif Khokar wrote:quoted
On 08/20/2016 03:57 PM, Jakub Narębski wrote:quoted
But perhaps the problem is current lack of tooling in the opposite direction, namely getting patches from mailing list and applying them to GitHub repo, or Bitbucket, or GitLab. Though with working Git, it is something easier than sending patches via email; it is enough that email client can save email to a file (or better, whole sub-thread to file or files).Given that public-inbox provides an NNTP interface, couldn't the ARTICLE <message-id> NNTP command be used to easily retrieve the messages in a given patch series (at least compared to POP or IMAP). Perhaps git-send-email could be modified to include the message-id value of each patch in the series that it sends to the mailing list and include it in the cover letter.
I think that makes sense; perhaps an X-Git-Followups: header from send-email which lists the child Message-IDs the same way References: does for ancestors. (perhaps there's already a standardized header for listing children) I thought about allowing a giant MIME message with all the patches attached, too but that won't work for a large patch series due to size limits along various SMTP hops. Compression might make spam filters unhappy, too.
I am no expert in the NNTP protocol (I abandoned News long ago), but if you go from HTML, you can automate the process without requiring changes in format-patch.quoted
Then a script could be written (i.e., git-download-patch) which could parse the cover letter message (specified using its message-id), and download all the patches in series, which can then be applied using git-am. This would in fact take the email client out of the equation in terms of saving patches.
w3m -dump -dump_source nntp://<NNTP-server>/<Message-ID> ought to already work for news.gmane.org and news.public-inbox.org The Net::NNTP Perl module is a standard part of the Perl distro for many years, now (along with Net::SMTP), so that would not be a roadblock for implementing a custom downloader distributed with git.
I recently adapted an old script I had to apply an entire patch series given the GMane link to its cover letter: https://github.com/git-for-windows/build-extra/blob/master/apply-from-gmane.sh Maybe you find it in you to adapt that to work with public-inbox.org?
I would be hesitant to depend too much on public-inbox.org until more mirrors appear. Even then, NNTP is a better-established protocol and a fallback to news.gmane still works. (public-inbox.org is powered by hamsters running on wheels, sometimes I let them rest :)