summary refs log tree commit diff
path: root/src/libutil
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2003-12-22 16:04:00 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2003-12-22 16:04:00 +0000
commitcf0287c09e8b5816c65dd265c4ef167865d70172 (patch)
tree47a646c1b929f224d1c1d42f58020ed381270e49 /src/libutil
parentf3c978384698a0b9b0f5dee41f98e6208f269347 (diff)
downloadguix-cf0287c09e8b5816c65dd265c4ef167865d70172.tar.gz
* Upgrade operation in `nix-env'. For instance, you can say
    nix-env -u foo.nix strategoxt

  to replace the installed `strategoxt' derivation with the one from `foo.nix', if 
  the latter has a higher version number.  This is a no-op if `strategoxt' is not 
  installed.  Wildcards are also accepted, so

    nix-env -u foo.nix '*'

  will replace any installed derivation with newer versions from `foo.nix', if 
  available.

  The notion of "version number" is somewhat ad hoc, but should be useful in most 
  cases, as evidenced by the following unit tests for the version comparator:

    TEST("1.0", "2.3", -1);
    TEST("2.1", "2.3", -1);
    TEST("2.3", "2.3", 0);
    TEST("2.5", "2.3", 1);
    TEST("3.1", "2.3", 1);
    TEST("2.3.1", "2.3", 1);
    TEST("2.3.1", "2.3a", 1);
    TEST("2.3pre1", "2.3", -1);
    TEST("2.3pre3", "2.3pre12", -1);
    TEST("2.3a", "2.3c", -1);
    TEST("2.3pre1", "2.3c", -1);
    TEST("2.3pre1", "2.3q", -1);

  (-1 = less, 0 = equal, 1 = greater)

* A new verbosity level `lvlInfo', between `lvlError' and `lvlTalkative'.  This is 
  the default for `nix-env', so without any `-v' flags users should get useful 
  output, e.g.,

$ nix-env -u foo.nix strategoxt
upgrading `strategoxt-0.9.2' to `strategoxt-0.9.3'


Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/util.hh3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libutil/util.hh b/src/libutil/util.hh
index cca93cdc73..4126381d9e 100644
--- a/src/libutil/util.hh
+++ b/src/libutil/util.hh
@@ -96,7 +96,8 @@ void writeStringToFile(const Path & path, const string & s);
 /* Messages. */
 
 typedef enum { 
-    lvlError, 
+    lvlError,
+    lvlInfo,
     lvlTalkative,
     lvlChatty,
     lvlDebug,