summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-03-23 15:04:44 +0100
committerLudovic Courtès <ludo@gnu.org>2019-03-23 18:15:36 +0100
commit2b81eac01e5828c6fce61b3cafc0f78e7a0ab891 (patch)
tree0a25351bdc4ea5cde0ae75eaca065056927bf70a /doc
parente190d12eae25fff8ab818a94c8fd5302bdc797dd (diff)
downloadpatches-2b81eac01e5828c6fce61b3cafc0f78e7a0ab891.tar
patches-2b81eac01e5828c6fce61b3cafc0f78e7a0ab891.tar.gz
graph: Add the 'reverse-bag' graph.
Suggested by Julien Lepiller. * guix/scripts/graph.scm (%reverse-bag-node-type): New variable. (%node-types): Add it. * tests/graph.scm ("reverse bag DAG"): New test. * doc/guix.texi (Invoking guix graph): Document it.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi18
1 files changed, 17 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 94d7a29bdf..8fa714ee54 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -9290,7 +9290,9 @@ This shows the @emph{reverse} DAG of packages. For example:
guix graph --type=reverse-package ocaml
@end example
-...@: yields the graph of packages that depend on OCaml.
+...@: yields the graph of packages that @emph{explicitly} depend on OCaml (if
+you are also interested in cases where OCaml is an implicit dependency, see
+@code{reverse-bag} below.)
Note that for core packages this can yield huge graphs. If all you want
is to know the number of packages that depend on a given package, use
@@ -9324,6 +9326,20 @@ dependencies.
@item bag-with-origins
Similar to @code{bag}, but also showing origins and their dependencies.
+@item reverse-bag
+This shows the @emph{reverse} DAG of packages. Unlike @code{reverse-package},
+it also takes implicit dependencies into account. For example:
+
+@example
+guix graph -t reverse-bag dune
+@end example
+
+@noindent
+...@: yields the graph of all packages that depend on Dune, directly or
+indirectly. Since Dune is an @emph{implicit} dependency of many packages
+@i{via} @code{dune-build-system}, this shows a large number of packages,
+whereas @code{reverse-package} would show very few if any.
+
@item derivation
This is the most detailed representation: It shows the DAG of
derivations (@pxref{Derivations}) and plain store items. Compared to