3 min read

7 steps for a painless SVN to Git migration | Praecipio Consulting

By David Stannard on Sep 10, 2021 10:24:00 AM

Blogpost-DisplayImage-September-2021_7_steps_for_a_painless_SVN_to_Git_migration

Praecipio Consulting is frequently asked about migrating from various software version control systems to Git-centered tools such as Atlassian’s Bitbucket. Excellent news time: this is definitely possible and can be done in a painless fashion! Some organizations confidently plan and migrate by themselves. But … there’s always a “but” … be forewarned - there isn’t an “easy” button. Your success depends upon investing the effort, both in planning and in communicating with your teams. However, many organizations prefer using experienced 3rd parties who will focus on doing something not considered an organizational core competency. Praecipio Consulting often assists clients in their migrations: our approach is based upon proven tools and processes honed by multiple engagements over the past 15 years. 

Nonetheless, there still isn’t an “easy” button and the client’s involvement is integral to the final outcome as unique aspects are often uncovered.

If you still use Subversion - also known as SVN - as your software version control tool, you can be forgiven in believing that you’re alone. Searching the web yields many documents from circa 2012 which often containing phrases similar to “… 90% of developers have already migrated to Git …”. However, as recently as 2018, literature also indicates that SVN is still used because its users value its strengths over Git.

So say your organization has a business need to switch from SVN to Git. This might be because your organization has distributed development teams, or maybe the usage of SVN negatively impacts attracting new developers who expect a distributed version control tool such as Git or Mercurial.

Bottom line: you need to adopt Git and also migrate some or all of the information contained in SVN to Git; this blog assumes this means a codebase.

