Subject: [PATCH 0/7] 'guix challenge' can diff archives directly

From: Ludovic Courtès <[email-masked]>
Date: Sat, 7 Dec 2019 22:42:30 +0100

Hello Guix!

Here’s a gift brought from the R-B Summit in Marrakesh!  :-)
These changes allow ‘guix challenge’ to directly show the list
of changed files, or to invoke ‘diffoscope’ on the differing
store items.  The new ‘--diff’ option allows users to choose
the diff mode.

The default now looks like this:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix challenge guile --substitute-urls="https://bayfront.guix.info https://ci.guix.gnu.org"
/gnu/store/1mkkv2caiqbdbbd256c4dirfi4kwsacv-guile-2.2.6 contents differ:
  no local build for '/gnu/store/1mkkv2caiqbdbbd256c4dirfi4kwsacv-guile-2.2.6'
  https://bayfront.guix.info/nar/lzip/1mkkv2caiqbdbbd256c4dirfi4kwsacv-guile-2.2.6: 1pzzanrfpjmmm6qbgw03qnjmj9zvd4af8sqk44y3m3k36l0dxgwq
  https://ci.guix.gnu.org/nar/lzip/1mkkv2caiqbdbbd256c4dirfi4kwsacv-guile-2.2.6: 1qhxajxihs3gm4ny61hq9zjnssp8azzsxflk9wq4l8g2l3zicp52
  differing files:
    /lib/guile/2.2/ccache/srfi/srfi-27.go
    /lib/guile/2.2/ccache/srfi/srfi-19.go
    /lib/guile/2.2/ccache/srfi/srfi-18.go
    /lib/guile/2.2/ccache/ice-9/vlist.go
    /lib/guile/2.2/ccache/ice-9/suspendable-ports.go

1 store items were analyzed:
  - 0 (0.0%) were identical
  - 1 (100.0%) differed
  - 0 (0.0%) were inconclusive
--8<---------------cut here---------------end--------------->8---

Feedback welcome!

Ludo’.

Ludovic Courtès (7):
  serialization: Add 'fold-archive'.
  guix archive: Add '--list'.
  challenge: Report the best narinfo URI.
  serialization: Remove unused procedure.
  progress: Add 'progress-report-port'.
  challenge: Add "--diff".
  challenge: Support "--diff=diffoscope".

 doc/guix.texi               |  60 +++++++++-
 guix/progress.scm           |  31 +++++
 guix/scripts/archive.scm    |  45 +++++++-
 guix/scripts/challenge.scm  | 220 ++++++++++++++++++++++++++++++++++--
 guix/scripts/substitute.scm |  36 +-----
 guix/serialization.scm      | 152 +++++++++++++------------
 guix/tests/http.scm         |   6 +-
 tests/challenge.scm         |  96 +++++++++++++++-
 tests/guix-archive.sh       |   7 +-
 tests/nar.scm               |  74 ++++++++++++
 10 files changed, 606 insertions(+), 121 deletions(-)

-- 
2.24.0