What I observed
If .git/info/exclude contains /.rift, rift init treats the marker rule as present even though Git does not ignore .rift.
Reproduction
cargo build --locked
probe=$(mktemp -d /tmp/rift-gitignore-space.XXXXXX)
mkdir -p "$probe/source"
git -C "$probe/source" init
printf ' /.rift\n' > "$probe/source/.git/info/exclude"
target/debug/rift --database "$probe/registry.sqlite" init --here "$probe/source"
git -C "$probe/source" check-ignore --quiet .rift; echo "check-ignore: $?"
git -C "$probe/source" status --short
cat "$probe/source/.git/info/exclude"
init succeeds and leaves info/exclude unchanged. git check-ignore exits 1, and git status --short reports:
The Hegel property minimized the failing prefix to one leading space.
Expected
After rift init, Git ignores .rift.
Actual
Rift accepts a line that Git does not interpret as the /.rift ignore rule, leaving the marker untracked.
Environment
- Rift commit
757a22cb247f
- macOS 26.6.2, arm64, APFS
What I observed
If
.git/info/excludecontains/.rift,rift inittreats the marker rule as present even though Git does not ignore.rift.Reproduction
initsucceeds and leavesinfo/excludeunchanged.git check-ignoreexits 1, andgit status --shortreports:The Hegel property minimized the failing prefix to one leading space.
Expected
After
rift init, Git ignores.rift.Actual
Rift accepts a line that Git does not interpret as the
/.riftignore rule, leaving the marker untracked.Environment
757a22cb247f