summary refs log tree commit diff
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-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"