Import repositories from TFVC to Git
Azure Repos | TFS 2018 | TFS 2017 Update 2
You can migrate code from an existing TFVC repository to a new Git repository within the same organization. While migrating to Git has many benefits, it is an involved process for large TFVC repositories and teams. Centralized version control systems, like TFVC, behave different than Git in fundamental ways. The switch involves a lot more than learning new commands. It is a disruptive change that requires careful planning. You need to think about:
- Revising tools and processes
- Removing binaries and executables
- Training your team
The import experience is great for small simple TFVC repositories. It's also good for repositories that have already been "cleaned up" as outlined in the previous whitepapers. Those whitepapers also recommend other tools for more advanced TFVC repository configurations.
Importing the repository
Your web portal uses either the New navigation or Previous navigation user interface. Choose the New navigation tab if the New Navigation feature is enabled. You'll see a vertical sidebar along with other navigational features when New Navigation has been enabled for the signed-in user or the organization. Choose Previous navigation when you see a top-level, blue-bar—indicating that New navigation isn't enabled. For more information, see Web portal navigation.
Choose the New navigation tab for guidance. Azure DevOps Server 2019 supports the New Navigation user interface. For more information, see Web portal navigation.
Choose the Previous navigation tab for guidance. TFS 2018 and earlier versions only support the previous navigation user interface. For more information, see Web portal navigation.
This experience is optimized for small, simple TFVC repositories or repositories that have been prepared for a migration. This means it has a few limitations.
- It only migrates the contents of root or a branch. For example, if you have a TFVC project at
$/Fabrikamwhich has 1 branch and 1 folder under it, a path to import
$/Fabrikamwould import the folder while
$/Fabrikam/<branch>would only import the branch.
- The imported repository and associated history (if imported) cannot exceed 1GB in size.
- You can import up to 180 days of history.