On Wed, Dec 19, 2018 at 04:54:32PM -0600, Eric Bavier wrote: > On Wed, 19 Dec 2018 22:13:13 +0200 > Efraim Flashner wrote: > > > From 8e73b5e0b7ecbac3f4c407cee407b918060b7d1b Mon Sep 17 00:00:00 2001 > > From: Efraim Flashner > > Date: Wed, 19 Dec 2018 22:08:18 +0200 > > Subject: [PATCH] scripts: refresh: Allow searching recursively. > > > > * guix/scripts/refresh.scm (refresh-recursive, list-recursive): New > > procedures. > > (show-help): Document it. > > (guix-refresh): Add flags and checks for new options. > > * doc/guix.texi (Invoking guix refresh): Document new options. > > --- > > doc/guix.texi | 32 +++++++++++++++++++++ > > guix/scripts/refresh.scm | 62 ++++++++++++++++++++++++++++++++++++++++ > > 2 files changed, 94 insertions(+) > > > > diff --git a/doc/guix.texi b/doc/guix.texi > > index 20b5013fd..2888d1efb 100644 > > --- a/doc/guix.texi > > +++ b/doc/guix.texi > > @@ -7370,6 +7370,22 @@ are many packages, though, for which it lacks a method to determine > > whether a new upstream release is available. However, the mechanism is > > extensible, so feel free to get in touch with us to add a new method! > > > > +@table @code > > + > > +@item --recursive > > +Consider the packages specified, and all the packages upon which they depend. > <...> > > +@item --list-recursive > > +List all the packages which one or more packages depend upon. > > I think it would be nice to have some more symmetry between the names > of these options and existing options. Initially I was confused about > what business 'guix refresh' would have in being "recursive". > > 'guix build --sources=transitive' seems like it behaves similarly, in > that it visits package inputs. > > 'guix refresh --list-dependents' is the reverse of this > '--list-recursive', but the names do not immediately suggest this to > me. > I created '--list-dependents' mostly on my way to '--recursive', but I didn't really like the name either. '--list-transitive' works well for me. I also think it would be nice if I would parse the other command line arguements, remove '--recursive', and pass the rest of them to 'guix refresh' for each of the (now transitive) packages. Then 'guix refresh --recursive --update foo' would work as expected™. -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted