| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Commit 2081a60 has test result changes: bfs testsuite: Test results comparison: Current: TOTAL: 313 / PASSED: 266 / FAILED: 41 / SKIPPED: 6 Reference: TOTAL: 313 / PASSED: 267 / FAILED: 40 / SKIPPED: 6 Changes from main branch: TOTAL: +0 PASSED: -1 FAILED: +1 New test failures (1): - gnu/okdir_path_relative |
Sorry, something went wrong.
|
many jobs are failing |
Sorry, something went wrong.
|
could you please fix the conflict? thanks |
Sorry, something went wrong.
GNU find de-duplicates the files opened by -fprint, -fprintf, -fprint0 and -fls, so `find -fprint foo -fprint foo` writes each line twice. We opened a separate File per predicate, so the two handles had independent file offsets and their writes overwrote each other. Cache opened output files by the path given on the command line and hand out a shared Rc<File>, so repeated references to the same path reuse a single file offset. Fixes uutils#439
|
Commit 2289f66 has test result changes: bfs testsuite: Test results comparison: Current: TOTAL: 317 / PASSED: 274 / FAILED: 37 / SKIPPED: 6 Reference: TOTAL: 314 / PASSED: 266 / FAILED: 42 / SKIPPED: 6 Changes from main branch: TOTAL: +3 PASSED: +8 FAILED: -5 Test improvements (5): + gnu/execdir_path_dot + gnu/execdir_path_empty + gnu/execdir_path_relative + gnu/files0_from_ok + gnu/okdir_path_empty |
Sorry, something went wrong.
Printer::new takes Option<Rc<File>> since the output-file dedup change, but the prints_error_message test still passed a bare File. Wrap it with Rc::new to satisfy the signature and clippy -D warnings.
|
Commit 2b5c84f has test result changes: GNU findutils testsuite: Test results comparison: Current: TOTAL: 495 / PASSED: 421 / FAILED: 73 / SKIPPED: 1 Reference: TOTAL: 495 / PASSED: 420 / FAILED: 74 / SKIPPED: 1 Changes from main branch: TOTAL: +0 PASSED: +1 FAILED: -1 Test improvements (1): + size-invalid.new-O3 |
Sorry, something went wrong.
Codecov Report❌ Patch coverage is 96.15385% with 2 lines in your changes missing coverage. Please review.
@@ Coverage Diff @@
## main #828 +/- ##
==========================================
+ Coverage 92.22% 92.26% +0.03%
==========================================
Files 35 35
Lines 7435 7471 +36
Branches 386 387 +1
==========================================
+ Hits 6857 6893 +36
Misses 437 437
Partials 141 141 ☔ View full report in Codecov by Harness.
|
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Fixes #439.
Problem
GNU find de-duplicates the files opened by its output predicates, so
find . -fprint foo -fprint foo writes each path to foo twice. uutils
opened a separate File for every occurrence of -fprint/-fprintf/
-fprint0/-fls, so each handle had its own file offset and the writes
overwrote one another — only one line per entry survived.
Fix
get_or_create_file now caches opened output files on Config, keyed by the
path as written on the command line (matching GNU's literal-filename
de-duplication), and hands out a shared Rc<File>. Repeated references to the
same path therefore share a single file descriptor and a single file offset.
Printer, Printf and Ls take Option<Rc<File>> instead of Option<File>.
The first reference still truncates, as before.
Tests
Two unit tests in src/find/matchers/mod.rs:
same Rc, and writes through both handles append rather than overwrite.
through build_top_level_matcher with -fprint out -fprint out, asserting
the entry appears twice.
Verified the regression test fails without the fix (reverting just the cache
lookup gives left: "…abbbc\n…abbbc\n" / right: "…abbbc\n").
$ cargo test test result: ok. 228 passed; 0 failed (lib) ... all other suites ok, 0 failed $ cargo clippy --all-targets --all-features -- -D warnings Finished `dev` profile $ cargo fmt --all --check (clean)AI disclosure
This change was written with the assistance of Claude (Anthropic). I have
reviewed the diff, and ran the build, the full test suite, clippy and rustfmt
locally as shown above.