Gitserver

Every on-prem Unity Version Control (UVCS) server can use the Git protocol to pull content from UVCS.

Note: Gitserver is the server-side counterpart of GitSync, which allows UVCS clients to push and pull to a GitHub server, and closes the GitHub interoperability loop.

The main purpose for GitServer is to function as a universal connector for any GitHub software to connect to UVCS. For example, there are the following usage scenarios:

  • Connect GitHub compatible software to UVCS, such as FishEye, CodeCollaborator, ReviewBoard, and TeamCity.
  • Use UVCS as a central GitHub server so that developers can push and pull from GitHub to a GitServer enabled UVCS server.
  • Serve as a central repository for heterogeneous teams so that several teams can collaborate on both GitHub and UVCS. For example, if you have a gradual migration to UVCS from GitHub, or if teams have different preferences.

With GitServer, your UVCS server can behave like a GitHub server that's transparently accessed by Git clients. For example, you can have the following scenarios:

  • If a change comes from GitHub with a git push operation, the changes are immediately available for UVCS and GitHub clients.
  • If a change comes from UVCS with a checkin or replica operation, these changes aren’t immediately available for GitHub clients. A background thread checks every mapping.interval seconds if there are new UVCS changes in the repositories you exported to GitHub. If it finds changes, it starts to calculate the mappings, and makes the recent changes visible to GitHub.
TopicDescription
Configure GitServerSet up Gitserver to work with your Unity Version Control (UVCS) server.
Use Gitserver with partial replicasAvoid or work around issues in mixed GitHub and UVCS scenarios.
Push submodules to UVCSPush GitHub submodules to your Unity Version Control (UVCS) server.
GitServer limitationsManage potential issues or differences in expected behavior when you use GitServer.