CINXE.COM
SVN to Git Migration - TMate SubGit
<!doctype html><html> <head> <title>SVN to Git Migration - TMate SubGit</title> <meta charset='utf-8'/> <meta name='viewport' content='width=device-width, initial-scale=1.0, user-scalable=no'/> <meta name="google-site-verification" content="5HhYvGjifgnndvSUZR6fWa3t4Cu9aMTFG1lF8AdDFIw" /> <meta name='description' content='TMate SubGit is a tool for teams that migrate from SVN to Git. It converts SVN repositories to Git and allows you to work with both systems simultaneously.'/> <link href='/static/s/all.css?1590948618' rel='stylesheet'/> <link href='/static/i/favicon.png' rel='icon'/> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-25451601-4"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-25451601-4'); </script> <!--script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter47952251 = new Ya.Metrika2({ id:47952251, clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/tag.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks2"); </script> <noscript><div><img src="https://mc.yandex.ru/watch/47952251" style="position:absolute; left:-9999px;" alt="" /></div></noscript--> </head> <body class='main-page'> <div class='cookies'> <div class='wrapper clearfix'> <p>This site uses cookies to improve your customer experience. For more details please read our <a href='/documentation/privacy-policy.html'>Privacy Policy</a>.</p> <a class='close-cookies' href='#'><img src='/static/i/close-white.png'/></a> </div> </div> <header class='wrapper clearfix'> <a href='/' class='logo'>SUBGIT</a> <a href='#' class='nav-toggle'></a> <nav> <a href='/download'>Download</a> <a href='/pricing'>Pricing</a> <a href='/support'>Support</a> <a href='/documentation'>Documentation</a> <a href='#' class='red show-contact' data-subject='tech'>Contact Us</a> </nav> <a href='/download' class='get-started button simple little ' data-title='Sign up for a free license'>Get Started</a> </header> <main> <section class='hello wrapper'> <h1>The ultimate solution for <span class='blue'>SVN</span> to <span class='red'>GIT</span> migration</h1> <p class='red bold'>Works on all platforms! Choose yours.</p> </section> <section class='server'> <div class='tabs'> <span class='tabs-arrow tabs-arrow-left'></span> <ul class='clearfix'> <li class='git active' data-content='git'></li> <li class='gitlab' data-content='gitlab'></li> <li class='bitbucket' data-content='bitbucket'></li> <li class='github' data-content='github'></li> <li class='gerrit' data-content='gerrit'></li> </ul> <span class='tabs-arrow tabs-arrow-right'></span> </div> <div class='tabs-content'> <div class='git active'> <div class='started'> <div class='wrapper clearfix'> <p>TMate SubGit is a tool for teams that migrate from SVN to Git. It converts SVN repositories to Git and allows you to work with both systems simultaneously.</p> <a href='/download' class='button blue' data-server='anyserver'>GET STARTED</a> </div> </div> <div class='server-content wrapper text'> <h2>Create an <span class='blue'>SVN</span><span class='brown'> || </span><span class='red'>Git</span> Mirror with SubGit</h2> <ul> <li>SubGit is to be installed on your Git server. It detects the settings of your remote SVN repository, downloads SVN revisions and converts them to Git commits.</li> <li>SubGit keeps both repositories in sync. Each time any user pushes a new commit to Git, SubGit converts and sends it to SVN. It also pulls new revisions from SVN as soon as they appear.</li> <li>SVN and Git users see each other's commits as if they were all working in the same system. SubGit prevents possible conflicts between the systems and maintains the integrity of the mirror.</li> </ul> </div> </div> <div class='gitlab'> <div class='started'> <div class='wrapper clearfix'> <p>TMate SubGit is a tool for teams that migrate from SVN to GitLab. It converts SVN repositories to GitLab and allows you to work with both systems simultaneously.</p> <a href='/download' class='button blue' data-server='gitlab'>GET STARTED</a> </div> </div> <div class='server-content wrapper text'> <h2>Create an <span class='blue'>SVN</span><span class='brown'> || </span><span class='red'>GitLab</span> Mirror with SubGit</h2> <ul> <li>SubGit is to be installed on your GitLab server. It detects the settings of your remote SVN repository, downloads SVN revisions and converts them to Git commits.</li> <li>SubGit keeps both repositories in sync. Each time any user pushes a new commit to GitLab, SubGit converts and sends it to SVN. It also pulls new revisions from SVN as soon as they appear.</li> <li>SVN and GitLab users see each other's commits as if they were all working in the same system. SubGit prevents possible conflicts between the systems and maintains the integrity of the mirror.</li> </ul> </div> </div> <div class='bitbucket'> <div class='started'> <div class='wrapper clearfix'> <p>TMate SubGit is available for Bitbucket as an add-on called SVN Mirror. Install it from Atlassian Marketplace, convert your SVN repositories to Git and work with both systems simultaneously.</p> <a href='https://marketplace.atlassian.com/plugins/org.tmatesoft.subgit.stash-svn-importer/server/overview' target='_blank' class='button blue' data-server='bitbucket'>GET STARTED</a> </div> </div> <div class='server-content wrapper text'> <h2>Migrate from <span class='blue'>SVN</span><span class='brown'> to </span><span class='red'>Bitbucket</span> with SVN Mirror add-on</h2> <ul> <li>Install SVN Mirror add-on from the Administration menu of your Bitbucket Server and provide the credentials of your remote SVN repository. It will detect the settings of this repository, download revisions and convert them to Git commits.</li> <li>SVN Mirror keeps both repositories in sync. Each time any user pushes a new commit to Bitbucket, SVN Mirror converts and sends it to SVN. It also pulls new revisions from SVN as soon as they appear.</li> <li>SVN and Bitbucket users see each other's commits as if they were all working in the same system. SVN Mirror prevents possible conflicts between the systems and maintains the integrity of the workflow.</li> </ul> <p></p> <h4><a href='/files/svn_mirror_presentation.pdf'>Download presentation</a></h4> </div> </div> <div class='github'> <div class='started'> <div class='wrapper clearfix'> <p>TMate SubGit is a tool for teams that migrate from SVN to GitHub. It converts SVN repositories to GitHub and allows you to work with both systems simultaneously.</p> <a href='/download' class='button blue' data-server='github'>GET STARTED</a> </div> </div> <div class='server-content wrapper text'> <h2>Create an <span class='blue'>SVN</span><span class='brown'> || </span><span class='red'>GitHub</span> Mirror with SubGit</h2> <ul> <li>SubGit is to be installed on your server. It detects the settings of your remote SVN repository, downloads SVN revisions, converts them to Git commits and sends them to GitHub.</li> <li>SubGit keeps both repositories in sync. Each time any user pushes a new commit, SubGit converts it and sends it to SVN and GitHub. It also pulls new revisions from SVN as soon as they appear.</li> <li>SVN and GitHub users see each other's commits as if they were all working in the same system. SubGit prevents possible conflicts between the systems and maintains the integrity of the mirror.</li> </ul> </div> </div> <div class='gerrit'> <div class='started'> <div class='wrapper clearfix'> <p>TMate SubGit is a tool for teams that migrate from SVN to Gerrit. It converts SVN repositories to Git and allows you to work with both systems simultaneously.</p> <a href='/download' class='button blue' data-server='gerrit'>GET STARTED</a> </div> </div> <div class='server-content wrapper text'> <h2>Create an <span class='blue'>SVN</span><span class='brown'> || </span><span class='red'>Gerrit</span> Mirror with SubGit</h2> <ul> <li>SubGit is to be installed on your Gerrit server. It detects the settings of your remote SVN repository, downloads SVN revisions and converts them to Git commits.</li> <li>SubGit keeps both repositories in sync. Each time any user pushes a new commit to Git, SubGit converts and sends it to SVN. It also pulls new revisions from SVN as soon as they appear.</li> <li>SVN and Gerrit users see each other's commits as if they were all working in the same system. SubGit prevents possible conflicts between the systems and maintains the integrity of the mirror.</li> </ul> </div> </div> </div> </section> <section class='love'> <div class='wrapper'> <h2 class='white'>What users love about SubGit</h2> <div class='row text'> <div class='col love-safety'> <h3 class='white bold'>Safety</h3> <p>SubGit works as SVN client and does not disturb your existing workflow and infrastructure.</p> </div> <div class='col love-proficiency'> <h3 class='white bold'>Proficiency</h3> <p>SubGit handles any SVN history, no matter how long and tangled it is.</p> </div> <div class='col love-support'> <h3 class='white bold'>Support</h3> <p>Your questions are answered by core SubGit developers.</p> </div> </div> </div> </section> <section class='migration wrapper text'> <h2>One time SVN to Git migration</h2> <h4><span class='any-server-show'>Download SubGit for free</span><span class='bitbucket-show hidden'>Install SVN Mirror</span> to use its unique features!</h4> <ul> <li>Detect and convert all branches and tags (even non-standard);</li> <li>Convert svn:ignore properties to .gitignore files;</li> <li>Preserve history, including merge-tracking data.</li> </ul> <div class='bitbucket-show hidden'><a href='https://marketplace.atlassian.com/plugins/org.tmatesoft.subgit.stash-svn-importer/server/overview' class='button'>CONVERT SVN TO GIT</a></div> <div class='any-server-show'><a href='/download' class='button'>CONVERT SVN TO GIT</a></div> </section> <section class='testimonials'> <div class='wrapper row'> <div class='review col text'> <h2 class='white'>Over 9000 successful SVN to Git migrations in 6 years</h2> <p class='comment'>Fantastic! Both one time conversions and git <--> svn mirroring work like a dream. I've migrated SVN repos to Git using both git-svn and svn2git in the past, and neither tool came close to the ease of use of SubGit. It really 'just works' for small/standard SVN repos, and for two big hairy repos I've converted, the support team was top notch - very quick responses and excellent help in getting me through issues.</p> <p class='author bold'>MC at <a href='https://marketplace.atlassian.com/plugins/org.tmatesoft.subgit.stash-svn-importer/server/reviews' target='_blank'>Atlassian Marketplace</a></p> </div> <div class='companies col'> <span class='tabs-arrow tabs-arrow-left'></span> <div> <span class='active'><img src='/static/i/main/testimonials-spacex.png' height='35'/></span> <span><img src='/static/i/main/testimonials-jpmorgan.png' height='25'/></span> <span><img src='/static/i/main/testimonials-samsung.png'/></span> <span><img src='/static/i/main/testimonials-deutsche.png'/></span> <span><img src='/static/i/main/testimonials-juniper.png'/></span> <span><img src='/static/i/main/testimonials-cisco.png'/></span> <span><img src='/static/i/main/testimonials-cbs.png'/></span> <span><img src='/static/i/main/testimonials-postbank.png'/></span> <span><img src='/static/i/main/testimonials-boeing.png'/></span> </div> <span class='tabs-arrow tabs-arrow-right'></span> </div> </div> </section> <section class='pricing wrapper clearfix'> <h1>Pricing</h1> <p class='atlassian'>If your are using Atlassian Bitbucket, please purchase SVN Mirror Addon from <a href='https://marketplace.atlassian.com/plugins/org.tmatesoft.subgit.stash-svn-importer/server/overview' target='_blank'>Atlassian Marketplace</a>.</p> <div class='plans text'> <div class='plan trial'> <h4>Trial</h4> <ul> <li>Unlimited users</li> <li>30 days</li> </ul> <div class='to-bottom'><button class='simple signup' data-title='Get free Trial key' data-button='Get key' data-pricing='trial'>Get a free key</button></div> </div> <div class='plan starter'> <h4>Starter</h4> <ul> <li>Permanent license</li> <li>Up to 10 Git users</li> <li>12 months of updates</li> </ul> <div class='to-bottom'><button class='simple signup' data-title='Get free Starter key' data-button='Get key' data-pricing='starter'>Get a free key</button></div> </div> <div class='plan enterprise'> <h4>Enterprise</h4> <div class='form'> <form method='get'> <div class='row'> <div class='col users'> <h5>Git Users</h5> <select name='users' id='users'> <option value='0' selected='selected'>25 users</option> <option value='1'>50 users</option> <option value='2'>100 users</option> <option value='3'>250 users</option> <option value='4'>500 users</option> <option value='5'>1 000 users</option> <option value='6'>2 000 users</option> <option value='7'>Unlimited</option> </select> </div> <div class='col maintenance clearfix'> <h5>Maintenance <span>(months)</span></h5> <input type='radio' name='months' id='month1' value='0'><label for='month1'>12 <span>months</span></label> <input type='radio' name='months' id='month2' value='1' checked><label for='month2'>24 <span>months</span></label> <input type='radio' name='months' id='month3' value='2'><label for='month3'>36 <span>months</span></label> </div> </div> <div class='row to-bottom'> <span class='price'>€735</span> <button class='simple signup' data-title='Purchase SubGit' data-button='Purchase' data-pricing='enterprise'>Purchase</button> <a class='get-quote bold signup' href='#' data-title='Request a quote' data-button='Get quote' data-location='/thank-you-signup-quote' data-pricing='inquiry' data-licence-notice='hide'>Get a quote</a> </div> </form> </div> </div> </div> <div class='info text'> <div class='col'> <h5 class='blue'>The cost of licenses depends on the number of active Git users you have and the maintenance period.</h5> <ul> <li> The number of active Git users is the total number of users that pushed to Git with SubGit mirror installed within any calendar year. The number of SVN users doesn't matter.<br/> <a href='/documentation/limits.html'>More about limits</a> </li> <li> The maintenance period shows how long you will be receiving free updates to SubGit and our professional support.<br/> If you need premium support or guidance, please also check out <a href='/support'>other support options</a> </li> </ul> </div> <div class='col more-options'> <h5 class='blue'>More free options</h5> <ul> <li> If you are doing a one-time migration from SVN to git, you may use SubGit without any license — just <a href='/download'>download</a> the tool.<br/> Yet if you need support, sign up for a trial license. </li> <li> If you are running an Open Source or Academic project, you may apply for a free or discounted license.<br/> <a href='/open-source'>More about special offers</a><br/><br/> <b>Please note, that the price doesn't include VAT that EU-registered companies might be obliged to pay.</b> </li> </ul> </div> </div> </section> <section class='team'> <div class='wrapper'> <h2 class='white'>Developed by TMate Software</h2> <div class='row text clearfix'> <div class='col'> <img src='/static/i/main/team-kitaev.png'/> <h3 class='bold'>Alexander Kitaev</h3> <p>Creator of SVNKit — SVN server and client in Java.<span> 20+ years of software development.</span></p> </div> <div class='col'> <img src='/static/i/main/team-vadishev.png'/> <h3 class='bold'>Semyon Vadishev</h3> <p>Contributor to SVNKit, SmartSVN and SmartGit projects.<span> Developing version control systems for more than 10 years.</span></p> </div> <div class='col'> <img src='/static/i/main/team-pavlenko.png'/> <h3 class='bold'>Dmitry Pavlenko</h3> <p>Contributor to Subversion, SVNKit and SmartGit projects.<span> 10+ years of software development.</span></p> </div> <div class='col'> <img src='/static/i/main/team-khusainov.png'/> <h3 class='bold'>Ildar Khusainov</h3> <p>System administrator and support engineer<span> with 20+ years of experience</span>.</p> </div> </div> </div> </section> <section class='help'> <div class='wrapper'> <p class='bold'> If you experience any difficulties with SubGit, please let us know.<br/> One of us will get back to you and will work on the problem until it's solved. </p> </div> </section> <section class='contact wrapper'> <h1>Contact us</h1><form class='req-check contact-check' action='/contact' method='post'><div class='form'> <div class='row'> <!--input type='radio' value='demo' id='demo' name='contact' checked='checked'><label for='demo'>Schedule Demo</label--> <input type='radio' value='tech-support' id='tech' name='contact' checked='checked'><label for='tech'>Tech Support</label> <input type='radio' value='get-quote' id='quote' name='contact'><label for='quote'>Get Quote</label> <input type='radio' value='other' id='other' name='contact'><label for='other'>Other</label> </div> <div class='row'> <div class='col'><input req='1' type='text' name='txtName' placeholder='Name'/></div> <div class='col'><input req='1' type='email' name='txtEmail' placeholder='Email'/></div> </div> <div class='row issue2 hidden'><input req='0' type='text' name='subject' placeholder='Subject'/></div> <div class='row'><textarea req='1' name='txtText' placeholder='What products and features are you interested in?'></textarea></div><div class='row'> <span class='req-error red bold'>Please fill out all fields.</span> <input class='simple' type='submit' value='Send'/> </div> <p class='small'><br/>By clicking on this button you agree to provide us your personal data for the purpose of technical support for you. Please read our <a href='/documentation/privacy-policy.html'>Privacy policy</a> for more details.</p></div> <div class='contact-success'> <h2 class='blue'>Thank you for contacting us!<br/>We will get back to you soon.</h2> </div> <input type='hidden' name='formId' value='CONTACT'/></form></section><section class='contact-error'> <div class='wrapper'> <p>We are sorry, something went wrong. Please try again or <a href='mailto:support@tmatesoft.com'>contact us</a>.</p> </div></section> </main> <footer> <div class='wrapper clearfix'> <nav> <div class='logo'></div> <div class='info'> <div class='info-wrapper'> <span class='contacts'> <a href='mailto:support@subgit.com' class='ficon mailto'>support@subgit.com</a> <a href='tel:+420606112191' class='ficon call'>+420(606)112-191</a> </span> <span class='address'><address class='ficon pin'>TMate Software<br/>Týmlova 1, Prague,<br/>140 00, Czech Republic</address></span> <span class='terms'> <a href='/documentation/terms-of-service.html'>Terms of service</a> <a href='/documentation/privacy-policy.html'>Privacy policy</a> <a href='/documentation/eula.html'>EULA</a> </span> <p>Subversion and Git are names of Open Source version control system, which are developed independently. TMate Software and the website subgit.com are independent of Subversion and Git developers, and have no relationship, formal or informal.</p> <p class='copy'>Copyright © 2012-2024<br/>TMate Software</p> </div> </div> <div class='social'> <a href='http://stackoverflow.com/questions/tagged/subgit?sort=votes&pageSize=50' class='stack'></a> <a href='https://support.tmatesoft.com' class='discourse'></a> <a href='https://twitter.com/subgit' class='twitter'></a> <p>Copyright © 2012-2024<br/>TMate Software</p> </div> </nav> </div> <div class='modals'> <div class='signup-modal modal'> <div class='container'> <div class='wrapper'> <span class='close'></span> <h2 class='blue'>Sign up for a free license</h2> <h5 class='enterprise-show hidden'><span class='enterprise-users'>0</span> users for <span class='enterprise-months'>0</span> months</h5> <h5 class='inquiry-show hidden'><span class='enterprise-users'>0</span> users for <span class='enterprise-months'>0</span> months</h5> <form class='req-check signup-check' method='post' action='/'> <div class='form'> <div class='row'><input req='1' type='text' name='txtName' placeholder='Name'/></div> <div class='row'><input req='1' type='text' name='txtCompany' placeholder='Company'/></div> <div class='row'><input req='1' type='email' name='txtEmail' placeholder='Email'/></div> <p class='inquiry-show hidden'>Your quote will be sent to the specified email address.</p> <p class='licence-key-notice'>Your license key will be sent to the specified email address. <span class='enterprise-show'>Complete your purchase at MyCommerce.com.</span></p> <p class='small'><br/>Please note, that this licence will not work with SVN Mirror Add-on for Bitbucket Server. If you are using Bitbucket, obtain your license from the <a href="https://www.atlassian.com/purchase/addon/org.tmatesoft.subgit.stash-svn-importer">Atlassian Marketplace</a>.</p> <input type='hidden' name='formId' value='IMPORT'/> <div class='row'> <span class='req-error red bold'>Please fill out all fields.</span> <input type='submit' value='Get SubGit!'/> </div> </div> <p class='small'><br/>By clicking on this button you agree to provide us your personal data for the purpose of creating a software license for you. Please read our <a href='/documentation/privacy-policy.html'>Privacy policy</a> for more details.</p> <input type='hidden' name='action' value='doSignup'/> <input type='hidden' name='go' value=''/> <input type='hidden' name='pricing' value=''/> <input type='hidden' name='enterprise_summ' value=''/> <input type='hidden' name='enterprise' value=''/> <input type='hidden' name='enterprise_tier' value=''/> <input type='hidden' name='enterprise_maintenance' value=''/> <input type='hidden' name='leadSource' value=''/> <input type='hidden' name='server' value='none'/> <input type='hidden' name='abTest' value='download'/> <input type='hidden' name='firstAction' value='register'/> </form> </div> <div class='modal-error signup-error'> <p class='wrapper'>We are sorry, something went wrong. Please try again or <a href='mailto:support@tmatesoft.com'>contact us</a>.</p> </div> </div> </div> <div class='back'></div> </div> </footer> </body> <link href='/static/s/animate.min.css' rel='stylesheet'/> <script src='/static/j/jquery-1.8.3.min.js'></script> <script src='/static/j/jquery.scrollTo.min.js'></script> <script src='/static/j/all.js?1594494877'></script> <script src="https://support.tmatesoft.com/javascripts/embed-topics.js"></script></html><script src='/static/j/jquery.sticky.min.js'></script><script src='/static/j/pricing.js?1675934553'></script><script src='/static/j/main.js?1531938561'></script>