From 7eca7892014d173ff523417138b90aeff5b7dec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 2 Oct 2018 22:53:47 +0200 Subject: [PATCH] daemon: Remove "case hack" for nars. This code has never been of any use in Guix. * nix/libutil/archive.cc (useCaseHack): Remove. (parse): Keep only the alternate branch in "if (useCaseHack)". --- nix/libutil/archive.cc | 31 +------------------------------ nix/libutil/archive.hh | 5 ----- 2 files changed, 1 insertion(+), 35 deletions(-) diff --git a/nix/libutil/archive.cc b/nix/libutil/archive.cc index 4e3d99356a..2599030454 100644 --- a/nix/libutil/archive.cc +++ b/nix/libutil/archive.cc @@ -21,14 +21,6 @@ namespace nix { - -bool useCaseHack = -#if __APPLE__ - true; -#else - false; -#endif - static string archiveVersion1 = "nix-archive-1"; static string caseHackSuffix = "~nix~case~hack~"; @@ -85,19 +77,7 @@ static void dump(const Path & path, Sink & sink, PathFilter & filter) the case hack applied by restorePath(). */ std::map unhacked; for (auto & i : readDirectory(path)) - if (useCaseHack) { - string name(i.name); - size_t pos = i.name.find(caseHackSuffix); - if (pos != string::npos) { - printMsg(lvlDebug, format("removing case hack suffix from `%1%'") % (path + "/" + i.name)); - name.erase(pos); - } - if (unhacked.find(name) != unhacked.end()) - throw Error(format("file name collision in between `%1%' and `%2%'") - % (path + "/" + unhacked[name]) % (path + "/" + i.name)); - unhacked[name] = i.name; - } else - unhacked[i.name] = i.name; + unhacked[i.name] = i.name; for (auto & i : unhacked) if (filter(path + "/" + i.first)) { @@ -251,15 +231,6 @@ static void parse(ParseSink & sink, Source & source, const Path & path) if (name <= prevName) throw Error("NAR directory is not sorted"); prevName = name; - if (useCaseHack) { - auto i = names.find(name); - if (i != names.end()) { - printMsg(lvlDebug, format("case collision between `%1%' and `%2%'") % i->first % name); - name += caseHackSuffix; - name += std::to_string(++i->second); - } else - names[name] = 0; - } } else if (s == "node") { if (s.empty()) throw badArchive("entry name missing"); parse(sink, source, path + "/" + name); diff --git a/nix/libutil/archive.hh b/nix/libutil/archive.hh index c216e9768f..9b83a5f288 100644 --- a/nix/libutil/archive.hh +++ b/nix/libutil/archive.hh @@ -71,9 +71,4 @@ void parseDump(ParseSink & sink, Source & source); void restorePath(const Path & path, Source & source); - -// FIXME: global variables are bad m'kay. -extern bool useCaseHack; - - }