Skip to content

diff: no -exclude / -allow-raw — one unparseable live object aborts the whole diff #85

Description

@orian

Symptom

One unparseable or unsupported object aborts an entire live diff run. The live side of diff hardcodes allowRaw=false (cmd/hclexp/hclexp.go:556) and diff exposes neither -allow-raw nor -exclude, so the exclude-patterns feature (#79) only helps introspect/dump-cluster.

Impact

hclexp diff -left ./schema -right clickhouse://... — the most common command — dies on the first transient _tmp_replace_* table or unsupported engine in the live database, with no way to skip it.

Fix direction

Thread -exclude <file> and -allow-raw through the diff subcommand into the introspection call, same semantics as introspect.

Found in the 2026-07-02 deep-dive audit (docs/plans/2026-07-02-deep-dive-improvement-areas.md, B1).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions