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: 28c7ecc294ae
Choose a base ref
...
head repository: NixOS/nix
compare: 056d41949e5b
Choose a head ref
  • 9 commits
  • 14 files changed
  • 1 contributor

Commits on Feb 3, 2021

  1. Add an evaluation caching mechanism

    Add the caching mechanism already present for cli arguments to the
    evaluation loop.
    
    This means that an expression of the form `(builtins.getFlake
    foo).bar.baz` will be cached if it can be
    thufschmitt committed Feb 3, 2021
    Copy the full SHA
    94362e9 View commit details
    Browse the repository at this point in the history
  2. Manually commit to the cache db during the eval

    This is a dirty hack to make caching temporarily work.
    
    The issue seems to be that the cache object is never deleted, which in
    turn means that we never commit to the db (as it happens in the object's
    destructor), so the cache doesn't persist between two Nix calls.
    So we manually commit to the db each time. This is both slower and ugly,
    but at least it works for the moment
    thufschmitt committed Feb 3, 2021
    Copy the full SHA
    a40a590 View commit details
    Browse the repository at this point in the history
  3. Only add an eval cache to the attribute sets

    The others don't need it and it was taking some useless space in the
    `Value` type
    thufschmitt committed Feb 3, 2021
    Copy the full SHA
    ed26f06 View commit details
    Browse the repository at this point in the history
  4. make the eval cache reentrant

    Avoids sqlite lock issue when the same flake is evaluated twice by
    keeping an in-memory mapping of the db connections opened for each cache
    key
    thufschmitt committed Feb 3, 2021
    Copy the full SHA
    c28e03a View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    67cd1e7 View commit details
    Browse the repository at this point in the history
  6. Fix a clang warning

    Re-order the initialisers in a constructor to make them match the
    actual initialisation order
    thufschmitt committed Feb 3, 2021
    Copy the full SHA
    2e35f91 View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    3642d5a View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    ea8d4e9 View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    056d419 View commit details
    Browse the repository at this point in the history