Releases: johnbuckman/MacCVS
Release list
MacCVS 0.7-alpha
Notarized universal (arm64 + x86_64) build.
Commit from the diff window
- New Commit button in the diff window header, left of the Side by side / Unified picker — commit what you are reviewing without going back to the main window.
- It opens a compact sheet listing the file(s) the window is showing (with their
+/-counts) and a message editor.⌘↵commits,Esccancels. - Commits run through the same path as the main window, so they are logged to the console and the file browser refreshes afterwards. The diff window closes once the commit succeeds, since the diff it was showing no longer exists.
- Multi-file diff windows ("Diff Selected Files") commit the whole set — the sheet lists exactly what is included.
The button appears only for working-copy diffs; it is hidden in --diff / --compare windows, where there is nothing to commit to.
MacCVS 0.6-alpha
Notarized universal (arm64 + x86_64) build.
Diff window
- Discard a hunk — each hunk in the diff now has a Discard button that reverts just that hunk to the committed version; every other hunk is left untouched.
- Discard all — each file header has a Discard all button that reverts the whole file.
- After a discard, MacCVS automatically runs
cvs updateon the file so its status re-stamps correctly (a fully-reverted file goes back to up to date instead of lingering as Modified). The diff window re-reads the file and closes when nothing remains.
Session restore
- The file(s) selected in the file list are remembered and re-selected on the next launch (alongside the already-remembered directory).
- The file-list sort column and direction (Name / Status / Rev) are now remembered across launches.
MacCVS 0.5-alpha
Fifth alpha of MacCVS — a modern, native SwiftUI CVS client for macOS. Universal, Developer ID signed, and notarized.
New in 0.5
- Refined app icon — the terminal now fills the icon edge-to-edge (no outer border), with classic macOS traffic-light window dots.
Recent history
- 0.4 — multi-file
--diff(any number of files in one window) and--comparefor two arbitrary files; terminal app icon. - 0.3 — History (log) window with inline per-revision visual diffs; command-line / diff-only mode; name repositories in the project switcher.
- 0.2 — bundled self-contained universal
cvs(nothing to install); daily self-update from GitHub Releases.
Install
Download MacCVS-0.5-alpha.zip, unzip, drag MacCVS.app to Applications. Requires macOS 14+. Existing installs can update via MacCVS ▸ Check for Updates…
Bundles GNU CVS 1.11.23 (GPL-2); diff viewer adapted from swifty-diff (MIT).
MacCVS 0.4-alpha
Fourth alpha of MacCVS — a modern, native SwiftUI CVS client for macOS. Universal, Developer ID signed, and notarized.
New in 0.4
- New app icon — a terminal window showing
$ cvs update. - Multi-file diffs from the command line.
--diffnow accepts any number of files and shows all their CVS diffs together in one window:Two-arbitrary-file comparison moved toMacCVS --diff lib/a.tcl lib/b.tcl lib/c.tcl--compare LEFT RIGHT(e.g. forgit difftool).
From 0.3
- History (log) window with inline per-revision visual diffs.
- Command-line options and diff-only mode (external diff viewer).
- Name repositories in the project switcher.
From 0.2
- Bundled self-contained universal
cvs(nothing to install), and daily self-update from GitHub Releases.
Install
Download MacCVS-0.4-alpha.zip, unzip, drag MacCVS.app to Applications. Requires macOS 14+. Existing installs can update via MacCVS ▸ Check for Updates…
Bundles GNU CVS 1.11.23 (GPL-2); diff viewer adapted from swifty-diff (MIT).
MacCVS 0.3-alpha
Third alpha of MacCVS — a modern, native SwiftUI CVS client for macOS. Universal, Developer ID signed, and notarized.
New in 0.3
- History (log) window.
cvs logis parsed into a clean timeline of revisions (revision, author, date, ± line counts, message). A Show diffs toggle loads the visual diff each revision introduced, inline and on demand. - Command-line options / external diff viewer.
MacCVS [DIR]or--open DIR— open a working copy.--diff FILE— show the CVS diff (repo vs working) of a file.--diff LEFT RIGHT— visual diff of two files.- In
--diffmode only the diff window is shown and the app quits when it's closed, so other tools (e.g.git difftool) can use MacCVS as a graphical diff viewer.
- Name Repository. Right-click a working copy in the project-switcher column to give it a friendly name, shown in parens after the path.
Carried from 0.2
- Bundled self-contained universal
cvs(nothing to install), and daily self-update from GitHub Releases.
Install
Download MacCVS-0.3-alpha.zip, unzip, drag MacCVS.app to Applications. Requires macOS 14+. (Existing 0.2 installs can update themselves via MacCVS ▸ Check for Updates….)
Bundles GNU CVS 1.11.23 (GPL-2); diff viewer adapted from swifty-diff (MIT).
MacCVS 0.2-alpha
Second alpha of MacCVS — a modern, native SwiftUI CVS client for macOS.
Universal (Apple Silicon + Intel), Developer ID signed, and notarized.
New in 0.2
- Bundled CVS — nothing to install. MacCVS now ships its own self-contained universal
cvs(CVS 1.11.23, linking only system libraries) inside the app and always uses it, so you no longer need to install CVS yourself. - Automatic updates. Once a day MacCVS checks GitHub Releases; if a newer build exists it offers to update, downloads it, verifies it's notarized, and relaunches. Also on demand via MacCVS ▸ Check for Updates…
- Multi-file diff, instant cached diffs, draggable diff divider, line/word highlighting, auto-sized diff window.
Install
Download MacCVS-0.2-alpha.zip, unzip, and drag MacCVS.app to Applications. Requires macOS 14+.
Bundles GNU CVS 1.11.23 (GPL-2); diff viewer adapted from swifty-diff (MIT).
MacCVS 0.1-alpha
First alpha of MacCVS — a modern, native SwiftUI CVS client for macOS, and a successor to the dead Carbon cvsgui MacCVS.
This build is universal (Apple Silicon + Intel), Developer ID signed, and notarized by Apple.
Install
Download MacCVS-0.1-alpha.zip, unzip, and drag MacCVS.app to Applications. You need a cvs binary on your system (e.g. brew install cvs).
Highlights
- Finder-style column browser with a project switcher (recent working copies)
- File list with live CVS status + revision, sortable columns
- Instant local change detection (mtime vs
CVS/Entries, no network) via FSEvents - Background base-revision prefetch → instant diffs
- Native side-by-side diff window with line/word highlighting, unified toggle, draggable divider, and multi-file diffs
- Update / Commit / Diff / Log / Add / Revert
Requires macOS 14 (Sonoma) or later.
🤖 Diff viewer adapted from swifty-diff (MIT).