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
 

Reply via email to