dyff
dyff copied to clipboard
Missing document separators when Kubernetes documents have been added/removed
When comparing a list of Kubernetes manifests against each other and some documents have been added or removed, there are no document separators in the "documents removed"/"documents added" output, so all the manifests run together.
Example:
# a.yaml
---
apiVersion: v1
kind: Namespace
metadata:
name: a
---
apiVersion: v1
kind: Namespace
metadata:
name: b
# x.yaml
---
apiVersion: v1
kind: Namespace
metadata:
name: x
---
apiVersion: v1
kind: Namespace
metadata:
name: y
$ dyff between -ib a.yaml x.yaml
(file level)
- two documents removed: ---
--- apiVersion: v1
apiVersion: v1 kind: Namespace
kind: Namespace metadata:
metadata: │ name: x
│ name: a apiVersion: v1
apiVersion: v1 kind: Namespace
kind: Namespace metadata:
metadata: │ name: y
│ name: b
I would expect it to look something like this instead:
- two documents removed: ---
--- apiVersion: v1
apiVersion: v1 kind: Namespace
kind: Namespace metadata:
metadata: │ name: x
│ name: a ---
--- apiVersion: v1
apiVersion: v1 kind: Namespace
kind: Namespace metadata:
metadata: │ name: y
│ name: b
apparently fixed by commit b513ffa
dyff between -ib a.yaml x.yaml
metadata.name (v1/Namespace/y)
± value change
- b
+ y
metadata.name (v1/Namespace/x)
± value change
- a
+ x