Skip to content

Releases: johnbuckman/MacCVS

MacCVS 0.7-alpha

MacCVS 0.7-alpha Pre-release
Pre-release

Choose a tag to compare

@johnbuckman johnbuckman released this 20 Jul 10:08

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, Esc cancels.
  • 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

MacCVS 0.6-alpha Pre-release
Pre-release

Choose a tag to compare

@johnbuckman johnbuckman released this 19 Jul 14:56

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 update on 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

MacCVS 0.5-alpha Pre-release
Pre-release

Choose a tag to compare

@johnbuckman johnbuckman released this 19 Jul 14:17

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 --compare for 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

MacCVS 0.4-alpha Pre-release
Pre-release

Choose a tag to compare

@johnbuckman johnbuckman released this 19 Jul 13:45

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. --diff now accepts any number of files and shows all their CVS diffs together in one window:
    MacCVS --diff lib/a.tcl lib/b.tcl lib/c.tcl
    
    Two-arbitrary-file comparison moved to --compare LEFT RIGHT (e.g. for git 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

MacCVS 0.3-alpha Pre-release
Pre-release

Choose a tag to compare

@johnbuckman johnbuckman released this 19 Jul 13:30

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 log is 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 --diff mode 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

MacCVS 0.2-alpha Pre-release
Pre-release

Choose a tag to compare

@johnbuckman johnbuckman released this 19 Jul 12:53

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

MacCVS 0.1-alpha Pre-release
Pre-release

Choose a tag to compare

@johnbuckman johnbuckman released this 19 Jul 12:28

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).