GitSwarm-EE 2017.2-1 Documentation


Help / Workflow / Helix Mirroring / Enable

Enable

Requirements

When the requirements have not been met, GitLab displays an error message.

Once the requirements have been met, choose a scenario for Helix Mirroring:

Create a GitLab Project with Convention-based Mirroring

Note: If your configuration is incorrect, this option is disabled:

Select repository error

  1. Sign in to your GitLab instance and go to your dashboard.

  2. Click "New Project".

  3. Click the "Helix Git Fusion Server" drop-down menu to select an available Git Fusion Server.

  4. Click "Create a Helix GitLab project to mirror".

  5. Fill in the rest of the details for your project.

  6. Click "Create Project".

Importing a Git Fusion Repository

  1. Sign in to your GitLab instance and go to your dashboard.

  2. Click "New Project".

  3. Click the "Helix Git Fusion Server" drop-down menu to select an available Git Fusion Server.

  4. Click "Mirror an existing repository".

  5. Select an available Git Fusion repository to import:


    Select repository to import

  6. Fill in the rest of the details for your project.

  7. Click "Create Project".

Enabling Mirroring on an Existing GitLab Project

  1. Sign in to your GitLab instance

    You must be an admin, or have at least master rights to the project for which you want to enable mirroring.

  2. From the Dashboard, click "Your Projects" or "Explore Projects"

  3. Click on the project you wish to mirror

  4. Click the "Mirror in Helix" button on the project details page

    If the button is greyed out, mousing over it gives a hint as to what is wrong and how to fix it.

    Mirror in Helix button

  5. Select the Git Fusion server to which you wish to mirror your project

    All configured Git Fusion servers are selectable, but only servers that support convention-based mirroring enable the "Launch Mirroring" button.

    Mirror in Helix

    If you have selected a server for which there is a problem (e.g. that particular server does not have auto-create enabled, or has an incorrect username/password), GitLab reports that this is the case, describes what the problem is, and suggests how to fix it. For example:

    Mirror in Helix Issue

  6. Clicking the "Launch Mirroring" button

    This starts the mirroring process. Assuming there are no configuration errors, GitLab attempts to:

    • Create an associated repository in Git Fusion
    • Mark the GitLab project as mirrored in Git Fusion
    • Perform an initial push (backgrounded) of the GitLab project to Git Fusion

    If any errors occur during the above process, GitLab takes you back to the Mirror in Helix page, and reports the error. See below for potential error messages, what they mean and how to fix them.

Create a GitLab project from directories in the Helix Versioning Engine

Note: If your configuration is incorrect, this option is disabled:

Select directories error

  1. Sign in to your GitLab instance, and go to your dashboard.

  2. Click "New Project".

  3. Click the "Helix Git Fusion Server" drop-down menu to select an available Git Fusion Server.

  4. Click "Select directories to mirror".

    The depot browser is displayed, showing the available depot paths within the Helix Versioning Engine.


    Depot browser

  5. Use the "Depots" dropdown to choose whether you want to browse classic Helix depots or stream depots.

  6. Browse the depot to locate a directory.

    Click the triangle to the left of each directory to see sub-directories.

    Click the checkbox to the left of a directory to select that directory (and all of its contents) to represent a Git branch within your project.

  7. Specify the branch name in the "branch-name" field.

  8. Click "Add Branch ".

    The "Defined Branches" area maintains a list of the named branches and the corresponding depot paths (directories) within the Helix Versioning Engine.


    A defined branch

  9. Repeat steps 3-6 as many times as necessary to define all of the branches that should appear in your new project.

  10. If you wish to edit a branch name or associated depot path, click "edit".

    The branch definition within the "Defined Branches" area becomes highlighted, and the depot browser updates to reflect the current name and depot path.


    Depot browser

    If you change the branch name, click the "Change Branch to " button to save your changes.

    If you change only the depot path, click the "Update Branch " button to save your changes.

    At any time, click the "cancel update?" link to terminate editing the branch definition.

  11. If you specify more than one branch definition, you can click "make default" to specify which of the branch definitions should become the new project's default branch.

  12. Fill in the rest of the details for your project.

  13. Click "Create Project".

Warning: If any of the branch definitions that you specify overlap, those branches become read-only. For example, if you specify one branch for //depot and another branch for //depot/jam, those two branch definitions overlap because jam is inside //depot.

Important: Once you have created your project, the branch definitions cannot be altered by GitLab. Modifications are possible by having an administrator edit the Git Fusion p4gf_config files.

Important: You are free to create new branches within the Git repository for your GitLab project, but any new (and therefore, unmapped) branches are considered to be "lightweight" branches in Git Fusion. A lightweight branch has no project-specific mapping within the Helix Versioning Engine, and so participation by developers using Helix versioning is greatly reduced. See the Git Fusion guide for details.

Error Messages

Problems?

If you encounter problems with importing projects from Git Fusion, or with Helix Mirroring between GitLab and Git Fusion, please contact Perforce support for assistance.