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 pushoperation, the changes are immediately available for UVCS and GitHub clients. - If a change comes from UVCS with a
checkinorreplicaoperation, these changes aren’t immediately available for GitHub clients. A background thread checks everymapping.intervalseconds 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.
| Topic | Description |
|---|---|
| Configure GitServer | Set up Gitserver to work with your Unity Version Control (UVCS) server. |
| Use Gitserver with partial replicas | Avoid or work around issues in mixed GitHub and UVCS scenarios. |
| Push submodules to UVCS | Push GitHub submodules to your Unity Version Control (UVCS) server. |
| GitServer limitations | Manage potential issues or differences in expected behavior when you use GitServer. |