Files
accounted/.gitattributes
T
Jakob Wennberg 6dcd401fb5 chore: union-merge DECISIONS.md to stop phantom-green conflicting PRs (#1351)
Every concurrent PR appends to DECISIONS.md, so any two of them conflict
at EOF. The real damage is not the conflict: GitHub runs no Actions on a
conflicting PR, so `gh pr checks` shows a short all-pass list that reads
as green when the test suite never ran. Union merge keeps both sides,
which is the correct semantics for an append-only log with no ordering
contract beyond the date prefix.

Co-authored-by: Jakob Wennberg <jakob.wennberg@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 14:03:19 +02:00

29 lines
1.4 KiB
Plaintext

# Force LF on shell scripts and Docker-related files so Windows checkouts
# don't ship CRLF into Linux containers (the container would fail to exec
# a `#!/bin/sh\r` shebang).
*.sh text eol=lf
Dockerfile text eol=lf
docker-entrypoint.sh text eol=lf
docker/Caddyfile text eol=lf
docker/crontab.* text eol=lf
# Generated taxonomy registry is compared byte-for-byte by `npm run
# taxonomy:check` (CI); keep LF on Windows checkouts so the local check
# matches what the generator writes.
lib/bokslut/ixbrl/taxonomy/generated/*.json text eol=lf linguist-generated=true
# The extension registry is rewritten with LF by `setup:extensions` on every
# dev/build, and Vitest rewrites snapshots with LF. With core.autocrlf=true
# git would expect CRLF and flag these as phantom modifications; pin LF so
# the working tree matches what the generators write.
lib/extensions/_generated/** text eol=lf linguist-generated=true
*.snap text eol=lf linguist-generated=true
# DECISIONS.md is an append-only log that every concurrent PR writes to, so
# two PRs touching it always conflict at EOF. That is worse than it sounds:
# GitHub runs ZERO Actions on a conflicting PR, so `gh pr checks` returns a
# short all-pass list that looks green while nothing actually ran. A union
# merge keeps both sides' lines (the file has no ordering contract beyond
# the date prefix), which is exactly the right semantics for an append log.
DECISIONS.md merge=union