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: 872740cf60ca
Choose a base ref
...
head repository: NixOS/nix
compare: ec5e7b44ff1c
Choose a head ref
  • 3 commits
  • 1 file changed
  • 2 contributors

Commits on Nov 15, 2019

  1. Check for and repair bad .links entries

    A corrupt entry in .links prevents adding a fixed version of that file
    to the store in any path.  The user experience is that corruption
    present in the store 'spreads' to new paths added to the store:
    
    (With store optimisation enabled)
    
    1. A file in the store gets corrupted somehow (eg: filesystem bug).
    2. The user tries to add a thing to the store which contains a good copy
       of the corrupted file.
    3. The file being added to the store is hashed, found to match the bad
       .links entry, and is replaced by a link to the bad .links entry.
       (The .links entry's hash is not verified during add -- this would
       impose a substantial performance burden.)
    4. The user observes that the thing in the store that is supposed to be
       a copy of what they were trying to add is not a correct copy -- some
       files have different contents!  Running "nix-store --verify
       --check-contents --repair" does not fix the problem.
    
    This change makes "nix-store --verify --check-contents --repair" fix
    this problem.  Bad .links entries are simply removed, allowing future
    attempts to insert a good copy of the file to succeed.
    chkno committed Nov 15, 2019
    Copy the full SHA
    3e2c77d View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2019

  1. Copy the full SHA
    96e1c39 View commit details
    Browse the repository at this point in the history
  2. Simplify

    edolstra committed Nov 26, 2019
    Copy the full SHA
    ec5e7b4 View commit details
    Browse the repository at this point in the history