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: 159205ab2023
Choose a base ref
...
head repository: NixOS/nix
compare: f42004331033
Choose a head ref
  • 11 commits
  • 34 files changed
  • 3 contributors

Commits on Jan 26, 2021

  1. Copy the full SHA
    6af6e41 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2021

  1. Merge pull request #4483 from shlevy/libcmd

    Move command plugin interface to libnixcmd
    edolstra committed Jan 27, 2021
    Copy the full SHA
    b8f345b View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2021

  1. Don't crash nix-build when not all outputs are realised

    Change the `nix-build` logic for linking/printing the output paths to allow for
    some outputs to be missing. This might happen when the toplevel
    derivation didn't have to be built, either because all the required
    outputs were already there, or because they have all been substituted.
    thufschmitt committed Jan 28, 2021
    Copy the full SHA
    0ec59a1 View commit details
    Browse the repository at this point in the history
  2. Test the garbage collection of CA derivations

    Simple test to ensure that `nix-build && nix-collect-garbage &&
    nix-build -j0` works as it should
    thufschmitt committed Jan 28, 2021
    Copy the full SHA
    5f23f9b View commit details
    Browse the repository at this point in the history
  3. Register the realisations for unresolved drvs

    Once a build is done, get back to the original derivation, and register
    all the newly built outputs for this derivation.
    
    This allows Nix to work properly with derivations that don't have all
    their build inputs available − thus allowing garbage collection and
    (once it's implemented) binary substitution
    thufschmitt committed Jan 28, 2021
    Copy the full SHA
    934b9d9 View commit details
    Browse the repository at this point in the history
  4. Add a new Cmd type working on RealisedPaths

    Where a `RealisedPath` is a store path with its history, meaning either
    an opaque path for stuff that has been directly added to the store, or a
    `Realisation` for stuff that has been built by a derivation
    
    This is a low-level refactoring that doesn't bring anything by itself
    (except a few dozen extra lines of code :/ ), but raising the
    abstraction level a bit is important on a number of levels:
    
    - Commands like `nix build` have to query for the realisations after the
      build is finished which is fragile (see
      27905f1 for example). Having them
      oprate directly at the realisation level would avoid that
    - Others like `nix copy` currently operate directly on (built) store
      paths, but need a bit more information as they will need to register
      the realisations on the remote side
    thufschmitt committed Jan 28, 2021
    Copy the full SHA
    b055eb4 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    1494be0 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    671b13e View commit details
    Browse the repository at this point in the history
  7. Use RealisedPaths in copyPaths

    That way we can copy the realisations too (in addition to the store
    paths themselves)
    thufschmitt committed Jan 28, 2021
    Copy the full SHA
    5082f4f View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    a41f350 View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    f420043 View commit details
    Browse the repository at this point in the history