Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nix
base: 98ef11677c43
Choose a base ref
...
head repository: NixOS/nix
compare: f800d450b780
Choose a head ref
  • 15 commits
  • 109 files changed
  • 1 contributor

Commits on Dec 10, 2019

  1. Copy the full SHA
    dd5d76e View commit details
    Browse the repository at this point in the history
  2. Use rustls

    In particular, this enables HTTP/2 support in reqwest, which is a lot
    more efficient.
    edolstra committed Dec 10, 2019
    Copy the full SHA
    d832a35 View commit details
    Browse the repository at this point in the history
  3. Drop some dependencies

    edolstra committed Dec 10, 2019
    Copy the full SHA
    ce3c41a View commit details
    Browse the repository at this point in the history
  4. Move stuff around

    edolstra committed Dec 10, 2019
    Copy the full SHA
    a1ff430 View commit details
    Browse the repository at this point in the history
  5. Add base32 encoder/decoder

    edolstra committed Dec 10, 2019
    Copy the full SHA
    cce218f View commit details
    Browse the repository at this point in the history
  6. StorePath improvements

    edolstra committed Dec 10, 2019
    Copy the full SHA
    6317f0f View commit details
    Browse the repository at this point in the history
  7. Add NAR parser

    edolstra committed Dec 10, 2019
    2
    Copy the full SHA
    7f08975 View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    a6f0bef View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    14aa0c3 View commit details
    Browse the repository at this point in the history
  10. Shut up warnings

    edolstra committed Dec 10, 2019
    Copy the full SHA
    9e56578 View commit details
    Browse the repository at this point in the history
  11. Copy the full SHA
    bca0afb View commit details
    Browse the repository at this point in the history
  12. Add StorePath tests

    edolstra committed Dec 10, 2019
    Copy the full SHA
    ebd8999 View commit details
    Browse the repository at this point in the history
  13. Make the Store API more type-safe

    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).
    edolstra committed Dec 10, 2019
    1
    Copy the full SHA
    bbe97df View commit details
    Browse the repository at this point in the history
  14. Speed up base32::decode()

    From 1.03% to 0.19% of the runtime of 'nix-instantiate "<nixpkgs>" -A
    texlive.combined.scheme-full --dry-run'.
    edolstra committed Dec 10, 2019
    Copy the full SHA
    f64b58b View commit details
    Browse the repository at this point in the history
  15. Speed up StorePath::to_string()

    1.81% -> 0.56%
    edolstra committed Dec 10, 2019
    Copy the full SHA
    f800d45 View commit details
    Browse the repository at this point in the history