Why the winner can differ by attribute
Matching rules override each attribute independently. A later eol assignment can replace eol while retaining an earlier filter or diff assignment. Nested files take priority over their parents, and info/attributes can override the work-tree policy. Macros expand only when their effective invocation is Set. Consult the Git attributes reference and pattern syntax reference.
Verify against the intended Git snapshot
Use git check-attr -a -- path/to/file for the installed client’s effective assignments. Use git ls-files --eol to inspect actual index and work-tree line endings. Review Git archive’s attribute-source rules and inspect a locally generated archive for the intended commit. Driver configuration and content conversion require local verification.
Frequently asked questions
Why is an Unset child still excluded from an archive?
Archive traversal first checks parent directories. When a parent is excluded, traversal never reaches that child. Its file-level export-ignore state can still be Unset; the directory exclusion governs inclusion.
Does text=auto mean a file is definitely converted?
It declares automatic detection. File bytes and existing index line endings can affect the outcome, so this simulator reports a conditional policy rather than inventing the actual content result.
Can I test Git LFS filters or custom merge drivers?
You can trace filter, diff, and merge attribute names and driver values. This tool does not run the driver, read its configuration, fetch objects, or predict its output.
Browse developer tools · Systems tools · All ToolQuill tools