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

umputun / revdiff
89%
master: 90%

Build:
Build:
LAST BUILD BRANCH: refs/tags/v1.6.1
DEFAULT BRANCH: master
Repo Added 01 Apr 2026 08:15AM UTC
Token zpy25XdTlXkHx5U3syYGatR9U5X0sk8oe regen
Build 747 Last
Files 71
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

LAST BUILD ON BRANCH compact-improve
branch: compact-improve
CHANGE BRANCH
x
Reset
Sync Branches
  • compact-improve
  • add-collapsed-flag
  • all-files-mode
  • annotation-list-popup
  • annotation-rowcache
  • ci-shellcheck-yaml
  • code-smells-cleanup
  • codex-plugin
  • collapsed-diff-mode
  • commit-info-popup
  • community-themes
  • compact-diff-mode
  • compare-flag
  • custom-keybindings
  • daulet/new_file
  • daulet/word_highlight
  • dependabot/go_modules/github.com/alecthomas/chroma/v2-2.24.1
  • dependabot/go_modules/github.com/alecthomas/chroma/v2-2.25.0
  • dependabot/go_modules/github.com/alecthomas/chroma/v2-2.26.1
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.11.7
  • dependabot/go_modules/github.com/mattn/go-runewidth-0.0.23
  • dependabot/go_modules/github.com/mattn/go-runewidth-0.0.24
  • diff-search
  • discard-quit
  • docs/pi-package-review-fixes
  • eager-commit-fetch
  • exit-code-on-annotations
  • external-editor-annotations
  • feat/annotation-marker
  • feat/cmux-support
  • feat/history-skill-fallback
  • feat/jj-support
  • feat/launch-script-improvements
  • feat/navigation-scrollbar
  • feat/one-light-chroma-style
  • feat/open-editor-keymap
  • feat/opencode-config-docs
  • feat/overlay-mouse-support
  • feat/preload-annotations
  • feat/review-info-overlay
  • feat/reviewed-files-and-status-indicators
  • feat/scroll-indicators
  • feat/scrollbar-thumb
  • feat/stdin-scratch-buffer
  • feat/toggle-tree-pane
  • feat/tree-focus-diff-scroll
  • feat/untracked-flag
  • feat/wheel-scroll-viewport-only
  • feat/word-diff-highlighting
  • feat/word-diff-opt-in
  • feat/zed-revdiff-task
  • feature/annotation-navigation
  • feature/binary-file-detection
  • feature/layout-agnostic-keys
  • feature/layout-agnostic-keys-v2
  • feature/new-file-and-untracked-support
  • feature/range-hunk-annotations
  • fix-ctrl-du-half-page
  • fix-file-annotation-bugs
  • fix-initial-loading-flash
  • fix-marketplace-name-in-docs
  • fix-prefix-fg-on-highlighted-lines
  • fix-tmux-title-compat
  • fix-tree-wheel-single-step
  • fix-wheel-scroll-coalesce
  • fix-wrap-right-padding
  • fix/124-page-cursor-relative-position
  • fix/center-hunk-in-viewport
  • fix/cmux-close-surface-recycled-ref
  • fix/cmux-ghostty-detection
  • fix/cmux-send-stdout-leak
  • fix/diff-viewport-visual-height-scroll
  • fix/ghostty-improvements
  • fix/issue-203-zellij-popup-size
  • fix/kitty-ssh-remote-launch
  • fix/launcher-argument-quoting
  • fix/only-dot-prefix
  • fix/overlay-path-inheritance
  • fix/pi-revdiff-review-trigger
  • fix/staged-only-empty-diff
  • fix/subdirectory-support
  • fix/theme-persist-ini-section
  • global-hunk-navigation
  • hunk-keyword-expansion
  • include-filter
  • intraline-word-diff
  • iterm2-osascript
  • launcher-override-chain
  • leader-chord-keybindings
  • line-numbers
  • markdown-toc-navigation
  • master
  • mercurial-support
  • mouse-support
  • move-code-to-app
  • only-filter
  • overlay-extraction
  • pi-revdiff-claude-workflow
  • refs/tags/v0.1.0
  • refs/tags/v0.1.1
  • refs/tags/v0.10.0
  • refs/tags/v0.11.0
  • refs/tags/v0.12.0
  • refs/tags/v0.13.0
  • refs/tags/v0.14.0
  • refs/tags/v0.14.1
  • refs/tags/v0.15.0
  • refs/tags/v0.15.1
  • refs/tags/v0.15.2
  • refs/tags/v0.15.3
  • refs/tags/v0.16.0
  • refs/tags/v0.16.1
  • refs/tags/v0.17.0
  • refs/tags/v0.18.0
  • refs/tags/v0.18.1
  • refs/tags/v0.19.0
  • refs/tags/v0.19.1
  • refs/tags/v0.19.2
  • refs/tags/v0.2.0
  • refs/tags/v0.2.1
  • refs/tags/v0.2.2
  • refs/tags/v0.2.3
  • refs/tags/v0.2.4
  • refs/tags/v0.20.0
  • refs/tags/v0.21.0
  • refs/tags/v0.22.0
  • refs/tags/v0.23.0
  • refs/tags/v0.24.0
  • refs/tags/v0.25.0
  • refs/tags/v0.25.1
  • refs/tags/v0.26.0
  • refs/tags/v0.26.1
  • refs/tags/v0.27.0
  • refs/tags/v0.27.1
  • refs/tags/v0.28.0
  • refs/tags/v0.3.0
  • refs/tags/v0.4.0
  • refs/tags/v0.4.1
  • refs/tags/v0.4.2
  • refs/tags/v0.5.0
  • refs/tags/v0.6.0
  • refs/tags/v0.7.0
  • refs/tags/v0.7.1
  • refs/tags/v0.7.2
  • refs/tags/v0.8.0
  • refs/tags/v0.9.0
  • refs/tags/v1.0.0
  • refs/tags/v1.1.0
  • refs/tags/v1.1.1
  • refs/tags/v1.2.0
  • refs/tags/v1.2.1
  • refs/tags/v1.3.0
  • refs/tags/v1.4.0
  • refs/tags/v1.4.1
  • refs/tags/v1.5.0
  • refs/tags/v1.5.1
  • refs/tags/v1.6.0
  • refs/tags/v1.6.1
  • reload
  • rename-aware-diffs
  • revert/197-opencode-symlink
  • revert/opencode-setup-symlink
  • review-findings
  • review-history
  • search-history
  • shell-completions
  • sidepane-extraction
  • single-column-line-numbers-full-context
  • single-file-mode
  • skill-opencode-timeout-fix
  • skill-scripts-hg-jj
  • skill-use-claude-skill-dir
  • status-bar-line-number
  • status-line-help-overlay
  • structural-refactor
  • style-extraction
  • theme-support
  • two-ref-diff
  • ui-package-split
  • update-pi-extension-agent-tool
  • vim-motion-preset
  • widen-annot-list-popup
  • word-wrap
  • worddiff-extraction
  • worktree-bugfix
  • worktree-no-git-file-review
  • wrap-marker-style

