# Install git-svn-abandon with Homebrew

History-preserving svn-to-git migration. Version 0.0.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:git-svn-abandon
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install git-svn-abandon
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:git-svn-abandon
- **Package manager:** Homebrew
- **Version:** 0.0.1
- **Source summary:** History-preserving svn-to-git migration
- **Homepage:** <https://github.com/nothingmuch/git-svn-abandon>
- **Repository:** <https://github.com/nothingmuch/git-svn-abandon>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- git-svn-abandon-cleanup (alias)
- git-svn-abandon-fix-refs (alias)
- git-svn-abandon-msg-filter (alias)

## Install behavior

- Bottle: not available

## Freshness

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

git-svn-abandon is a small suite of Git extension scripts for turning a git-svn working repository into a plain Git repository after a Subversion migration.

### Project history

The README frames the project as a workflow for abandoning SVN in favor of Git while keeping a clean history. The documented process starts from a git-svn clone, runs `git svn-abandon-fix-refs`, optionally adds `.git/info/grafts` for merge commits, and then runs `git-svn-abandon-cleanup`.

### Adoption history

Adoption evidence is limited to the upstream repository and package-manager presence. Homebrew packages version 0.0.1 and also exposes a HEAD build, reflecting the tool's role as a niche migration helper rather than a broad day-to-day Git workflow package.

### How it is used

Practitioners use it after a git-svn import to convert SVN remote references into normal Git heads and tags, recreate SVN tags as annotated Git tags, remove git-svn-id and SVK message noise, and apply grafts where merge ancestry has to be supplied manually. After cleanup, the README warns that `git svn rebase` can no longer be used against the converted repository.

### Why package nerds care

Its significance is as a fossil of the SVN-to-Git migration era: a packageable set of `git-*` commands that extends Git's subcommand discovery and handles a one-way repository conversion step that core Git intentionally leaves to external tooling.

### Timeline

- 2009: README links to the author's detailed git-svn-abandon how-to.
- 0.0.1: Homebrew packages the upstream release as git-svn-abandon.

### Related projects

- git-svn-abandon builds on git-svn and points users toward Snerp Vortex and svn2git-style scripts when a repository is too large or complex for its own cleanup scripts.

### Sources

- <https://formulae.brew.sh/formula/git-svn-abandon>
- <https://github.com/nothingmuch/git-svn-abandon#readme>
- <https://raw.githubusercontent.com/nothingmuch/git-svn-abandon/master/README.mkdn>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Combined YAML source

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


## Sources

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