Skip to content
This repository was archived by the owner on Jun 28, 2026. It is now read-only.

Support for generating YAML diff files in Content.YAMLLinter#48

Open
mqole wants to merge 10 commits into
Space-Wizards-Federation:masterfrom
mqole:yaml-diffs
Open

Support for generating YAML diff files in Content.YAMLLinter#48
mqole wants to merge 10 commits into
Space-Wizards-Federation:masterfrom
mqole:yaml-diffs

Conversation

@mqole

@mqole mqole commented Jun 19, 2026

Copy link
Copy Markdown

space-wizards/RobustToolbox#6131
requires Space-Wizards-Federation/space-station-14#109 to work with command line

I take no credit for all the node parsing, @perryprog did the initial work on this. I just iterated off that.

using IPrototypeManager to serialize entities we can output a .yml list of entities that includes components inherited from parents. Using the DiffPlex library (which i hope i have added correctly?) we can then generate a differential between two of these .yml lists.

NOTE: have been told from a reputable source (april) that Diffplex is kinda doodoo. If we dont want to use it someone may need to help write some new diff tooling (april also volunteered for this, but that was months ago)

Also got a content-side PR to add arguments to Content.YAMLLinter's command line to be able to run this pretty easily.
image

To use, first run with --save to create the before state, make changes, then run with --diff.
example output git gist

I dont have a strong frame of reference for a lot of the systems this PR works with so am more than happy to make any changes that may improve code functionality or readability.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants