This is an automated email from the ASF dual-hosted git repository.
xushiyan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hudi-rs.git
The following commit(s) were added to refs/heads/main by this push:
new f32b0eee fix: stop .gitignore from swallowing test fixtures (#676)
f32b0eee is described below
commit f32b0eee45d8b619e375926a7dc3c42196375e7e
Author: Lin Liu <[email protected]>
AuthorDate: Sun Aug 9 12:21:33 2026 -0700
fix: stop .gitignore from swallowing test fixtures (#676)
`.gitignore` line 21 is `**/data`, which also matches `crates/test/data/`
and
`crates/core/tests/data/` -- where every test fixture lives. Any fixture
added
with `git add -A` or `git add .` is silently skipped: the add succeeds and
stages nothing, so the tests pass locally and CI fails on tables nobody can
see
are missing. The rule arrived in #538, a benchmark PR that incidentally
started
hiding the fixture directories; existing fixtures still work only because
they
were tracked before it landed.
Re-include the two fixture directories. The directory itself has to be
re-included, not just its contents -- git never descends into an excluded
directory, so a pattern matching only the files never fires.
Verified in both directions:
$ git check-ignore -v
crates/test/data/quickstart_trips_table/mor/avro/table_log_only.zip
$ git check-ignore -v
crates/core/tests/data/i3/modern_3level_map.parquet
(no output -- no longer ignored)
$ git check-ignore -v demo/data target/data
.gitignore:21:**/data demo/data
.gitignore:20:**/target target/data
(still ignored)
Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
---
.gitignore | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/.gitignore b/.gitignore
index 9e15a144..93342c74 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,6 +21,14 @@
**/data
**/results
+# Test fixtures live under a data/ directory and must be committed; without
this
+# they are silently swallowed by the rule above and CI fails on tables nobody
+# can see are missing.
+# The directory itself has to be re-included, not just its contents — git never
+# descends into an excluded directory, so a pattern for the files alone is
dead.
+!crates/test/data/
+!crates/core/tests/data/
+
/.idea
.vscode