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
- https://github.com/nothingmuch/git-svn-abandon
- GitHub: nothingmuch/git-svn-abandon
- Brew formula source: Formula/g/git-svn-abandon.rb
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
}