mirror of
https://github.com/NixOS/nix.git
synced 2024-11-22 14:52:55 +00:00
Use local-overlay://
not local-overlay
for store URL
This is a bit uglier, but allows us to avoid an ad-hoc special case in `store-api.cc`.
This commit is contained in:
parent
8434f23c97
commit
250c3541bb
@ -90,15 +90,18 @@ public:
|
|||||||
LocalOverlayStore(std::string scheme, std::string path, const Params & params)
|
LocalOverlayStore(std::string scheme, std::string path, const Params & params)
|
||||||
: LocalOverlayStore(params)
|
: LocalOverlayStore(params)
|
||||||
{
|
{
|
||||||
throw UnimplementedError("LocalOverlayStore");
|
if (!path.empty())
|
||||||
|
throw UsageError("local-overlay:// store url doesn't support path part, only scheme and query params");
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::set<std::string> uriSchemes()
|
static std::set<std::string> uriSchemes()
|
||||||
{ return {}; }
|
{
|
||||||
|
return { "local-overlay" };
|
||||||
|
}
|
||||||
|
|
||||||
std::string getUri() override
|
std::string getUri() override
|
||||||
{
|
{
|
||||||
return "local-overlay";
|
return "local-overlay://";
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
#include "archive.hh"
|
#include "archive.hh"
|
||||||
#include "callback.hh"
|
#include "callback.hh"
|
||||||
#include "remote-store.hh"
|
#include "remote-store.hh"
|
||||||
#include "local-overlay-store.hh"
|
|
||||||
// FIXME this should not be here, see TODO below on
|
// FIXME this should not be here, see TODO below on
|
||||||
// `addMultipleToStore`.
|
// `addMultipleToStore`.
|
||||||
#include "worker-protocol.hh"
|
#include "worker-protocol.hh"
|
||||||
@ -1456,10 +1455,6 @@ std::shared_ptr<Store> openFromNonUri(const std::string & uri, const Store::Para
|
|||||||
return std::make_shared<UDSRemoteStore>(params);
|
return std::make_shared<UDSRemoteStore>(params);
|
||||||
} else if (uri == "local") {
|
} else if (uri == "local") {
|
||||||
return std::make_shared<LocalStore>(params);
|
return std::make_shared<LocalStore>(params);
|
||||||
} else if (uri == "local-overlay") {
|
|
||||||
auto store = std::make_shared<LocalOverlayStore>(params);
|
|
||||||
experimentalFeatureSettings.require(store->experimentalFeature());
|
|
||||||
return store;
|
|
||||||
} else if (isNonUriPath(uri)) {
|
} else if (isNonUriPath(uri)) {
|
||||||
Store::Params params2 = params;
|
Store::Params params2 = params;
|
||||||
params2["root"] = absPath(uri);
|
params2["root"] = absPath(uri);
|
||||||
|
@ -6,9 +6,9 @@ storeDirs
|
|||||||
|
|
||||||
mkdir -p $TEST_ROOT/bad_test
|
mkdir -p $TEST_ROOT/bad_test
|
||||||
badTestRoot=$TEST_ROOT/bad_test
|
badTestRoot=$TEST_ROOT/bad_test
|
||||||
storeBadRoot="local-overlay?root=$badTestRoot&lower-store=$storeA&upper-layer=$storeBTop"
|
storeBadRoot="local-overlay://?root=$badTestRoot&lower-store=$storeA&upper-layer=$storeBTop"
|
||||||
storeBadLower="local-overlay?root=$storeBRoot&lower-store=$badTestRoot&upper-layer=$storeBTop"
|
storeBadLower="local-overlay://?root=$storeBRoot&lower-store=$badTestRoot&upper-layer=$storeBTop"
|
||||||
storeBadUpper="local-overlay?root=$storeBRoot&lower-store=$storeA&upper-layer=$badTestRoot"
|
storeBadUpper="local-overlay://?root=$storeBRoot&lower-store=$storeA&upper-layer=$badTestRoot"
|
||||||
|
|
||||||
declare -a storesBad=(
|
declare -a storesBad=(
|
||||||
"$storeBadRoot" "$storeBadLower" "$storeBadUpper"
|
"$storeBadRoot" "$storeBadLower" "$storeBadUpper"
|
||||||
|
@ -29,7 +29,7 @@ storeDirs () {
|
|||||||
storeA="$storeVolume/store-a"
|
storeA="$storeVolume/store-a"
|
||||||
storeBTop="$storeVolume/store-b"
|
storeBTop="$storeVolume/store-b"
|
||||||
storeBRoot="$storeVolume/merged-store"
|
storeBRoot="$storeVolume/merged-store"
|
||||||
storeB="local-overlay?root=$storeBRoot&lower-store=$storeA&upper-layer=$storeBTop"
|
storeB="local-overlay://?root=$storeBRoot&lower-store=$storeA&upper-layer=$storeBTop"
|
||||||
# Creating testing directories
|
# Creating testing directories
|
||||||
mkdir -p "$storeVolume"/{store-a/nix/store,store-b,merged-store/nix/store,workdir}
|
mkdir -p "$storeVolume"/{store-a/nix/store,store-b,merged-store/nix/store,workdir}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user