• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dcdpr / jp / 25501572885
66%

Build:
DEFAULT BRANCH: main
Ran 07 May 2026 02:21PM UTC
Jobs 1
Files 301
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 May 2026 02:18PM UTC coverage: 66.18% (+0.04%) from 66.139%
25501572885

push

github

web-flow
chore(tools): Add `git_diff_file` and fix deleted-file diff bugs (#621)

`git_diff` truncates each file's diff at 50 lines to keep the overview
manageable. Previously, users had to re-run with `paths` to see a full
diff, but `git_diff` applied the same per-file cap regardless — there
was no escape hatch.

`git_diff_file` fills that gap. It is the working-tree analog of
`git_diff_commit`: given a `status` and a required `paths` list, it
returns the full diff for those files, with an optional `pattern`
parameter to grep within large diffs (same behavior as
`git_diff_commit`). Diffs beyond 500 lines are truncated and the user is
directed to use `pattern`.

To share the `grep_diff` and `truncate_diff` logic between
`git_diff_commit` and `git_diff_file`, those helpers were extracted into
a new `diff_filter` module.

Two bugs in `git_diff` were also fixed:

- Deleted-file paths caused `git diff-index` and `git diff-files` to
abort with "fatal: no such path in the working tree" because git
resolved paths against the working tree before the `--` separator.
Adding `--` to both commands fixes this.
- A non-zero git exit with empty stdout was previously reported as "No
changes." instead of surfacing the actual error. The tool now returns an
error outcome in that case.

The `git_diff` tool description and skill config were updated to clarify
that `paths` narrows the file overview but does not bypass the per-file
truncation cap, and to point users to `git_diff_file` when they need a
full diff.

---------

Signed-off-by: Jean Mertz <git@jeanmertz.com>

206 of 218 new or added lines in 4 files covered. (94.5%)

1 existing line in 1 file now uncovered.

25668 of 38785 relevant lines covered (66.18%)

205.38 hits per line

Uncovered Changes

Lines Coverage ∆ File
9
85.0
.config/jp/tools/src/git/diff_file.rs
3
97.83
.config/jp/tools/src/git/diff_filter.rs

Coverage Regressions

Lines Coverage ∆ File
1
98.18
0.36% .config/jp/tools/src/git.rs
Jobs
ID Job ID Ran Files Coverage
1 25501572885.1 07 May 2026 02:21PM UTC 301
66.18
GitHub Action Run
Source Files on build 25501572885
  • Tree
  • List 301
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25501572885
  • 4d6432dd on github
  • Prev Build on main (#25497345506)
  • Next Build on main (#25508761275)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc