summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-06-13 22:15:41 +0200
committerLudovic Courtès <ludo@gnu.org>2013-06-13 22:15:41 +0200
commit8e59fdd53bbc3eba75328e1e1a329291fcedc0bc (patch)
tree7b3c3b7de043e98e4155ad6796d3a5bebbeaa03d
parent3f1e69395cbfaad80710bdfbef433c26aa216271 (diff)
guix gc: Add `--requisites'.
* guix/scripts/gc.scm (show-help, %options): Add `--requisites'. (guix-gc): Handle it. * doc/guix.texi (Invoking guix gc): Document `--requisites'. * NEWS: Update.
-rw-r--r--NEWS4
-rw-r--r--doc/guix.texi7
-rw-r--r--guix/scripts/gc.scm8
3 files changed, 19 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 3a946ec59d..6c33b9ab58 100644
--- a/NEWS
+++ b/NEWS
@@ -32,6 +32,10 @@ See the manual for details.
This option instructs to fall back to local builds when the substituter fails
to download a substitute.
+*** New ‘--requisites’ option for “guix gc”
+
+See the manual for details.
+
** Bugs fixed
*** “guix --help” now works when using Guile 2.0.5
*** Binary substituter multi-threading and pipe issues fixed
diff --git a/doc/guix.texi b/doc/guix.texi
index 02fb9982c1..23e8351c02 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -722,6 +722,13 @@ In addition, the references among existing store files can be queried:
List the references (respectively, the referrers) of store files given
as arguments.
+@item --requisites
+@itemx -R
+List the requisites of the store files passed as arguments. Requisites
+include the store files themselves, their references, and the references
+of these, recursively. In other words, the returned list is the
+@dfn{transitive closure} of the store files.
+
@end table
diff --git a/guix/scripts/gc.scm b/guix/scripts/gc.scm
index cecb68ec36..77ec7635de 100644
--- a/guix/scripts/gc.scm
+++ b/guix/scripts/gc.scm
@@ -51,6 +51,8 @@ Invoke the garbage collector.\n"))
(display (_ "
--references list the references of PATHS"))
(display (_ "
+ -R, --requisites list the requisites of PATHS"))
+ (display (_ "
--referrers list the referrers of PATHS"))
(newline)
(display (_ "
@@ -128,6 +130,10 @@ interpreted."
(lambda (opt name arg result)
(alist-cons 'action 'list-references
(alist-delete 'action result))))
+ (option '(#\R "requisites") #f #f
+ (lambda (opt name arg result)
+ (alist-cons 'action 'list-requisites
+ (alist-delete 'action result))))
(option '("referrers") #f #f
(lambda (opt name arg result)
(alist-cons 'action 'list-referrers
@@ -189,6 +195,8 @@ interpreted."
(delete-paths store paths))
((list-references)
(list-relatives references))
+ ((list-requisites)
+ (list-relatives requisites))
((list-referrers)
(list-relatives referrers))
((list-dead)