aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2023-01-16 19:48:39 -0500
committerJohn Ericson <John.Ericson@Obsidian.Systems>2023-03-27 09:21:50 -0400
commit7c4dea3cf3ef8cc0185163e69d9f3cb3a0fc95ac (patch)
tree47fb779967b078ddaea07afe860ebc0e07e3b813
parent570829d67e78d97d53a935e4e61b0a09589c4cd1 (diff)
Punt on improper global flags for now
See the note in the test. We don't want these flags showing up for commands where they are irrelevant. Eventually, this needs a proper fix, but it need not be a blocker for stabilize: for a quick-n-dirty punt, just put these flags behind the `nix-command` unstable feature. This is fine because they are only relevant for commands which we don't need to stabilize for a while.
-rw-r--r--src/nix/main.cc3
-rw-r--r--tests/experimental-features.sh12
2 files changed, 15 insertions, 0 deletions
diff --git a/src/nix/main.cc b/src/nix/main.cc
index c79d39459..378e53a9e 100644
--- a/src/nix/main.cc
+++ b/src/nix/main.cc
@@ -82,6 +82,7 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs
.description = "Print full build logs on standard error.",
.category = loggingCategory,
.handler = {[&]() { logger->setPrintBuildLogs(true); }},
+ .experimentalFeature = Xp::NixCommand,
});
addFlag({
@@ -97,6 +98,7 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs
.description = "Disable substituters and consider all previously downloaded files up-to-date.",
.category = miscCategory,
.handler = {[&]() { useNet = false; }},
+ .experimentalFeature = Xp::NixCommand,
});
addFlag({
@@ -104,6 +106,7 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs
.description = "Consider all previously downloaded files out-of-date.",
.category = miscCategory,
.handler = {[&]() { refresh = true; }},
+ .experimentalFeature = Xp::NixCommand,
});
}
diff --git a/tests/experimental-features.sh b/tests/experimental-features.sh
index 3be77d5cc..f718585f3 100644
--- a/tests/experimental-features.sh
+++ b/tests/experimental-features.sh
@@ -21,3 +21,15 @@ both_ways store gc --help
expect 1 nix --experimental-features 'nix-command' show-config --flake-registry 'https://no'
nix --experimental-features 'nix-command flakes' show-config --flake-registry 'https://no'
+
+# Double check this is stable
+nix --experimental-features '' --help
+
+# These 3 arguments are currently given to all commands, which is wrong (as not
+# all care). To deal with fixing later, we simply make them require the
+# nix-command experimental features --- it so happens that the commands we wish
+# stabilizing to do not need them anyways.
+for arg in '--print-build-logs' '--offline' '--refresh'; do
+ nix --experimental-features 'nix-command' "$arg" --help
+ ! nix --experimental-features '' "$arg" --help
+done