summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Karetnikov <nikita@karetnikov.org>2013-09-24 22:18:09 +0000
committerNikita Karetnikov <nikita@karetnikov.org>2013-09-25 16:08:39 +0000
commit4b2bc804d861ff5ba550dac0b56f1fe44f079847 (patch)
tree9f4ab9edd94e9dcd6e851e05588a58c3865152fd
parent0ab212b9466d5aa3fe801c9137248703245d8513 (diff)
downloadguix-patches-4b2bc804d861ff5ba550dac0b56f1fe44f079847.tar
guix-patches-4b2bc804d861ff5ba550dac0b56f1fe44f079847.tar.gz
guix package: Do not list the zeroth generation.
* guix/scripts/package.scm (guix-package)[process-query]: Change 'list-generation' to not list the zeroth generation. * tests/guix-package.sh: Test it. * doc/guix.texi (Invoking guix package): Document it, and use the right term when talking about generations.
-rw-r--r--doc/guix.texi8
-rw-r--r--guix/scripts/package.scm2
-rw-r--r--tests/guix-package.sh3
3 files changed, 8 insertions, 5 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 90016a4496..442cef26da 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -583,9 +583,8 @@ When combined with options such as @code{--install}, roll back occurs
before any other actions.
When rolling back from the first generation that actually contains
-installed packages, the profile is made to point to the @dfn{empty
-profile}, also known as @dfn{profile zero}---i.e., it contains no files
-apart from its own meta-data.
+installed packages, the profile is made to point to the @dfn{zeroth
+generation}, which contains no files apart from its own meta-data.
Installing, removing, or upgrading packages from a generation that has
been rolled back to overwrites previous future generations. Thus, the
@@ -683,7 +682,8 @@ Multiple Outputs}), and the source location of its definition.
@itemx -l [@var{pattern}]
Return a list of generations along with their creation dates; for each
generation, show the installed packages, with the most recently
-installed packages shown last.
+installed packages shown last. Note that the zeroth generation is never
+shown.
For each installed package, print the following items, separated by
tabs: the name of a package, its version string, the part of the package
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 1f21890fcd..dab3d5bb0c 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -955,7 +955,7 @@ more information.~%"))
(match (assoc-ref opts 'query)
(('list-generations pattern)
(define (list-generation number)
- (begin
+ (unless (zero? number)
(format #t (_ "Generation ~a\t~a~%") number
(date->string
(time-utc->date
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index f1f7ee6c7d..7130926404 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -111,6 +111,9 @@ then
test "`readlink_base "$profile"`" = "$profile-0-link"
done
+ # Test that '--list-generations' does not output the zeroth generation.
+ test -z "`guix package -p "$profile" -l 0`"
+
# Reinstall after roll-back to the empty profile.
guix package --bootstrap -p "$profile" -e "$boot_make"
test "`readlink_base "$profile"`" = "$profile-1-link"