Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-08-18 | Fixing #7479 | John Ericson | |
Types converted: - `NixStringContextElem` - `OutputsSpec` - `ExtendedOutputsSpec` - `DerivationOutput` - `DerivationType` Existing ones mostly conforming the pattern cleaned up: - `ContentAddressMethod` - `ContentAddressWithReferences` The `DerivationGoal::derivationType` field had a bogus initialization, now caught, so I made it `std::optional`. I think #8829 can make it non-optional again because it will ensure we always have the derivation when we construct a `DerivationGoal`. See that issue (#7479) for details on the general goal. `git grep 'Raw::Raw'` indicates the two types I didn't yet convert `DerivedPath` and `BuiltPath` (and their `Single` variants) . This is because @roberth and I (can't find issue right now...) plan on reworking them somewhat, so I didn't want to churn them more just yet. Co-authored-by: Eelco Dolstra <edolstra@gmail.com> | |||
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-05-09 | Improve error message for self reference with text hashing | John Ericson | |
The `ContentAddressWithReferences` method is made total, with error handling now squarely the caller's job. This is better. | |||
2023-05-09 | Cleanups to content address types | John Ericson | |
2023-04-19 | Remove references from fixed output derivation ab syntax | John Ericson | |
In other words, use a plain `ContentAddress` not `ContentAddressWithReferences` for `DerivationOutput::CAFixed`. Supporting fixed output derivations with (fixed) references would be a cool feature, but it is out of scope at this moment. | |||
2023-04-19 | Add a few more content addressing methods | John Ericson | |
Good to round out the library interface. | |||
2023-04-17 | `TextHashMethod` -> `TextIngestionMethod`, gate with XP feature | John Ericson | |
I suppose we can use `dynamic-derivations` for the few things we neeed. | |||
2023-04-01 | Merge branch 'path-info' into ca-drv-exotic | John Ericson | |
2023-04-01 | Merge commit 'aa99005004bccc9be506a2a2f162f78bad4bcb41' into ca-drv-exotic | John Ericson | |
2023-03-30 | Use "raw pattern" for content address types | John Ericson | |
We weren't because this ancient PR predated it! This is actually a new version of the pattern which addresses some issues identified in #7479. | |||
2023-03-30 | Merge remote-tracking branch 'upstream/master' into path-info | John Ericson | |
Also improve content-address.hh API docs. | |||
2023-02-28 | Merge branch 'path-info' into ca-drv-exotic | John Ericson | |
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-30 | Shrink diff in two places | John Ericson | |
Stuff crept in there. | |||
2023-01-14 | Merge branch 'path-info' into ca-drv-exotic | John Ericson | |
2023-01-14 | Make `ValidPathInfo` have plain `StorePathSet` references like before | John Ericson | |
This change can wait for another PR. | |||
2023-01-06 | Merge branch 'path-info' into ca-drv-exotic | John Ericson | |
2023-01-06 | Merge branch 'path-info' into ca-drv-exotic | John Ericson | |
2023-01-06 | Use named field initialization for references | John Ericson | |
2022-04-19 | Slight cleanups | John Ericson | |
2022-03-10 | Merge branch 'path-info' into ca-drv-exotic | John Ericson | |
2022-03-10 | Merge remote-tracking branch 'upstream/master' into path-info | John Ericson | |
2021-11-23 | Fix use after free in content-address.cc | Alex Shabalin | |
Inspired by https://github.com/NixOS/nix/pull/5599 | |||
2021-10-01 | Merge branch 'path-info' into ca-drv-exotic | John Ericson | |
2021-10-01 | Merge remote-tracking branch 'upstream/master' into path-info | John Ericson | |
2021-09-30 | `std::visit` by reference | John Ericson | |
I had started the trend of doing `std::visit` by value (because a type error once mislead me into thinking that was the only form that existed). While the optomizer in principle should be able to deal with extra coppying or extra indirection once the lambdas inlined, sticking with by reference is the conventional default. I hope this might even improve performance. | |||
2020-10-13 | Work around clang destructing + capturing bug again | John Ericson | |
2020-10-13 | Derivations can output "text-hashed" data | John Ericson | |
In particular, this means that derivations can output derivations. But that ramification isn't (yet!) useful as we would want, since there is no way to have a dependent derivation that is itself a dependent derivation. | |||
2020-10-07 | Use PathReferences more widely | John Ericson | |
2020-09-22 | Style fixes | Eelco Dolstra | |
2020-09-21 | parseContentAddressMethodPrefix: use string_view | Robert Hensing | |
Co-authored-by: John Ericson <git@JohnEricson.me> | |||
2020-09-17 | Add ContentAddressMethod and parse/render it | Robert Hensing | |
2020-08-05 | Merge branch 'misc-ca' of https://github.com/obsidiansystems/nix | Eelco Dolstra | |
2020-08-05 | Style fix | Eelco Dolstra | |
2020-08-05 | Merge remote-tracking branch 'upstream/master' into misc-ca | John Ericson | |
2020-07-27 | Merge remote-tracking branch 'upstream/master' into ca-derivation-data-types | John Ericson | |
2020-07-20 | parser.hh -> split.hh | John Ericson | |
2020-07-13 | Merge branch 'hash-always-has-type' into better-ca-parse-errors | John Ericson | |
2020-07-13 | Merge remote-tracking branch 'upstream/master' into hash-always-has-type | John Ericson | |
2020-07-12 | Move C++17 "pattern matching" boilerplat to utils.hh | John Ericson | |
2020-07-10 | Factor out commonality between nix-prefetch-url and nix-store --add-fixed | Eelco Dolstra | |
2020-07-02 | Have `splitPrefix` and `splitPrefixTo` parser helpers | John Ericson | |
2020-07-02 | Tighten parsing for drv files and pathinfo | Carlo Nucera | |
2020-07-01 | Rename two hash constructors to proper functions | Carlo Nucera | |
2020-06-30 | Factor the prefix splitting in content-address | Carlo Nucera | |
2020-06-29 | Merge branch 'hash-always-has-type' of github.com:obsidiansystems/nix into ↵ | John Ericson | |
better-ca-parse-errors | |||
2020-06-23 | Merge remote-tracking branch 'upstream/master' into hash-always-has-type | John Ericson | |
2020-06-22 | Improve content address parsing | John Ericson | |
- Ensure hash is in form <algo>-<prefix> and not SRI. - Better errors if something goes wrong - string_view for no coppying |