diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-12-07 17:37:08 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-12-12 17:56:58 +0100 |
commit | 828a39da68a9169ef1d9f9ff02a1c66b1bcbe884 (patch) | |
tree | 7b92b771e08dc03dc408eacbbe41de2c5df34304 /doc | |
parent | 5208db3a526e3fcdb8473d9bab8afe498c5f3f76 (diff) | |
download | guix-828a39da68a9169ef1d9f9ff02a1c66b1bcbe884.tar.gz |
challenge: Support "--diff=diffoscope".
* guix/scripts/challenge.scm (call-with-nar): New procedure. (narinfo-contents): Express in terms of 'call-with-nar'. (call-with-mismatches, report-differing-files/external): New procedures. (%diffoscope-command): New variable. (%options): Support "diffoscope" and a string starting with "/". * tests/challenge.scm (call-mismatch-test): New procedure. ("differing-files"): Rewrite in terms of 'call-mismatch-test'. ("call-with-mismatches"): New test. * doc/guix.texi (Invoking guix challenge): Document it.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/guix.texi | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 80d67a44fa..a5cff4cab2 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10366,8 +10366,20 @@ results, the inclusion of random numbers, and directory listings sorted by inode number. See @uref{https://reproducible-builds.org/docs/}, for more information. -To find out what is wrong with this Git binary, we can do something along -these lines (@pxref{Invoking guix archive}): +To find out what is wrong with this Git binary, the easiest approach is +to run: + +@example +guix challenge git \ + --diff=diffoscope \ + --substitute-urls="https://@value{SUBSTITUTE-SERVER} https://guix.example.org" +@end example + +This automatically invokes @command{diffoscope}, which displays detailed +information about files that differ. + +Alternately, we can do something along these lines (@pxref{Invoking guix +archive}): @example $ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0 \ @@ -10430,6 +10442,14 @@ Upon mismatches, show differences according to @var{mode}, one of: @item @code{simple} (the default) Show the list of files that differ. +@item @code{diffoscope} +@itemx @var{command} +Invoke @uref{https://diffoscope.org/, Diffoscope}, passing it +two directories whose contents do not match. + +When @var{command} is an absolute file name, run @var{command} instead +of Diffoscope. + @item @code{none} Do not show further details about the differences. @end table |