Repository navigation
override.set / override.remove and config.set-content: operations for the web editors - #31
Merged
Merged
Conversation
… the web editors need - OverrideOps: a stage override as an edit operation; the key must resolve against the tree, the base value is untouched, and an environment's last key takes its file with it - ConfigOps.SetContent: replace a whole configuration document (driver config-values, shim-config-info, driver-filter, engine-control-values; the driver set's config-values) with the root element checked - registry entries, tests, getting-started 3.1, CHANGELOG Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two gaps found while building DirXMLDevWeb's W1 editors, where every editor is a front end to the core's operations.
override.set --env E --key K --value Vandoverride.remove --env E --key K. A stage override was only editable as a text file. As operations, the key is resolved against the tree before anything is written, the base value stays untouched, the result notes the base and the previous value, and removing an environment's last key removes its file.config.set-content --kind K [--driver D] --content-file F. Replaces one whole configuration document: a driver'sconfig-values,shim-config-info,driver-filterorengine-control-values, or the driver set'sconfig-values. The root element is checked. This is what a raw-XML editor saves through; the typed operations (gcv.set,filter.set-attr,driver.set) still change one thing at a time.Both go through
Transaction, so validation, the diff of changed files and the refusal on a new error apply as for every other operation. The CLI and the MCP catalog gain them for free.Test plan
mvn -o test: green, withOverrideAndConfigContentOpsTest(set, replace, remove with file deletion, refusals for an unknown key, a bad environment name, the wrong root, malformed XML, a missing driver, an unknown kind)bin/ci-portable.sh: green🤖 Generated with Claude Code