Branch: refs/heads/master
  Home:   https://github.com/NixOS/nix
  Commit: 564fb7d9fa80d06397a88d69f26439727cb922c5
      
https://github.com/NixOS/nix/commit/564fb7d9fa80d06397a88d69f26439727cb922c5
  Author: Eelco Dolstra <[email protected]>
  Date:   2012-07-23 (Mon, 23 Jul 2012)

  Changed paths:
    M src/libstore/local-store.hh
    M src/libstore/optimise-store.cc
    M src/nix-store/nix-store.cc

  Log Message:
  -----------
  optimiseStore(): Use a content-addressed file store in /nix/store/.links

optimiseStore() now creates persistent, content-addressed hard links
in /nix/store/.links.  For instance, if it encounters a file P with
hash H, it will create a hard link

  P' = /nix/store/.link/<H>

to P if P' doesn't already exist; if P' exist, then P is replaced by a
hard link to P'.  This is better than the previous in-memory map,
because it had the tendency to unnecessarily replace hard links with a
hard link to whatever happened to be the first file with a given hash
it encountered.  It also allows on-the-fly, incremental optimisation.


  Commit: 619310571002fc74e428824bd603604d1055b61b
      
https://github.com/NixOS/nix/commit/619310571002fc74e428824bd603604d1055b61b
  Author: Eelco Dolstra <[email protected]>
  Date:   2012-07-23 (Mon, 23 Jul 2012)

  Changed paths:
    M doc/manual/conf-file.xml
    M src/libstore/build.cc
    M src/libstore/local-store.cc
    M src/libstore/local-store.hh
    M src/libstore/optimise-store.cc

  Log Message:
  -----------
  Automatically optimise the Nix store when a new path is added

Auto-optimisation is enabled by default.  It can be turned off by
setting auto-optimise-store to false in nix.conf.


  Commit: 680ab6f83def2b636200204542ca352631a46f85
      
https://github.com/NixOS/nix/commit/680ab6f83def2b636200204542ca352631a46f85
  Author: Eelco Dolstra <[email protected]>
  Date:   2012-07-23 (Mon, 23 Jul 2012)

  Changed paths:
    M src/libstore/gc.cc
    M src/libstore/local-store.hh

  Log Message:
  -----------
  Garbage collect unused links in /nix/store/.links

Incremental optimisation requires creating links in /nix/store/.links
to all files in the store.  However, this means that if we delete a
store path, no files are actually deleted because links in
/nix/store/.links still exists.  So we need to check /nix/store/.links
for files with a link count of 1 and delete them.


  Commit: 0f65793f94bd89c973482ac949be1e96e876762b
      
https://github.com/NixOS/nix/commit/0f65793f94bd89c973482ac949be1e96e876762b
  Author: Eelco Dolstra <[email protected]>
  Date:   2012-07-23 (Mon, 23 Jul 2012)

  Changed paths:
    M tests/Makefile.am
    A tests/optimise-store.sh

  Log Message:
  -----------
  Add a test for Nix store optimisation


Compare: https://github.com/NixOS/nix/compare/ed59bf7a181b...0f65793f94bd
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to