From patchwork Sat Nov 14 00:39:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kyle Meyer X-Patchwork-Id: 25117 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 041FD27BBF6; Sat, 14 Nov 2020 00:40:33 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id C2DF727BBF4 for ; Sat, 14 Nov 2020 00:40:31 +0000 (GMT) Received: from localhost ([::1]:43630 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kdjcE-0006a5-T6 for patchwork@mira.cbaines.net; Fri, 13 Nov 2020 19:40:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39938) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kdjbm-0006Zf-HW for guix-patches@gnu.org; Fri, 13 Nov 2020 19:40:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:38015) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kdjbm-0003gG-7W for guix-patches@gnu.org; Fri, 13 Nov 2020 19:40:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kdjbm-00071n-4N for guix-patches@gnu.org; Fri, 13 Nov 2020 19:40:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#44625] [PATCH] gnu: Add b4. Resent-From: Kyle Meyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 14 Nov 2020 00:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 44625 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 44625@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.160531437526972 (code B ref -1); Sat, 14 Nov 2020 00:40:02 +0000 Received: (at submit) by debbugs.gnu.org; 14 Nov 2020 00:39:35 +0000 Received: from localhost ([127.0.0.1]:49561 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kdjbI-00070u-D3 for submit@debbugs.gnu.org; Fri, 13 Nov 2020 19:39:35 -0500 Received: from lists.gnu.org ([209.51.188.17]:60632) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kdjbD-00070i-E9 for submit@debbugs.gnu.org; Fri, 13 Nov 2020 19:39:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39900) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kdjbD-0006VU-5a for guix-patches@gnu.org; Fri, 13 Nov 2020 19:39:27 -0500 Received: from pb-smtp20.pobox.com ([173.228.157.52]:53905) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kdjbA-0003dp-49 for guix-patches@gnu.org; Fri, 13 Nov 2020 19:39:26 -0500 Received: from pb-smtp20.pobox.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id D13EEFD908; Fri, 13 Nov 2020 19:39:20 -0500 (EST) (envelope-from kyle@kyleam.com) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to :subject:date:message-id:mime-version:content-transfer-encoding; s=sasl; bh=SHT0gNR8sr8y3cRuexrNz4ikzSM=; b=a9YiYVYI7DZVDk78V+vH mtESL4O/RBB7h2RtJGW9wBXfXJe6iQmmQamPmsJFrIB/aNWu6I44kle1mmvHw6dj nV9sGrUgG/WtRQtA7WH40QQkhNfPUR5Y4xldGk0l9MsYQtTEQxfqogtsXnXMz8+R VhX+tqv520EiCVLU0S8nDYY= Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id BD9F4FD907; Fri, 13 Nov 2020 19:39:20 -0500 (EST) (envelope-from kyle@kyleam.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=kyleam.com; h=from:to:subject:date:message-id:mime-version:content-transfer-encoding; s=mesmtp; bh=AMpMFaGkAlD4RSwhbhm7PFUYReSQsWl9IwCo+iFsciU=; b=OML0r+PescDhLIq2oD+MJagbsXQvAwfqINJNJyh75n347cMkk2Ded91q1+rud/tWUhUKRdhx4VNAcFlKRnoIBQGYCz3MNmy58n8t3ENDwOhwb2D8GsOrrKalXufV2COV5VVDbvZONJRrGWG5fquKh3rhVfYWK/qVESFGFKrLlpM= Received: from localhost (unknown [45.33.91.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 144C2FD901; Fri, 13 Nov 2020 19:39:18 -0500 (EST) (envelope-from kyle@kyleam.com) From: Kyle Meyer Date: Fri, 13 Nov 2020 19:39:06 -0500 Message-Id: <20201114003906.25111-1-kyle@kyleam.com> X-Mailer: git-send-email 2.29.2.454.gaff20da3a2 MIME-Version: 1.0 X-Pobox-Relay-ID: D42DD702-2611-11EB-A210-E43E2BB96649-24757444!pb-smtp20.pobox.com Received-SPF: pass client-ip=173.228.157.52; envelope-from=kyle@kyleam.com; helo=pb-smtp20.pobox.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/13 19:39:21 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/version-control.scm (b4): New variable. --- b4 is focused on lore.kernel.org public-inbox archives, but it's useful for any public-inbox [1] instance, including yhetil.org/guix-patches :). Here's an example with a recent multi-patch thread that involves multiple versions. $ # in the guix repo $ git config b4.attestation-policy off $ git config b4.midmask https://yhetil.org/guix-patches/%s $ b4 am 20201028165112.28575-1-zimon.toutoune@gmail.com The end result is a filtered mbox with the v2 patches. Also, because the sender helpfully included the base commit, `b4 am' will use that information in the instructions that it outputs. If the above sounds useful to you but you'd prefer to work in Emacs, you might be interested in piem (), which includes a transient (i.e magit-popup's successor) interface to b4. [1] https://public-inbox.org/ gnu/packages/version-control.scm | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) base-commit: 4e9b2e8ba26dd601df67f112852237d5df2f3341 diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 16c70bd1a7..de7c961cea 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -2301,6 +2301,47 @@ (define-public grokmirror based on a manifest file published by servers.") (license license:gpl3+))) +(define-public b4 + (package + (name "b4") + (version "0.5.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.org/pub/scm/utils/b4/b4.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 "1w11fiyspyncz2m7njrjfylgzch4azi7560ngd8i733wvjjhg3mj")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; No tests. + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-manpages + (lambda* (#:key outputs #:allow-other-keys) + (let ((man (string-append (assoc-ref outputs "out") + "/man/man5/"))) + (mkdir-p man) + (for-each (lambda (file) (install-file file man)) + (find-files "man" "\\.[1-8]$"))) + #t))))) + (inputs + `(("python-requests" ,python-requests))) + (home-page "https://git.kernel.org/pub/scm/utils/b4/b4.git") + (synopsis "Tool for working with patches in public-inbox archives") + (description "The @code{b4} command is designed to make it easier to +participate in patch-based workflows for projects that have public-inbox +archives. Features include +@itemize +@item downloading a thread's mbox given a message ID +@item processing an mbox so that is ready to be fed to @code{git-am} +@item creating templated replies for processed patches and pull requests +@item submitting cryptographic attestation for patches. +@end itemize") + (license license:gpl2+))) + (define-public git-annex-remote-rclone (package (name "git-annex-remote-rclone")