Use Git and TFVC repos in the same project

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

In Team Foundation Server 2015 Update 1, a project administrator can add a Git repo to a project created with Team Foundation Version Control (TFVC). You can also add a TFVC repo to a project created with Git. This allows you to adopt a new version control system while preserving all the data in your project.

Prerequisites

Category Requirements
Project access Member of a project.
Permissions - View code in private projects: At least Basic access.
- Clone or contribute to code in private projects: Member of the Contributors security group or corresponding permissions in the project.
- Set branch or repository permissions: Manage permissions permissions for the branch or repository.
- Change default branch: Edit policies permissions for the repository.
- Import a repository: Member of the Project Administrators security group or Git project-level Create repository permission set to Allow. For more information, see Set Git repository permissions.
Services Repos enabled.
Tools Optional. Use az repos commands: Azure DevOps CLI.

Note

In public projects, users with Stakeholder access have full access to Azure Repos, including viewing, cloning, and contributing to code.

Category Requirements
Project access Member of a project.
Permissions - View code: At least Basic access.
- Clone or contribute to code: Member of the Contributors security group or corresponding permissions in the project.
Services Repos enabled.

Enable access to the new repo type

Because permissions are applied at project creation time by a process template, there will be a small amount of work to correct permissions for a new repo type.

Add a Team Foundation Version Control repo to a Git project

The project administrator will need to apply some project folder-level permissions when the project folder is created. Go to the Version Control administration page and select the "$/ProjectName" node in the tree. To set up the same groups as any of our default process templates (Agile, Scrum, CMMI), add the following TFS groups and permissions:

  1. [ProjectName]\Readers
    • Allow: Read
    • Not set: All others
  2. [ProjectName]\Contributors
    • Allow: Check in, Check out, Label, Lock, Merge, Read
    • Not set: All others
  3. [ProjectName]\Build Administrators
    • Allow: Check in, Check out, Label, Lock, Merge, Read
    • Not set: All others