CARVIEW |
Select Language
HTTP/2 200
server: nginx
date: Wed, 23 Jul 2025 08:15:01 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Wed, 18 Feb 2009 00:48:06 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 246ms
x-archive-orig-etag: "af2fff2cf2ad66ea85a567d49e0a1eb1"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 18901
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Wed, 18 Feb 2009 00:48:06 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sun, 03 Aug 2008 19:09:35 GMT", ; rel="prev memento"; datetime="Mon, 16 Feb 2009 21:20:14 GMT", ; rel="memento"; datetime="Wed, 18 Feb 2009 00:48:06 GMT", ; rel="next memento"; datetime="Thu, 19 Mar 2009 00:02:56 GMT", ; rel="last memento"; datetime="Sat, 30 Mar 2024 04:51:41 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_8_20090217233318_crawl103-c/52_8_20090218004724_crawl101.arc.gz
server-timing: captures_list;dur=0.867320, exclusion.robots;dur=0.035800, exclusion.robots.policy;dur=0.020728, esindex;dur=0.017529, cdx.remote;dur=17.149042, LoadShardBlock;dur=236.561401, PetaboxLoader3.datanode;dur=187.564665, PetaboxLoader3.resolve;dur=122.337824, load_resource;dur=188.803639
x-app-server: wwwb-app222
x-ts: 200
x-tr: 592
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: SERVER=wwwb-app222; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
jcoglan's svn2git at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Description: | Ruby tool for importing existing svn projects into git and github. |
Clone URL: |
git://github.com/jcoglan/svn2git.git
Give this clone URL to anyone.
git clone git://github.com/jcoglan/svn2git.git
|
commit 0ade0f6d04a14f5be19bf8f741d392f9779ea040
tree c056829bcb253fa13ec628dd10f8900009291fd1
parent 65bb0593a83666443b57bf86c35d5e3e63baa9eb
tree c056829bcb253fa13ec628dd10f8900009291fd1
parent 65bb0593a83666443b57bf86c35d5e3e63baa9eb
svn2git /
name | age | message | |
---|---|---|---|
![]() |
MIT-LICENSE | Sun May 04 17:31:59 -0700 2008 | Adding README and license information. [James] |
![]() |
README | Sat Jul 19 06:57:56 -0700 2008 | Removing github support. It's buggy, and I usua... [jcoglan] |
![]() |
Rakefile | Sat Jul 19 06:57:56 -0700 2008 | Removing github support. It's buggy, and I usua... [jcoglan] |
![]() |
bin/ | Sat Jul 19 06:57:56 -0700 2008 | Removing github support. It's buggy, and I usua... [jcoglan] |
![]() |
lib/ | Sat Jul 19 06:57:56 -0700 2008 | Removing github support. It's buggy, and I usua... [jcoglan] |
== svn2git +svn2git+ is a tiny utility for migrating projects from Subversion to Git while keeping the trunk, branches and tags where they should be. It uses git-svn to clone an svn repository and does some clean-up to make sure branches and tags are imported in a meaningful way, and that the code checked into master ends up being what's currently in your svn trunk rather than whichever svn branch your last commit was in. === Examples Say I have this code in svn: trunk ... branches 1.x 2.x tags 1.0.0 1.0.1 1.0.2 1.1.0 2.0.0 git-svn will go through the commit history to build a new git repo. It will import all branches and tags as remote svn branches, whereas what you really want is git-native local branches and git tag objects. So after importing this project I'll get: $ git branch * master $ git branch -a * master 1.x 2.x tags/1.0.0 tags/1.0.1 tags/1.0.2 tags/1.1.0 tags/2.0.0 trunk $ git tag -l [ empty ] After svn2git is done with your project, you'll get this instead: $ git branch * master 1.x 2.x $ git tag -l 1.0.0 1.0.1 1.0.2 1.1.0 2.0.0 Finally, it makes sure the HEAD of master is the same as the current trunk of the svn repo. === Installation Make sure you have git installed, then install the gem: $ sudo apt-get install git-core git-svn $ sudo gem install svn2git === Usage To create a git repo from an existing svn repo: $ svn2git https://svn.yoursite.com/path/to/repo This will create a git repository in the current directory with the git version of the svn repository. If you're not using the standard trunk/branches/tags layout, you can pass arguments to tell git-svn what to look for: $ svn2git https://svn.yoursite.com/path/to/repo trunk=the_trunk tags=taggings === Authors To convert all your svn authors to git format, create a file somewhere on your system with the list of conversions to make, one per line, for example: jcoglan = James Coglan <jcoglan@never-you-mind.com> stnick = Santa Claus <nicholas@lapland.com> Then pass an +authors+ option to +svn2git+ pointing to your file: svn2git https://repos.com/myproject authors=~/authors.txt
This feature is coming soon. Sit tight!