23 Apr 2026 06:41PM UTC coverage: 89.355% (-0.2%) from 89.581%
24852531119

Pull #146

github

umputun
fix(diff): use sawHunk flag to guard trailing divider emission

Replaces the prevOldEnd > 1 guard with an explicit sawHunk boolean. The
previous guard conflated "did we process any hunk" with "did the last hunk
end past line 1", so a hypothetical `@@ -0,0 +1,N @@` hunk alongside
totalOldLines > 0 would suppress the trailing divider even though the
hunk was processed (prevOldEnd stays at 1 for that case: 0 + max(0,1) = 1,
the same as the initial value).

Adds a test locking in the behavior. The practical impact is nil today
(git/hg/jj only emit @@ -0,0 on genuinely new files where totalOldLines=0
and the outer guard already skips), but the cleaner guard documents intent
and avoids future surprises.

Addresses Copilot inline review on #146.
Pull Request #146: feat(diff): line-count labels on compact-mode dividers (⋯ N lines ⋯)

75 of 107 new or added lines in 3 files covered. (70.09%)

8251 of 9234 relevant lines covered (89.35%)

454.07 hits per line

Relevant lines Covered
Build:
Build:
9234 RELEVANT LINES 8251 COVERED LINES
454.07 HITS PER LINE
Source Files on compact-improve
  • Tree
  • List 59
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
24852531119 compact-improve fix(diff): use sawHunk flag to guard trailing divider emission Replaces the prevOldEnd > 1 guard with an explicit sawHunk boolean. The previous guard conflated "did we process any hunk" with "did the last hunk end past line 1", so a hypothetical ... Pull #146 23 Apr 2026 06:42PM UTC umputun github
89.35
24852165736 compact-improve fix(diff): address code review findings for divider work - git totalOldLines: check "..." before ".." in ref splitting so A...B takes left operand A (not "A" + ".B"). triple-dot ranges still show the left operand of the range rather than merg... Pull #146 23 Apr 2026 06:34PM UTC umputun github
89.35
24852106266 compact-improve fix(diff): address code review findings for divider work - git totalOldLines: check "..." before ".." in ref splitting so A...B takes left operand A (not "A" + ".B"). triple-dot ranges still show the left operand of the range rather than merg... push 23 Apr 2026 06:33PM UTC umputun github
89.35
See All Builds (653)

Badge your Repo: revdiff

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

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

Refresh
  • Settings
  • Repo on GitHub
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