Getting Started

This chapter includes the following topics:

What is Git Fusion?

Git Fusion is a Git remote repository service that uses Perforce Server as its back end.

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 pushes changes, Git Fusion translates those Git changes into Perforce changes and submits them to the Perforce depot. When a Git user pulls changes, Git Fusion translates the pull request into Perforce commands to download changes from the Perforce depot.

Figure 1. Git Fusion sits between Perforce and the Git user

Git Fusion sits between Perforce and the Git user

Under the hood, a series of Python scripts manages Git user authentication and authorization, generates remote Git repos, and translates Git transactions into Perforce commands. The Perforce service is the repository of record not only for the data held in the remote Git repos, but also for the Git Fusion metadata -- including user authentication keys and repo configuration files, which define access and data generation rules for the repos.

Figure 2. Git Fusion architecture

Git Fusion architecture

For more information about how Git Fusion works, see:

Which installation should I use?

There are three ways to install Git Fusion:

  • OVA (git-fusion.ova): A virtual machine image in the Open Virtual Appliance (OVA) format. This image includes both a Git Fusion and a Perforce Server instance. The Perforce Server instance is pre-loaded with sample data and configured for use with the included Git Fusion instance. There is a simple set of instructions to turn off this local Perforce service and connect the Git Fusion instance to your own external Perforce service.

    Use the OVA if any of the following apply to you:

    • You want to deploy to a virtual environment, and Ubuntu 12.04 LTS is an acceptable platform.

    • You are not an experienced Linux administrator; this install method requires the least amount of Linux expertise

  • Operating system-specific packages: OS-specific packages, like RPM, provide a simplified way to install Git Fusion and its dependencies on a supported platform.

    We provide the following packages:

    • RPM package for CentOS/Red Hat 6.x.

    • Debian package for Ubuntu 12.04

    Use an OS-specific package if you want a streamlined, assisted installation on the supported operating systems.

  • Tarball (git-fusion.tgz): A compressed file that includes Git Fusion source and install scripts for Ubuntu or CentOS/Red Hat.

    Use the tarball if the following applies to you:

    • You are an experienced linux administrator with deep knowledge of configuring and troubleshooting services such as apache, ssh, and syslog.

    • You cannot use the OVA or OS-specific packages.

    • You are required to install and configure dependencies from source.

    • You need very fine control over installation paths.

    Contact Perforce Support for help with manually installing from the tarball.