lix/src
Eelco Dolstra 276a40b31f Handle case collisions on case-insensitive systems
When running NixOps under Mac OS X, we need to be able to import store
paths built on Linux into the local Nix store. However, HFS+ is
usually case-insensitive, so if there are directories with file names
that differ only in case, then importing will fail.

The solution is to add a suffix ("~nix~case~hack~<integer>") to
colliding files. For instance, if we have a directory containing
xt_CONNMARK.h and xt_connmark.h, then the latter will be renamed to
"xt_connmark.h~nix~case~hack~1". If a store path is dumped as a NAR,
the suffixes are removed. Thus, importing and exporting via a
case-insensitive Nix store is round-tripping. So when NixOps calls
nix-copy-closure to copy the path to a Linux machine, you get the
original file names back.

Closes #119.
2014-07-16 16:02:05 +02:00
..
boost boost::shared_ptr -> std::shared_ptr 2014-03-30 00:49:23 +01:00
bsdiff-4.3 Fix "make dist" 2014-02-01 14:38:12 +01:00
download-via-ssh nix-copy-closure -s: Do substitutions via ‘nix-store --serve’ 2014-07-10 20:43:04 +02:00
libexpr Fix compilation error on some versions of GCC 2014-07-09 12:14:40 +02:00
libmain Ugly hack to allow --argstr values starting with a dash 2014-05-23 14:43:58 +02:00
libstore Handle case collisions on case-insensitive systems 2014-07-16 16:02:05 +02:00
libutil Handle case collisions on case-insensitive systems 2014-07-16 16:02:05 +02:00
nix-daemon Refactoring: Move all fork handling into a higher-order function 2014-07-10 16:58:09 +02:00
nix-env nix-env -qa --json: Generate valid JSON even if there are invalid meta attrs 2014-06-02 17:58:43 +02:00
nix-hash Remove Automakefiles 2014-02-01 13:54:38 +01:00
nix-instantiate Style fix 2014-06-27 11:36:23 +02:00
nix-log2xml Remove Automakefiles 2014-02-01 13:54:38 +01:00
nix-store build-remote.pl: Fix building multiple output derivations 2014-07-14 12:19:27 +02:00