about summary refs log tree commit diff
path: root/src/nix-env/profiles.hh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2004-02-08T14·07+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2004-02-08T14·07+0000
commit06a75a7e0c1813d90c205e654da43a32812ce5f4 (patch)
tree9cebb38c38d38c4e30ea28de86bd2e2f05eb1325 /src/nix-env/profiles.hh
parentb8675aee5470c5387e4bfe4906e4ab1e94b610b2 (diff)
* A command `--switch-generation' to switch to a specific generation
  of the current profile, e.g.,

    $ nix-env --list-generations
    ...
    39   2004-02-02 17:53:53
    40   2004-02-02 17:55:18
    41   2004-02-02 17:55:41
    42   2004-02-02 17:55:50   (current)

    $ nix-env --switch-generation 39

    $ ls -l /nix/var/nix/profiles/default
    ... default -> default-39-link

* Also a command `--rollback' which is just a convenience operation to
  rollback to the oldest generation younger than the current one.

  Note that generations properly form a tree.  E.g., if after
  switching to generation 39, we perform an installation action,
  a generation 43 is created which is a descendant of 39, not 42.  So
  a rollback from 43 ought to go back to 39.  This is not currently
  implemented; generations form a linear sequence.


Diffstat (limited to 'src/nix-env/profiles.hh')
-rw-r--r--src/nix-env/profiles.hh8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/nix-env/profiles.hh b/src/nix-env/profiles.hh
index 2422c9f7425a..2ce468dfa837 100644
--- a/src/nix-env/profiles.hh
+++ b/src/nix-env/profiles.hh
@@ -11,6 +11,14 @@ struct Generation
     int number;
     Path path;
     time_t creationTime;
+    Generation()
+    {
+        number = -1;
+    }
+    operator bool() const
+    {
+        return number != -1;
+    }
 };
 
 typedef list<Generation> Generations;