To better understand the implications of a migration - I suggest Stefan Holm Olsen’s explanation. Stefan led the migration of an 11 year old SVN, commercial grade codebase to a new Git codebase. All while continuing active development (https://stefanolsen.com/posts/migration-from-subversion-svn-to-git/ and https://www.atlassian.com/blog/git/atlassian-svn-to-git-migration-technical-side).

Atlassian documents a simpler case of a single SVN subfolder being migrated to a new Git repository (https://www.atlassian.com/git/tutorials/svn-to-git-prepping-your-team-migration) This may be sufficient for some do-it-yourself organizations.

In either case, it helps that the migration team understands how Git works and also the differences between Git and SVN. (If not, I suggest a quick detour to https://docs.github.com/en/github/importing-your-projects-to-github/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git and https://git.wiki.kernel.org/index.php/GitSvnComparison.) Most software engineers and developers are already familiar with Git - hence the examples address the potential SVN knowledge gap.

Stefan described a 5-step general process. The following 7-step process results from adding a preliminary step, because similar to Agile, the human aspect is primordial. Having an internal champion or two will certainly help increase the odds of a successful migration. An intermediate Git repo step is also added, although the brave may choose to go directly to the final destination. Like any undertaking, communications and scheduling are critical.

  1. Plan your migration including the often overlooked human considerations:
     - What can remain in SVN? What can / can’t be lost?
     - Understand the impact to release notes and governance
     - Identify the impact to your CI/CD environment
     - Determine the timing of the actual migration (weekend, overnight, etc)
     - Train users on how to effectively employ Git
     - The comms plan: who’s communicating, how, and the regularity of the updates
  2. Identify users and their correct names pre & post migration
  3. Choose a location for your Git repository
  4. Prune the SVN codebase
     - Address multiple folders in SVN repositories
     - Thoughtful pruning of folders, files, old and unneeded branches
  5. Create an intermediate repository to support the migration
  6. Migrate from SVN to the intermediate Git repo
  7. Migrate from the intermediate Git repo to the target production repo

Migrating from SVN to Git should not be feared. There are known processes when migrating from source code systems. Some planning and a lot of communicating will go a long ways towards a successful migration. If you need an expert hand in planning and executing your migration, contact us, we would love to help!

Topics: blog best-practices migrations plan repositories svn git coding
1 min read

Stash in the Enterprise: Meet Stash Data Center

By Christopher Pepe on Sep 17, 2014 11:00:00 AM

Atlassian shot into the Enterprise with the release of their revolutionary JIRA Data Center in July, followed by Confluence Data Center in August. Major companies worldwide relying on Enterprise-level, mission-critical processes rejoiced- and now, they have even more reason to celebrate! Now Stash, the popular source code management for Git, is the newest Data Center offering from Atlassian. Currently in its beta version, the first and only platform of its kind to provide a highly available, scalable solution to collaborative Git teams of unlimited sizes with countless products and processes, Stash Data Center brings optimal uptime, the utmost reliability and unlimited scalability. It's only been a week since Scott Farquhar and Mike Cannon-Brookes introduced us to Stash Data Center in the Opening Keynote of Summit, but the IT community is already buzzing over the newest addition to the Atlassian Enterprise family!

Let's meet Stash Data Center!

AVAILABILITY

Using active-active node clustering, your Stash instance is always up and running! Should a node go down, the load balancer distributes the processes of the failed component to keep your workflow moving and kick off node repair. Once the node is fixed, Stash Data Center automatically updates your data with rapid re-indexing so you never miss a beat.

SCALABILITY

Whatever size your instance, Stash Data Center scales to your needs. The platform ensures your Git repository can be accessed quickly, efficiently and at all times- no matter how many users and functions are running concurrently. Have more data than you can handle? Just add another node to your instance to help share the load

SECURITY

Control who has access and permissions within your Git repository with Stash Data Center's robust security options, as well as customizable workflows to get the right code to the right people. Operating on premise and behind the firewall and using global, project, repository and branch level permissions, Stash Data Center provides the safest way yet to run mission-critical Git processes.

Atlassian thrilled new and existing users across the world with their six big product announcements and Enterprise teams everywhere cheered over Stash Data Center! 

Topics: atlassian blog atlassian-summit best-practices bitbucket enterprise reliability repositories scalability uptime data-center git high-availability atlassian-products
2 min read

From Atlassian: Finally, Bitbucket Supports Git!

By Praecipio Consulting on Oct 3, 2011 11:00:00 AM

Bitbucket now supports Git!

You’ve been asking for it, the Bitbuket team has even joked about it – now it’s here (for real): for the one year anniversary of Bitbucket joining Atlassian, they’re announcing Git support.

All your source, all in one-place
Whether you are using Hg or Git, you can now keep all of your code in one place with your preferred DVCS format. If you have existing code you would like to migrate, you can easily import your Git, Mercurial or Subversion source code. Atlassian’s added a new importer for GitHub to our existing site importers which include SourceForge, Google Code and Codeplex.

Unlimited private and public repositories
A big advantage for Bitbucket users is the ability to have unlimited private repositories for free. This means you can store every line of code you’ve ever written in one place without paying a cent.

Notable Changes

UI improvements have been happening gradually over the past six months:

  • Commit and file history browser
  • Source viewer
  • Issue tracker browser
  • Project downloads

Today’s release includes a new UI for the repository and user administration pages. A never-ending goal is to make Bitbucket easier to navigate and use the operations you need fast.

Get your Git on

Pull requests, code commenting and key integrations with developer tools (Jira, Flowdock, HipChat, Twitter, Bamboo, Jenkins and more) have made this a feature filled year. And now Atlassian adds Git…

If you haven’t checked us out lately, Bitbucket has had a year of record growth – more than tripling the number of accounts since the acquisition, adding over 350 improvements, bug fixes and new features. Sign up now (no credit card required) and get unlimited private repos for free!

Were do I find the latest updates about Bitbucket?
Visit the Bitbucket blog at http://blog.bitbucket.org.

Topics: jira atlassian blog administrator bitbucket bamboo distributed-version-control-system google hipchat repositories twitter support developers git coding

Praecipio Consulting is an Atlassian Platinum Partner

This means that we have the most experience working with Atlassian tools and have insight into new products, features, and beta testing. Through our profound knowledge of Atlassian environments and their intricacies, we can guide your organization as you navigate these important changes.

atlassian-platinum-solution-partner-enterprise

In need of professional assistance?

WE'VE GOT YOUR BACK

Contact Us