🍺 BREW Explorer

← all formulae

git-svn-abandon

brew install git-svn-abandon v0.0.1 MIT

History-preserving svn-to-git migration

2
30-day installs · #14637
4
90-day · #16092
16
365-day · #15118
112
★ GitHub stars · updated 9y ago

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "History-preserving svn-to-git migration",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:38:06+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "git-svn-abandon",
  "github_default_branch": "master",
  "github_last_commit_at": "2017-02-17T17:16:58Z",
  "github_readme_excerpt": "Installation:\n=============\n\nPlace these scripts anywhere in `$PATH` (e.g. create symlinks in\n`/usr/local/bin`) and make sure they are executable, just like any other\nscript. The `git` command will know how to find them.\n\n\nUsage:\n======\n\nSee [my detailed blog post][1] for a how-to.\n\n[1]: http://blog.woobling.org/2009/06/git-svn-abandon.html\n\nIn brief:\n\n1. Install (above), then git svn clone your repo, preferably\n   using Sam Vilain\u0027s [svn-merge-attrs branch]\n   (http://github.com/samv/git/tree/svn-merge-attrs), using\n   `--prefix svn`.  This assumes standard layout.\n\n2. Inside the repo run `git svn-abandon-fix-refs`\n\n3. Create `.git/info/grafts` file for merge commits\n   (might not be necessary with the svn-merge-attrs branch).\n   This is just if you have any svn merges that occurred between branches.\n\n4. Run `git-svn-abandon-cleanup`\n\nThe resulting repository should have only `refs/heads/*` and tags.\nAll svn tags are recreated as annotated tags.\n\n`git-svn-id:` and svk message pollution is cleaned up.\n\nWhen you have a merge commit that is not recognized as such, the grafts file\ncan be used to add additional parents, preserving history information.\n\nTroubleshooting:\n=======\n\nYou may get this error message:\n\n    % git svn-abandon-fix-refs\n    git: \u0027svn-abandon-fix-refs\u0027 is not a git-command. See \u0027git --help\u0027.\n\nThis means you haven\u0027t placed those scripts in your `PATH`.\n\n\nAlternatives\n=======\n\nIf this script is too slow for a large repository, or doesn\u0027t handle something\ncomplicated look into Snerp Vortex:\n\n\thttp://github.com/rcaputo/snerp-vortex\n\nFor a simpler approach, several `svn2git` scripts exist, in both Ruby and Perl.\n\nMaintenance:\n=======\n\nThese commands are more for abandoning SVN in favour of git and getting as\nclean a history as possible. Maintenance is just like a normal git repository.\n\nAfter `git svn-abandon-cleanup` has been run, `git svn rebase` can\u0027t be run\nanymore, so you can\u0027t bring it up to date without keeping the old SVN repo\naround and grafting ",
  "github_repo": "nothingmuch/git-svn-abandon",
  "github_stars": 112,
  "github_topics": [],
  "homepage": "https://github.com/nothingmuch/git-svn-abandon",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 2,
  "installs_365d": 16,
  "installs_90d": 4,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "MIT",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "git-svn-abandon",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 14637,
  "rank_365d": 15118,
  "rank_90d": 16092,
  "raw_hash": "4a1f1d0ea5eb73a0",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/g/git-svn-abandon.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": "HEAD",
  "version_stable": "0.0.1",
  "versioned_formulae": [],
  "why_use_this": null
}