From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:56510) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i9cjX-0005OT-PJ for guix-patches@gnu.org; Sun, 15 Sep 2019 18:11:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i9cjW-0003TV-Lg for guix-patches@gnu.org; Sun, 15 Sep 2019 18:11:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39975) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i9cjW-0003TK-IG for guix-patches@gnu.org; Sun, 15 Sep 2019 18:11:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1i9cjW-0007JV-CK for guix-patches@gnu.org; Sun, 15 Sep 2019 18:11:02 -0400 Subject: [bug#37413] [PATCH 0/9] Channel news distribution mechanism Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:56447) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i9cj0-0005LZ-8u for guix-patches@gnu.org; Sun, 15 Sep 2019 18:10:31 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Mon, 16 Sep 2019 00:10:21 +0200 Message-Id: <20190915221021.4165-1-ludo@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 37413@debbugs.gnu.org Hello Guix! This patch series adds a mechanism for channel authors to distribute “news entries” alongside their channels. The goal is to provide a way for channel authors (including authors of the 'guix channel!) to inform their users about important changes. For example, you’d tell people about package upgrades that require manual intervention, about important new features, bug fixes, etc. This is done by adding a “news file” to the channel. Each entry in that file is associated with a commit, meaning that the entry describes changes related to that commit. This information is what allows ‘guix pull --news’ to determine whether a news entry is relevant or not for the user: only entries corresponding to commits that were just pulled are displayed. It’s a bit weird to refer to commits from within a file in the repo because it almost forces you to push so that you know the commit ID that your news entry should refer to. News entries become obsolete if you rebase, too. I think it’s acceptable, though. Regarding i18n, the title and body of an entry can be provided in several languages. I wonder what workflow we should adopt; obviously the TP wouldn’t be appropriate, and there’s no gettext involved. Anyway, this is it. Feedback welcome! Ludo’. Ludovic Courtès (9): pull: '--news' shows the list of channels added or removed. git: 'update-cached-checkout' avoids network access when unnecessary. git: Add 'commit-difference'. channels: Add support for a news file. ui: Add 'current-message-language'. pull: Display channel news. pull: '-l' displays channel news. Add '.guix-channel' file. DRAFT etc: Add channel news file. .dir-locals.el | 1 + .guix-channel | 5 ++ Makefile.am | 8 ++- doc/guix.texi | 62 +++++++++++++++++++-- etc/news.scm | 13 +++++ guix/channels.scm | 121 ++++++++++++++++++++++++++++++++++++++--- guix/git.scm | 58 +++++++++++++++++++- guix/scripts/pull.scm | 122 +++++++++++++++++++++++++++++++++++++++--- guix/tests/git.scm | 102 +++++++++++++++++++++++++++++++++++ guix/ui.scm | 18 +++++++ tests/channels.scm | 96 +++++++++++++++++++++++++++++++++ tests/git.scm | 99 ++++++++++++++++++++++++++++++++++ 12 files changed, 685 insertions(+), 20 deletions(-) create mode 100644 .guix-channel create mode 100644 etc/news.scm create mode 100644 guix/tests/git.scm create mode 100644 tests/git.scm -- 2.23.0