CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Fri, 05 Sep 2025 06:53:33 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20180611025410
location: https://web.archive.org/web/20180611025410/https://github.com/rberger/svn2git
server-timing: captures_list;dur=6.919278, exclusion.robots;dur=0.042912, exclusion.robots.policy;dur=0.020826, esindex;dur=0.019906, cdx.remote;dur=26.438436, LoadShardBlock;dur=155.821261, PetaboxLoader3.datanode;dur=51.656025, PetaboxLoader3.resolve;dur=25.973721
x-app-server: wwwb-app204
x-ts: 302
x-tr: 273
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie: wb-p-SERVER=wwwb-app204; 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=()
HTTP/2 200
server: nginx
date: Fri, 05 Sep 2025 06:53:34 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: GitHub.com
x-archive-orig-date: Mon, 11 Jun 2018 02:54:11 GMT
x-archive-orig-transfer-encoding: chunked
x-archive-orig-status: 200 OK
x-archive-orig-cache-control: no-cache
x-archive-orig-vary: X-PJAX
x-archive-orig-set-cookie: logged_in=no; domain=.github.com; path=/; expires=Fri, 11 Jun 2038 02:54:11 -0000; secure; HttpOnly
x-archive-orig-set-cookie: _gh_sess=R0lSd2grYlBTWFh4ZTl3aS9oNlc5Q3V4dVBiMWhUVFVubUlTNDFkN3IvdGJmTSs1cm02bDBaRXZnYnJtOC9KNGpyd1VDcWRmRTBoQ2N0QStzMXl0RnU4V294SmxQaURYcjY1Ri9YNElNVVV0MzNVRHY1S2xFelRkNzFGZ2gwcTVxSmhHQ0d2NUErRXlkTTE2R0lPdHo2dllKZ3ZuUzlDbUVFWjNzRjhXVlRVODVQc2w2dy9lL2I3THNSc05TUzgySHFrOWtQQ0pYMktieks0MTY3RURDMDB3S2V5OTUxT2lNQ1I3bmUrVjdQeTB0UDNmMlRiYngrbXhhNjJva3Z3VXlNczkzR0dITWlLTFVMUDRxK3h4am5Tall3Q0ZCbVRMTCtsVllBNFF1U2hORTN5WTdpVnV6aHZvWkpTajBJQytVbVgzM3I1L3I5dXZtUFVRdWxYOVk5Z1BlMlZpQTEzYitnaGNTUjBGWUo0SGZNcHloZUZQOGFtRDQ0WXVTZ3NSVkZMQWNOMUhqaE1uWWtiUEI5MXNvQ3AxVEpZam9HWGlGUHBRMmdZdEowTT0tLUMxWEhxeWJRL0FkNHJYc2Jrc3pNOFE9PQ%3D%3D--16a1bb82313c19d41991a55055584a129340e09d; path=/; secure; HttpOnly
x-archive-orig-x-request-id: 2fdcd14e-53ab-4148-a089-e972c2236e64
x-archive-orig-x-runtime: 0.344969
x-archive-orig-strict-transport-security: max-age=31536000; includeSubdomains; preload
x-archive-orig-x-frame-options: deny
x-archive-orig-x-content-type-options: nosniff
x-archive-orig-x-xss-protection: 1; mode=block
x-archive-orig-expect-ct: max-age=2592000, report-uri="https://api.github.com/_private/browser/errors"
x-archive-orig-content-security-policy: default-src 'none'; base-uri 'self'; block-all-mixed-content; connect-src 'self' uploads.github.com status.github.com collector.githubapp.com api.github.com www.google-analytics.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com wss://live.github.com; font-src assets-cdn.github.com; form-action 'self' github.com gist.github.com; frame-ancestors 'none'; frame-src render.githubusercontent.com; img-src 'self' data: assets-cdn.github.com identicons.github.com collector.githubapp.com github-cloud.s3.amazonaws.com *.githubusercontent.com; manifest-src 'self'; media-src 'none'; script-src assets-cdn.github.com; style-src 'unsafe-inline' assets-cdn.github.com
x-archive-orig-x-runtime-rack: 0.354720
x-archive-orig-x-github-request-id: 93EE:57C0:5B6C4D5:A4F960D:5B1DE452
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Mon, 11 Jun 2018 02:54:10 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Mon, 11 Jun 2018 02:54:10 GMT", ; rel="memento"; datetime="Mon, 11 Jun 2018 02:54:10 GMT", ; rel="next memento"; datetime="Sun, 29 Nov 2020 07:09:43 GMT", ; rel="last memento"; datetime="Sun, 29 Nov 2020 07:09:43 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: archiveteam_github_20180704020939/archiveteam_github_20180704020939.megawarc.warc.gz
server-timing: captures_list;dur=0.626329, exclusion.robots;dur=0.024657, exclusion.robots.policy;dur=0.011866, esindex;dur=0.012908, cdx.remote;dur=4.594468, LoadShardBlock;dur=132.880261, PetaboxLoader3.datanode;dur=204.396875, PetaboxLoader3.resolve;dur=200.757273, load_resource;dur=283.399427
x-app-server: wwwb-app204
x-ts: 200
x-tr: 516
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
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
GitHub - rberger/svn2git: Ruby tool for importing existing svn projects into git and github.
Fetching latest commit…
Permalink
Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Ruby tool for importing existing svn projects into git and github.
Clone or download
Launching GitHub Desktop...
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop...
If nothing happens, download GitHub Desktop and try again.
Launching Xcode...
If nothing happens, download Xcode and try again.
Launching Visual Studio...
If nothing happens, download the GitHub extension for Visual Studio and try again.
Pull request
Compare
This branch is 1 commit behind jcoglan:master.

Cannot retrieve the latest commit at this time.
Failed to load latest commit information. | |||
![]() |
bin | ||
![]() |
lib | ||
![]() |
MIT-LICENSE | ||
![]() |
README | ||
![]() |
Rakefile |
README
== 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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.