mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-22 05:56:15 +02:00
profile: make --all exclusive
This commit is contained in:
parent
7a4d5e89d3
commit
91f068c193
2 changed files with 15 additions and 0 deletions
|
@ -554,6 +554,15 @@ public:
|
|||
throw UsageError("No packages specified.");
|
||||
}
|
||||
|
||||
if (std::find_if(_matchers.begin(), _matchers.end(), [](const Matcher & m) { return m.type == MatcherType::All; }) != _matchers.end() && _matchers.size() > 1) {
|
||||
throw UsageError("--all cannot be used with package names or regular expressions.");
|
||||
}
|
||||
|
||||
if (manifest.elements.empty()) {
|
||||
warn("There are no packages in the profile.");
|
||||
return {};
|
||||
}
|
||||
|
||||
std::set<std::string> result;
|
||||
for (auto & matcher : _matchers) {
|
||||
bool foundMatch = false;
|
||||
|
|
|
@ -84,6 +84,12 @@ nix profile upgrade --all
|
|||
nix profile rollback
|
||||
printf 1.0 > $flake1Dir/version
|
||||
|
||||
# Test --all exclusivity.
|
||||
assertStderr nix --offline profile upgrade --all foo << EOF
|
||||
error: --all cannot be used with package names or regular expressions.
|
||||
Try 'nix --help' for more information.
|
||||
EOF
|
||||
|
||||
# Test matching no packages using literal package name.
|
||||
assertStderr nix --offline profile upgrade this_package_is_not_installed << EOF
|
||||
warning: Package name 'this_package_is_not_installed' does not match any packages in the profile.
|
||||
|
|
Loading…
Reference in a new issue