Skip to main content

Source code migration tools

If your source code uses Subversion, Mercurial, or Team Foundation Version Control and is not accessible from the public internet, you can use external command line tools to import the code.

We recommend using GitHub Importer to import projects from Subversion, Mercurial, Team Foundation Version Control (TFVC), or another Git repository. You can also use these external tools to convert your project to Git.

Importing from Subversion

In a typical Subversion environment, multiple projects are stored in a single root repository. On GitHub, each of these projects will usually map to a separate Git repository for a personal account or organization. We suggest importing each part of your Subversion repository to a separate GitHub repository if:

  • Collaborators need to check out or commit to that part of the project separately from the other parts
  • You want different parts to have their own access permissions

We recommend these tools for converting Subversion repositories to Git:

Importing from Mercurial

We recommend hg-fast-export for converting Mercurial repositories to Git.

Importing from TFVC

We recommend git-tfs for moving changes between TFVC and Git.

For more information about moving from TFVC (a centralized version control system) to Git, see "Plan your Migration to Git" from the Microsoft docs site.

Tip: After you've successfully converted your project to Git, you can push it to GitHub.

Further reading