aboutsummaryrefslogtreecommitdiff
path: root/src/store.hh
AgeCommit message (Collapse)Author
2003-10-15* Refactoring: move all database manipulation into store.cc.Eelco Dolstra
* Removed `--query --generators'.
2003-10-10* New query `nix --query --predecessors' to print the predecessors ofEelco Dolstra
a Nix expression.
2003-10-10* `nix --verify': check and repair reverse mapping for successors.Eelco Dolstra
2003-10-10* Reverse mappings for the successor and substitute mappings.Eelco Dolstra
2003-10-08* Get rid of identifiers since they are redundant now. This greatlyEelco Dolstra
simplifies stuff. * The format of Nix expressions and the database schema changed because of this, so it's best to delete old Nix installations.
2003-08-01* In normaliseFState(), wrap registration of the output paths and theEelco Dolstra
normal form in a single transaction to ensure that if we crash, either everything is registered or nothing is. This is for recoverability: unregistered paths in the store can be deleted arbitrarily, while registered paths can only be deleted by running the garbage collector.
2003-08-01* Don't use substitutes in addToStore().Eelco Dolstra
2003-07-22* Substitutes now should produce a path with the same id as they areEelco Dolstra
substituting for (obvious, really). * For greater efficiency, nix-pull/unnar will place the output in a path that is probably the same as what is actually needed, thus preventing a path copy. * Even if a output id is given in a Fix package expression, ensure that the resulting Nix derive expression has a different id. This is because Nix expressions that are semantically equivalent (i.e., build the same result) might be different w.r.t. efficiency or divergence. It is absolutely vital for the substitute mechanism that such expressions are not used interchangeably.
2003-07-21* Changes to the command line syntax of Nix.Eelco Dolstra
* A function to find all Nix expressions whose output ids are completely contained in some set. Useful for uploading relevant Nix expressions to a shared cache.
2003-07-17* For debugging: `nix --verify' to check the consistency of theEelco Dolstra
database and store.
2003-07-15* Basic work on allowing derive expressions to build multiple paths.Eelco Dolstra
This is not entirely trivial since this introduces the possibility of mutual recursion. * Made normal forms self-contained. * Use unique ids, not content hashes, for content referencing.
2003-07-14* After building, scan for actual file system references asEelco Dolstra
opposed to declared references. This prunes the reference graph, thus allowing better garbage collection and more efficient derivate distribution.
2003-07-11* Fix a bug that caused Fix not to be deterministic (due to addToStoreEelco Dolstra
returning different paths if the hash of the path to be added was already available in the store under a different name).
2003-07-10* The policy-free derivate sharing now *almost* works. :-) For anyEelco Dolstra
hash for which no local expansion is available, Nix can execute a `substitute' which should produce a path with such a hash. This is policy-free since Nix does not in any way specify how the substitute should work, i.e., it's an arbitrary (unnormalised) fstate expression. For example, `nix-pull' registers substitutes that fetch Nix archives from the network (through `wget') and unpack them, but any other method is possible as well. This is an improvement over the old Nix sharing scheme, which had a policy (fetching through `wget') built in. The sharing scheme doesn't work completely yet because successors from fstate rewriting have to be registered on the receiving side. Probably the whole successor stuff can be folded up into the substitute mechanism; this would be a nice simplification.
2003-07-10* Get `nix-push' working again. It now uses Nix/Fix to create NixEelco Dolstra
archives (using the package in corepkgs/nar). * queryPathByHash -> expandHash, and it takes an argument specifying the target path (which may be empty). * Install the core Fix packages in $prefix/share/fix. TODO: bootstrap Nix and install Nix as a Fix package.
2003-07-09* Outline of the new scheme for derivate distribution.Eelco Dolstra
2003-07-07* Make dbRefs a mapping from Hash to [Path].Eelco Dolstra
2003-07-07* Refactoring on the file names.Eelco Dolstra