Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-07-07 | Simplify `ContentAddress` | John Ericson | |
Whereas `ContentAddressWithReferences` is a sum type complex because different varieties support different notions of reference, and `ContentAddressMethod` is a nested enum to support that, `ContentAddress` can be a simple pair of a method and hash. `ContentAddress` does not need to be a sum type on the outside because the choice of method doesn't effect what type of hashes we can use. Co-Authored-By: Cale Gibbard <cgibbard@gmail.com> | |||
2023-02-28 | No inheritance for `TextInfo` and `FixedOutputInfo` | John Ericson | |
2023-02-28 | Revert "Remove some designated initializers" | John Ericson | |
This reverts commit ee9eb83a842eb97d0180fd9d349d30ff27fdb485. | |||
2023-02-01 | Remove some designated initializers | John Ericson | |
With the switch to C++20, the rules became more strict, and we can no longer initialize base classes. Make them comments instead. (BTW https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2287r1.html this offers some new syntax for this use-case. Hopefully this will be adopted and we can eventually use it.) | |||
2023-01-23 | Don't add `StorePathDescriptor` for now | John Ericson | |
We don't need it yet, we can add it back later. | |||
2023-01-06 | Use named field initialization for references | John Ericson | |
2022-03-10 | Merge remote-tracking branch 'upstream/master' into path-info | John Ericson | |
2022-01-18 | Get rid of std::shared_ptr<std::string> and ref<std::string> | Eelco Dolstra | |
These were needed back in the pre-C++11 era because we didn't have move semantics. But now we do. | |||
2021-02-25 | Merge remote-tracking branch 'upstream/master' into path-info | John Ericson | |
2021-01-13 | Convert option descriptions to Markdown | Eelco Dolstra | |
2020-12-04 | Split 'nix store add-to-store' into 'add-path' and 'add-file' | Eelco Dolstra | |
This makes it consistent with 'nix hash <path|file>'. | |||
2020-12-03 | Move most store-related commands to 'nix store' | Eelco Dolstra | |
2020-12-03 | nix add-to-store: Move markdown docs into a separate file | Eelco Dolstra | |
2020-12-03 | Make doc() return arbitrary Markdown rather than the contents of the ↵ | Eelco Dolstra | |
"Description" section Thus we can return the examples section (and any other sections) from doc() and don't need examples() anymore. | |||
2020-10-12 | Merge remote-tracking branch 'upstream/master' into path-info | John Ericson | |
2020-10-09 | Merge remote-tracking branch 'upstream/master' into fix-and-ci-static-builds | John Ericson | |
2020-10-07 | Use PathReferences more widely | John Ericson | |
2020-10-06 | Remove static variable name clashes | Eelco Dolstra | |
This was useful for an experiment with building Nix as a single compilation unit. It's not very useful otherwise but also doesn't hurt... | |||
2020-09-25 | stdout_ -> cout | John Ericson | |
Better to get creative than just sprinkle arbitrary underscores. | |||
2020-09-04 | Merge remote-tracking branch 'upstream/master' into fix-and-ci-static-builds | John Ericson | |
2020-08-20 | Allow 'nix' subcommands to provide docs in Markdown format | Eelco Dolstra | |
2020-08-07 | Merge remote-tracking branch 'upstream/master' into fix-and-ci-static-builds | John Ericson | |
2020-08-06 | Minimize the usage of `Hash::dummy` | John Ericson | |
2020-07-30 | Merge remote-tracking branch 'origin/master' into fix-and-ci-static-builds | Matthew Bauer | |
2020-07-30 | Merge remote-tracking branch 'origin/master' into substitute-other-storedir | Matthew Bauer | |
2020-06-29 | Rename logging->stdout to logging->stdout_ | Matthew Bauer | |
musl doesn't like this identifier | |||
2020-06-23 | Fix test suite | Carlo Nucera | |
2020-06-23 | Merge remote-tracking branch 'upstream/master' into hash-always-has-type | John Ericson | |
2020-06-22 | Merge remote-tracking branch 'origin/master' into substitute-other-storedir | Matthew Bauer | |
2020-06-19 | WIP: Make Hash always store a valid hash type | John Ericson | |
2020-06-19 | More designated initializers | John Ericson | |
2020-06-19 | Merge remote-tracking branch 'me/no-stringly-typed-derivation-output' into ↵ | John Ericson | |
validPathInfo-ca-proper-datatype | |||
2020-06-18 | Merge branch 'validPathInfo-temp' into validPathInfo-ca-proper-datatype | John Ericson | |
2020-06-17 | Update strings from review comment | Matthew Bauer | |
2020-06-12 | Fix add-to-store --flat to put in correct hash | Matthew Bauer | |
2020-06-12 | Add --flat to nix add-to-store | Matthew Bauer | |
This can be used to add flat hashes to the nix store. | |||
2020-06-04 | Make sure info.ca tag bit is set in `nix add-to-store` | John Ericson | |
2020-06-03 | No C++ designated initializers yet with Clang 7 | John Ericson | |
2020-06-02 | Merge remote-tracking branch 'upstream/master' into ↵ | John Ericson | |
validPathInfo-ca-proper-datatype | |||
2020-06-02 | WIP | John Ericson | |
2020-05-29 | Remove addToStore variant as requested by `FIXME` | John Ericson | |
The idea is it's always more flexible to consumer a `Source` than a plain string, and it might even reduce memory consumption. I also looked at `addToStoreFromDump` with its `// FIXME: remove?`, but the worked needed for that is far more up for interpretation, so I punted for now. | |||
2020-05-28 | Merge branch 'master' of github.com:NixOS/nix into enum-class | Carlo Nucera | |
2020-05-26 | Merge remote-tracking branch 'origin/master' into enum-FileIngestionMethod | Carlo Nucera | |
2020-05-05 | nix --help: Group commands | Eelco Dolstra | |
2020-05-04 | Flag: Use designated initializers | Eelco Dolstra | |
2020-04-16 | Use Logger::stdout() | Eelco Dolstra | |
(cherry picked from commit 8f41847394524fcac40d3b5620139ca7e94a18e3) | |||
2020-03-29 | Replace some `bool recursive` with a new `FileIngestionMethod` enum | John Ericson | |
2020-03-29 | Use `enum struct` and drop prefixes | John Ericson | |
This does a few enums; the rest will be gotten in subsequent commits. | |||
2019-12-10 | Make the Store API more type-safe | Eelco Dolstra | |
Most functions now take a StorePath argument rather than a Path (which is just an alias for std::string). The StorePath constructor ensures that the path is syntactically correct (i.e. it looks like <store-dir>/<base32-hash>-<name>). Similarly, functions like buildPaths() now take a StorePathWithOutputs, rather than abusing Path by adding a '!<outputs>' suffix. Note that the StorePath type is implemented in Rust. This involves some hackery to allow Rust values to be used directly in C++, via a helper type whose destructor calls the Rust type's drop() function. The main issue is the dynamic nature of C++ move semantics: after we have moved a Rust value, we should not call the drop function on the original value. So when we move a value, we set the original value to bitwise zero, and the destructor only calls drop() if the value is not bitwise zero. This should be sufficient for most types. Also lots of minor cleanups to the C++ API to make it more modern (e.g. using std::optional and std::string_view in some places). | |||
2019-12-05 | Make subcommand construction in MultiCommand lazy | Eelco Dolstra | |
(cherry picked from commit a0de58f471c9087d8e6cc60a6078f9940a125b15) |