helix4git administrator guide - git clients, and the locks created in git with git lfs lock are...

Click here to load reader

Post on 26-Jun-2020




0 download

Embed Size (px)



    Helix4Git Administrator Guide 2019.1

    April 2019

  • Copyright © 2015-2019 Perforce Software, Inc.

    All rights reserved.   

    All software and documentation of Perforce Software, Inc. is available from     www.perforce.com.     You can download and use  Perforce programs, but you can not sell or     redistribute them. You can download, print, copy, edit, and redistribute     the  documentation, but you can not sell it, or sell any documentation     derived from it. You can not modify or attempt to reverse engineer  the     programs.   

    This product is subject to U.S. export control laws and regulations     including, but not limited to, the U.S. Export Administration      Regulations, the International Traffic in Arms Regulation     requirements, and all applicable end-use, end-user and destination      restrictions. Licensee shall not permit, directly or indirectly, use     of any Perforce technology in or by any U.S. embargoed country or      otherwise in violation of any U.S. export control laws and     regulations.   

    Perforce programs and documents are available from our Web site as     is. No warranty or support is provided. Warranties and  support, along     with higher capacity servers, are sold by Perforce.   

    Perforce assumes no responsibility or liability for any     errors or inaccuracies that might appear in this book. By downloading     and  using our programs and documents you agree to these terms.   

    Perforce and Inter-File Branching are trademarks of Perforce.   

    All other brands or product names are trademarks or registered     trademarks of their respective companies or organizations.   


  • Contents

    How to Use this Guide 7 Syntax conventions 7

    Feedback 7

    Other  documentation 8

    What’s new in this guide 9 2019.1 9

    2018.2 9

    2018.1 release 9

    2017.2     release 10

    New features 10 Overview 11 Architecture and components 12

    Workflow 13

    One-time tasks 14 Recurring tasks 14 Git client tasks 14

    Installation and configuration 16 System requirements 16

    Install the Git Connector 18

    Prerequisite 18 Installation Steps 18

    Upgrading Git Connector 20

    Upgrading to version 2017.2 from the 2017.1 patch 20 Upgrading helix-git-connector that is prior to the 2017.1 patch 21

    Configure the Git Connector 21

    Perform Connector-specific Helix server configurations 23

    Grant permissions 24 Create graph depots 25 Create repos 25 Configure a client workspace to sync repos 25 Sync a repo 26

    Set up Git users to work with the Git Connector 26

    Prerequisite 26


  • Authentication 26 SSH 27 HTTPS 28

    Verify the Git Connector configuration 29

    Push, clone, and pull repos 29

    SSH syntax 29 HTTPS syntax 30

    Git Connector Commands 32 Prerequisites 32

    Options 32

    Special Git commands 35 Depots and repos 37 Create graph depots 37

    Create and view repos 38

    Specify a default branch 39 Manage access to graph depots and repos 40

    Set up client workspaces 40

    Sync files from graph depots 41

    Sync using an automatic label 42 Specify a commit that is a "detached head" 43

    One-way mirroring from Git servers 45 GitHub or GitLab configuration 46

    GitHub or GitLab HTTP 46 GitHub or GitLab SSH 48

    Gerrit configuration 49

    System requirements with Gerrit 49 Next step 50 Installation of the mirror hooks 50 Configure Gerrit for HTTP 50 Configure Gerrit for SSH 52 Testing the mirror hook 53 Troubleshooting Gerrit one-way mirroring 54

    Helix TeamHub configuration 55

    Overview 55 System requirements 56


  • Installation of Helix TeamHub On-Premise 56 Next steps 56 Helix TeamHub HTTP 57 Helix TeamHub SSH 60

    Git Connector configuration for fail-over to another Git host 63

    Procedure 64 Example 65 Effect 66 Command-line Help 66 Next Steps 66

    CI builds with Jenkins 68 P4Jenkins support 68

    Helix4Git in a Distributed environment 69 Git protocol across the WAN 69

    Helix protocol across the WAN with autotune configured 70

    Configuring Git Connector to poll repos from Helix4Git 70

    Polling and the server spec 71 Polling with a command that includes explicit repo names 73

    Git LFS 74 Git LFS file locking 74

    Troubleshooting 75 General problems 75

    Unable to add: file is mapped read-only 75 Connection problems 76

    SSH: user prompted for git’s password 76 SSL certificate problem 77 HTTPS: user does not exist 77

    Permission problems 77

    The gconn-user needs admin access 78 Unable to clone: missing read permission 79 Unable to push: missing create-repo permission 79 Unable to push: missing write-ref permission 80 Unable to push: not enabled by p4 protect 80 Unable to push a new branch: missing create-ref permission 81 Unable to delete a branch: missing delete-ref permission 81 Unable to force a push: missing force-push permission 82


  • Branch problems 82

    Push results in message about HEAD ref not existing 82 Clone results in "remote HEAD refers to nonexistent ref" 84

    Mirroring problems 85

    Glossary 86 License Statements 104


  • How to Use this Guide This guide tells you how to use Helix4Git, which augments the       functionality of the       Helix Core server       (also  referred to as the Helix server) to support Git clients. It services requests from mixed clients, that is, both        "classic"       Helix server       clients and Git clients, and stores Git data in Git repos that reside       within a       classic  Helix server       depot.

    This section provides information on typographical conventions, feedback options, and additional  documentation.

    Syntax conventions Helix documentation uses the following syntax conventions to describe       command line syntax.     

    Notation Meaning literal Must be used in           the command exactly as shown.         

    italics A parameter for which you must supply specific           information. For example, for  a serverid parameter, supply the ID of the server.           

    [-f] The enclosed elements are             optional. Omit the brackets when you compose  the command. 

    ... Previous argument can be repeated.

     n p4 [g-opts] streamlog [ -l -L -t -m max ] stream1 ... means 1 or more stream arguments separated by a space

     n See also the use on ... in  Command alias syntax in the Helix Core P4 Command Reference

    Tip ... has a different meaning for directories. See  Wildcards in the Helix Core P4 Command Reference.

    element1 |  element2

    Either element1 or           element2 is required.            

    Feedback How can we improve this manual? Email us at       manual@perforce.com.     


    https://www.perforce.com/manuals/cmdref/Content/CmdRef/introduction.syntax.alias.html http://www.perforce.com/perforce/doc.current/manuals/cmdref/index.html http://www.perforce.com/perforce/doc.current/manuals/cmdref/index.html https://www.perforce.com/manuals/cmdref/Content/CmdRef/filespecs.html#Wildcards http://www.perforce.com/perforce/doc.current/manuals/cmdref/index.html http://www.perforce.com/perforce/doc.current/manuals/cmdref/index.html mailto:manual@perforce.com

  • Other documentation

    Other documentation See https://www.perforce.com/support/self-service-resources/documentation.

    Earlier versions of this guide: 2018.2, 2018.1, 2017.2, 2017.1


    https://www.perforce.com/support/self-service-resources/documentation https://www.perforce.com/manuals/v18.2/helix-for-git/Content/Helix4Git/Home-helix4git.html https://www.perforce.com/manuals/v18.1/helix-for-git/index.html https://www.perforce.com/manuals/v17.2/helix-for-git/index.html https://www.perforce.com/manuals/v17.1/helix-for-git/index.html

  • What’s new in this guide

    What’s new in this guide This section provides a summary with links to topics in this Guide. For a complete list of what's new in  this release, see the Helix4Git Release Notes.


    Area Feature

    "Git LFS file  locking" on  page 74

    The locks created in Helix Core server with p4 graph lfs-lock are visible to  Git clients, and the locks created in Git with git lfs lock are visible to Helix  Core server.


    Area Feature "One-way mirroring from Git  servers" on page 45

    Support for mirroring from servers with Git Large File  Storage. See "Git LFS" on page 74

    "System requirements" on  page 16