strictcli 0.16.0__tar.gz → 0.16.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- strictcli-0.16.1/.rlsbl/changes/.validated +1 -0
- strictcli-0.16.1/.rlsbl/changes/0.16.0.md +18 -0
- strictcli-0.16.1/.rlsbl/changes/0.16.1.jsonl +3 -0
- strictcli-0.16.1/.rlsbl/releases/v0.16.1.toml +8 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/CHANGELOG.md +6 -6
- {strictcli-0.16.0 → strictcli-0.16.1}/PKG-INFO +1 -1
- {strictcli-0.16.0 → strictcli-0.16.1}/package-lock.json +2 -2
- {strictcli-0.16.0 → strictcli-0.16.1}/package.json +1 -1
- {strictcli-0.16.0 → strictcli-0.16.1}/pyproject.toml +1 -1
- {strictcli-0.16.0 → strictcli-0.16.1}/strictcli/__init__.py +3 -7
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_config.py +13 -1
- {strictcli-0.16.0 → strictcli-0.16.1}/uv.lock +1 -1
- strictcli-0.16.0/.rlsbl/changes/.validated +0 -1
- {strictcli-0.16.0 → strictcli-0.16.1}/.claude/settings.json +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.github/workflows/ci.yml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.github/workflows/publish.yml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.gitignore +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.npmignore +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/.claude/settings.json +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/.github/workflows/ci.yml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/.github/workflows/publish.yml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/.gitignore +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/.npmignore +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/hooks/post-release.sh +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/hooks/pre-checks.sh +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/hooks/pre-release.sh +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/lint/go.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/lint/npm.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/lint/python.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/CHANGELOG.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/CLAUDE.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/bases/LICENSE +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.10.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.10.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.11.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.11.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.12.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.12.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.13.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.13.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.14.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.14.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.15.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.15.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.15.1.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.15.1.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.16.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.4.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.4.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.4.1.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.4.1.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.5.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.5.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.6.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.6.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.6.1.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.6.1.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.7.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.7.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.7.1.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.7.1.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.1.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.1.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.2.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.2.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.3.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.3.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.4.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.4.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.5.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.5.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.6.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.6.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.7.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.8.7.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.9.0.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.9.0.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.9.1.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/0.9.1.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/changes/unreleased.jsonl +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/config.json +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/hashes.json +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/hooks/post-release.sh +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/hooks/pre-checks.sh +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/hooks/pre-release.sh +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/lint/go.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/lint/npm.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/lint/python.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/unreleased.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.10.0.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.11.0.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.12.0.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.13.0.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.15.0.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.15.1.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.16.0.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.8.5.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.8.6.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.8.7.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.9.0.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/releases/v0.9.1.toml +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.rlsbl/version +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/.strictcli/schema.json +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/CLAUDE.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/LICENSE +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/README.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/index.js +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/postinstall.js +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_arg_default.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_at_prefix.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_auto_version.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_check_command.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_check_discovery.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_check_runner.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_check_schema.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_check_types.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_choices.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_command_help_suggestion.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_config_file_path.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_config_set_bugs.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_deep_nesting.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_dependencies.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_deprecated.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_dump_schema.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_e2e.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_env.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_exit_codes.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_float_type.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_global_flags.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_help.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_int_type.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_mutex.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_nesting.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_parser.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_passthrough.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_registration.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_repeatable.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_tagdsl.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_tags.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_toml_loading.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_unique.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_utilities.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_validate.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/tests/test_variadic.py +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/todo/.defer/deferred.md +0 -0
- {strictcli-0.16.0 → strictcli-0.16.1}/todo/.done/original-idea.md +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2a117a0d39aebe26c1f73df78aecb99c81ee2128
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
## 0.16.0
|
|
2
|
+
|
|
3
|
+
### Breaking
|
|
4
|
+
|
|
5
|
+
- **Config show.** `config show` now requires explicit `--plain` or `--json` flag instead of defaulting to plain text.
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- **New flag field.** `unique` field on repeatable flags enforces no duplicate values at CLI parse time and in config arrays.
|
|
10
|
+
- **New flag field.** `env_separator` on repeatable flags controls how environment variable values are split into arrays.
|
|
11
|
+
- **Config arrays.** Config values for repeatable flags are now coerced from strings to the declared type.
|
|
12
|
+
- **Config set.** Repeatable flags can now be managed with `config set`, including `--clear` to reset and `--default` to restore default values.
|
|
13
|
+
|
|
14
|
+
### Fixes
|
|
15
|
+
|
|
16
|
+
- **Fix.** Float NaN/Inf env var error messages now include the environment variable suffix.
|
|
17
|
+
- **Fix.** Config error messages now use consistent type names and array formatting.
|
|
18
|
+
- **Fix.** Flag collection no longer includes config group pseudo-flags, preventing incorrect behavior in commands that enumerate all flags.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{"commits":["cdc010316ce356628e2592b493ccc368dd782b48"],"user_facing":true,"description":"**Fix.** `config set` mutex error messages now include the `config set:` prefix for consistency.","type":"fix"}
|
|
2
|
+
{"commits":["98bfea68b1b971b42a31ecb1d08ecc3b55df86f2","1d9ee273ce05153c7c9e23b8297c6fccdb342c21"],"user_facing":false}
|
|
3
|
+
{"commits":["67b8d456d3e491b3d398ee7b0b7a4f3ba116cab1"],"user_facing":true,"description":"**Fix.** Config set help text now mentions backslash escaping for values containing commas in repeatable flags.","type":"fix"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Version bump type: patch, minor, or major
|
|
2
|
+
bump = "patch"
|
|
3
|
+
# Short description of this release (required)
|
|
4
|
+
description = "Error message fixes and help text improvements"
|
|
5
|
+
# Optional context explaining why these changes were made
|
|
6
|
+
context = ""
|
|
7
|
+
include = ["pypi", "npm"]
|
|
8
|
+
exclude = []
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
# Changelog
|
|
4
4
|
|
|
5
|
-
## 0.16.
|
|
5
|
+
## 0.16.1
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Error message fixes and help text improvements
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
<summary>Context</summary>
|
|
9
|
+
### Fixes
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
- **Fix.** `config set` mutex error messages now include the `config set:` prefix for consistency.
|
|
12
|
+
- **Fix.** Config set help text now mentions backslash escaping for values containing commas in repeatable flags.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## 0.16.0
|
|
15
15
|
|
|
16
16
|
### Breaking
|
|
17
17
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "strictcli",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "strictcli",
|
|
9
|
-
"version": "0.16.
|
|
9
|
+
"version": "0.16.1",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "MIT"
|
|
12
12
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
__version__ = "0.16.
|
|
5
|
+
__version__ = "0.16.1"
|
|
6
6
|
|
|
7
7
|
__all__ = [
|
|
8
8
|
"App", "Flag", "Arg", "Tag", "MutexGroup", "CoRequired", "Requires",
|
|
@@ -1163,11 +1163,7 @@ class App:
|
|
|
1163
1163
|
|
|
1164
1164
|
# config show
|
|
1165
1165
|
def _config_show_handler(**_kw) -> int:
|
|
1166
|
-
use_plain = _kw.get("plain", False)
|
|
1167
1166
|
use_json = _kw.get("json", False)
|
|
1168
|
-
if not use_plain and not use_json:
|
|
1169
|
-
print("config show: specify --plain or --json", file=sys.stderr)
|
|
1170
|
-
return 1
|
|
1171
1167
|
config_data = _load_config(
|
|
1172
1168
|
app_ref.name,
|
|
1173
1169
|
config_path_override=app_ref.config_path,
|
|
@@ -1251,7 +1247,7 @@ class App:
|
|
|
1251
1247
|
# Validate: exactly one of (value, --clear, --default)
|
|
1252
1248
|
has_value = value is not None
|
|
1253
1249
|
if use_clear and use_default:
|
|
1254
|
-
print("--clear and --default are mutually exclusive",
|
|
1250
|
+
print("config set: --clear and --default are mutually exclusive",
|
|
1255
1251
|
file=sys.stderr)
|
|
1256
1252
|
return 1
|
|
1257
1253
|
if has_value and use_clear:
|
|
@@ -1369,7 +1365,7 @@ class App:
|
|
|
1369
1365
|
args=[
|
|
1370
1366
|
Arg(name="key", help="Config key to set"),
|
|
1371
1367
|
Arg(name="value",
|
|
1372
|
-
help="Value to set (comma-separated for repeatable flags)",
|
|
1368
|
+
help="Value to set (comma-separated for repeatable flags, use backslash to escape commas)",
|
|
1373
1369
|
required=False),
|
|
1374
1370
|
],
|
|
1375
1371
|
flags=[
|
|
@@ -1153,6 +1153,18 @@ def test_config_set_repeatable_int(tmp_path, monkeypatch):
|
|
|
1153
1153
|
assert data["counts"] == [1, 2, 3]
|
|
1154
1154
|
|
|
1155
1155
|
|
|
1156
|
+
def test_config_set_repeatable_float(tmp_path, monkeypatch):
|
|
1157
|
+
"""Config set writes a float array for a repeatable flag."""
|
|
1158
|
+
monkeypatch.setenv("XDG_CONFIG_HOME", str(tmp_path))
|
|
1159
|
+
app = _make_config_set_app()
|
|
1160
|
+
r = app.test(["config", "set", "rates", "1.5,2.5,3.0"])
|
|
1161
|
+
assert r.exit_code == 0
|
|
1162
|
+
|
|
1163
|
+
config_file = tmp_path / "repapp" / "config.json"
|
|
1164
|
+
data = json.loads(config_file.read_text())
|
|
1165
|
+
assert data["rates"] == [1.5, 2.5, 3.0]
|
|
1166
|
+
|
|
1167
|
+
|
|
1156
1168
|
def test_config_set_escaped_comma(tmp_path, monkeypatch):
|
|
1157
1169
|
r"""Config set handles escaped commas: a\,b,c -> ["a,b", "c"]."""
|
|
1158
1170
|
monkeypatch.setenv("XDG_CONFIG_HOME", str(tmp_path))
|
|
@@ -1297,4 +1309,4 @@ def test_config_set_clear_and_default_error(tmp_path, monkeypatch):
|
|
|
1297
1309
|
app = _make_config_set_app()
|
|
1298
1310
|
r = app.test(["config", "set", "tags", "--clear", "--default"])
|
|
1299
1311
|
assert r.exit_code == 1
|
|
1300
|
-
assert "--clear and --default are mutually exclusive" in r.stderr
|
|
1312
|
+
assert "config set: --clear and --default are mutually exclusive" in r.stderr
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
6e78d5bbca2712fb8e63e4316ea118fff59b992f
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|