# Install cvs-fast-export with Homebrew, apk, apt, MacPorts, Nix

Export an RCS or CVS history as a fast-import stream. Version 2.3 via Homebrew; verified 2026-07-27. Also installable with debian: sudo apt install cvs-fast-export.

## Install

```sh
sudo av install brew:cvs-fast-export
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install cvs-fast-export
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install cvs-fast-export
```

  Evidence: MacPorts ports tree: devel/cvs-fast-export/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add cvs-fast-export
```

  Evidence: Alpine Linux edge package indexes: cvs-fast-export from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install cvs-fast-export
```

  Evidence: Debian stable package indexes: cvs-fast-export from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#cvs-fast-export
```

  Evidence: nixpkgs package indexes: pkgs/by-name/cv/cvs-fast-export/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:cvs-fast-export
- **Package manager:** Homebrew
- **Version:** 2.3
- **Source summary:** Export an RCS or CVS history as a fast-import stream
- **Homepage:** <http://www.catb.org/~esr/cvs-fast-export/>
- **Last updated:** 2026-07-27T22:04:06+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- cvs-fast-export (alias)
- cvsconvert (alias)
- cvssync (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.3
## Project history and usage

cvs-fast-export converts RCS or CVS repository history into a Git fast-import stream. Its official README says it analyzes RCS master files, emits a fast-import history when possible, warns on histories it cannot represent, and can also visualize the resulting commit DAG.

### Project history

The official hacker's guide says the program began as Keith Packard's one-off `parsecvs` hack in early 2006 during the X repository migration from CVS to Git. Bart Massey briefly maintained it before Eric S. Raymond took over in late 2012, added the fast-export output stage, renamed the project, and later made the parser re-entrant and parallelized master-file ingestion.

### Adoption history

The tool belongs to the post-CVS migration era, where package maintainers and project archivists needed trustworthy conversion of old CVS and RCS histories into Git. The official resource page explicitly notes that it is commonly packaged as cvs-fast-export and that related package names include cvs-fast-export-tools and cvs-fast-export-doc.

### How it is used

Users point cvs-fast-export at CVS or RCS master files and pipe or save the generated stream for Git import. The distribution also ships `cvssync` for fetching remote CVS masters, `cvsconvert` for trial conversion and content-mismatch checks against the original CVS, and `cvsstrip` for reducing bug reports to metadata-only trees.

### Why package nerds care

For package-history work, cvs-fast-export is unusually meta: it exists to rescue the history behind older packages. Its NEWS file documents years of edge-case fixes around CVS timestamps, vendor branches, ignore files, branch topology, fast-export compatibility, and in 2026 a port from C to Go intended to eliminate chronic memory-corruption failure modes.

### Timeline

- 2006: Originated as Keith Packard's `parsecvs` during the X CVS-to-Git migration.
- 2012: Eric S. Raymond took over maintenance and added fast-export output.
- 2015: GitLab project created and release 1.32 noted a source type declaration for reposurgeon.
- 2020: buildprep script added to simplify source builds.
- 2026: Version 2.0 ported the code to Go.
- 2026: Version 2.2 released on June 21.

### Related projects

- The README and hacker's guide connect cvs-fast-export to Git fast-import, CVS, RCS, Graphviz DOT output, reposurgeon, cvssync, cvsconvert, and cvsstrip.

### Sources

- <http://www.catb.org/~esr/cvs-fast-export/>
- <https://gitlab.com/esr/cvs-fast-export/-/raw/master/README.adoc>
- <https://gitlab.com/esr/cvs-fast-export/-/raw/master/NEWS.adoc>
- <https://gitlab.com/esr/cvs-fast-export/-/raw/master/hacking.adoc>
- <https://gitlab.com/api/v4/projects/esr%2Fcvs-fast-export>
- <https://gitlab.com/esr/cvs-fast-export/-/tags?format=atom>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Other Package-Manager Records

- Debian apt - cvs-fast-export - 1.59-1+b1: normalized package name match | Debian stable package indexes: cvs-fast-export from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Export an RCS or CVS history as a fast-import stream | http://www.catb.org/esr/cvs-fast-export/
- Nix - cvs-fast-export: normalized package name match | nixpkgs package indexes: pkgs/by-name/cv/cvs-fast-export/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - cvs-fast-export - 1.59-1: normalized package name match | Ubuntu 24.04 LTS package indexes: cvs-fast-export from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Export an RCS or CVS history as a fast-import stream | http://www.catb.org/esr/cvs-fast-export/
- apk - cvs-fast-export - 1.68-r0: normalized package name match | Alpine Linux edge package indexes: cvs-fast-export from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Export RCS or CVS history as a fast-import stream | http://www.catb.org/esr/cvs-fast-export/
- apk - cvs-fast-export-doc - 1.68-r0: normalized package name match | Alpine Linux edge package indexes: cvs-fast-export-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Export RCS or CVS history as a fast-import stream (documentation) | http://www.catb.org/esr/cvs-fast-export/
- apk - cvs-fast-export-tools - 1.68-r0: normalized package name match | Alpine Linux edge package indexes: cvs-fast-export-tools from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Export RCS or CVS history as a fast-import stream (extra tools) | http://www.catb.org/esr/cvs-fast-export/
- MacPorts - cvs-fast-export: normalized package name match | MacPorts ports tree: devel/cvs-fast-export/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/cvs-fast-export.yml](https://github.com/mxcl/pkgdb/blob/main/combined/cvs-fast-export.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
