Git Fusion enables Git and Perforce users to share versioned files from a common SCM repository while working in their own familiar environments. Git users can clone, pull, and push with their repos while Perforce users interact with the same files stored in the Perforce depot. The Perforce server provides enterprise class performance for both users and functions as the repository of record.

Git Fusion can be installed using a few different methods. Select the OVA if you are not an experienced Linux admin. It provides a Git Fusion and Perforce Server instance and comes pre-loaded with sample data. You can connect the OVA to your existing Perforce server.

If you prefer to run a native Linux environment, you can install Git Fusion via OS specific packages or load the components manually.

Git Fusion functions similarly to a Perforce client application. It employs a single user login to the Perforce server, and implements workspaces that function as Git repos. Git Fusion translates all requests from a Git user into Perforce commands transparently. The Perforce depot and related mappings are invisible to the Git user. They only see the repos, and Perforce users only see the depot.

Git Fusion provides more control over user permissions and file access than a typical Git deployment. The admin will assign users to groups starting from a global level down to a specific repo. Each group can be assigned pull, push, or both permissions. If needed, more granular permissions can be assigned in the P4 Protect table.

Git users connect to Git Fusion through the SSH or HTTP protocol. Git Fusion connects to the Perforce server using TCP/IP, with the option to use SSL. Git users interact with Git Fusion as they do with any other Git remote repository (repo), issuing standard Git commands to clone repos and transfer data.

When a Git user issues a command such as clone, Git Fusion “syncs” the files into the workspace to create a remote repo, and then they are copied to the Git users local machine. When a Git user performs a pull, it is similar to a sync to latest version, and when they push, Git Fusion performs a submit to the Perforce depot.

Along with sharing versioned files between two different groups of users, Git Fusion offers the advantages of both distributed and centralized SCM, higher performance, more control of user and file permissions and two-way branching and merging support. For more detailed info on these topics, please visit the tutorials webpage or review the technical documentation on the Perforce website.

Thanks for watching.


Course - Git Workflows with GitSwarm and Git Fusion