From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Cournoyer Subject: Re: Adopt a patch! Date: Fri, 22 Sep 2017 15:45:04 -0400 Message-ID: <87efqyy0u7.fsf@gmail.com> References: <87h8vw2lfz.fsf@elephly.net> <87d16k86aj.fsf@gmail.com> <87mv5npzdq.fsf@elephly.net> <20170922.124224.309712304599155906.post@thomasdanckaert.be> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53905) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dvTsu-0004cQ-0i for guix-devel@gnu.org; Fri, 22 Sep 2017 15:45:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dvTsq-0008IF-Oz for guix-devel@gnu.org; Fri, 22 Sep 2017 15:45:12 -0400 Received: from mail-io0-x242.google.com ([2607:f8b0:4001:c06::242]:37366) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dvTsq-0008G8-K6 for guix-devel@gnu.org; Fri, 22 Sep 2017 15:45:08 -0400 Received: by mail-io0-x242.google.com with SMTP id 93so263685iol.4 for ; Fri, 22 Sep 2017 12:45:07 -0700 (PDT) In-Reply-To: <20170922.124224.309712304599155906.post@thomasdanckaert.be> (Thomas Danckaert's message of "Fri, 22 Sep 2017 12:42:24 +0200 (CEST)") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Thomas Danckaert Cc: guix-devel@gnu.org Hi Thomas, Thomas Danckaert writes: > I don't mind the e-mail-based workflow in principle, and find it has > some advantages, but there are a few practical issues. I'll list my > frustrations, maybe there are concrete solutions for some of them: > > - I find that saving a long patch series from a bunch of e-mails, and > applying them all to a local git checkout is tedious, with a lot of > potential to miss a patch, apply a wrong one, or otherwise screw up > (not to mention patches occasionally get mangled somewhere in the > e-mail pipeline, so git won't apply them). Also, sometimes patches > are in the message body, at other times they are attachments, > ... It *is* a lot of error-prone manual work, compared to just > fetching a branch with git. I think this is where the =E2=80=9Cglossy > interfaces of Github & co.=E2=80=9D do have an advantage. > > Perhaps there are better ways to deal with this, though... Am I > missing some tricks to easily retrieve a bunch of patches from > e-mails, and apply them? Maybe a tutorial by someone who finds the > current workflow comfortable, could already help. In Gnus, with the cursor on the body of a message, you can pipe the patch-in-body using the `|' shortcut or M-x gnus-summary-pipe-output and then giving it the command "git am -s" as Ludovic pointed out some time ago. It works the same if you place the cursor on a MIME (attachment) object. You can also apply multiple patches in a row by giving it a prefix argument (e.g. C-u N |) to apply N patches from N messages (haven't tried that one yet but it's documented, see C-h f gnus-summary-pipe-output). I intend to script this method in Elisp so that would deal with both types of patches (in-body/as-attachment) transparently but haven't gotten around it just yet. I packaged the very old emacs-dvc thinking it could help in doing that but it doesn't, so haven't bothered releasing it. > The other issue is that, in my opinion, the only user-friendly way to > interact with debbugs, is using emacs + debbugs-gnu, once you are > familiar with both. I think that's a really high barrier. > > - I briefly subscribed to the guix-patches mailing list, but found the > volume of e-mail much too high. > - That leaves debbugs. I find the web interface quite terrible, it's > just walls of text you have to find your way through. For example, > Github's =E2=80=9Cissues=E2=80=9D are much more readable (and you can = interact with > them via e-mail, too). > - The debbugs emacs interface is quite ok (at least there's a threaded > conversation view), although now you have to learn to use Gnus if > you want to participate in the conversation. I can highly recommend Gnus to get some hold of high mailing list traffic. Expiry is a nifty way to storm through the mails, and there's always the last resort 'c' catchup that will put you back on top of things after coming back from a long weekend. Maxim