Perforce Public Knowledge Base - Exporting a Helix Cloud Project to a standalone Helix Server (full revision history)
× PRODUCTS SOLUTIONS CUSTOMERS LEARN SUPPORT
Downloads Blog Company Integrations Careers Contact Try Free
Menu Search
Perforce
Reset Search
 

 

Article

Exporting a Helix Cloud Project to a standalone Helix Server (full revision history)

« Go Back

Information

 
Problem

How do I migrate my Helix Cloud project to a standalone Helix Server and preserve full change and revision history?

Solution

Helix Cloud users install a standalone Helix Server and migrate content from the Helix Cloud project into the standalone Helix Server. For details on installation and configuration of a standalone Helix Server, see the following section of the Helix Versioning Engine Administrator Guide. The standalone Helix Server can be installed into an Amazon Web Services (AWS) hosted server if desired. The end result is a standalone Helix Server containing the Helix Cloud project content that can be used for continued development and collaboration on the project. 

Note, Helix Cloud servers are unicode enabled case-sensitive servers so the provisioned Helix Server is required to be configured with those same settings. 

The Helix Cloud project name dictates the stream depot and mainline stream names in a Helix Cloud server. In this example, the following names and settings apply:

    Helix Cloud project name: Development
    Helix Cloud stream depot name: Development
    Helix Cloud mainline stream name: //Development/main
    Helix Cloud P4PORT: ssl:Development.bruno.helix.perforce.com:1667
    Standalone Helix Server P4PORT: local.helix.server:1666

and will be used throughout the example commands provided below. 

Once your standalone Helix Server is configured and running, the following steps will fetch the full change and revision history for the file content from the Helix Cloud project and submit that content to the standalone Helix Server. 


Against the standalone Helix Server

Create a stream depot and a mainline stream matching the names used in the Helix Cloud project:

$ p4 -p ssl:Development.bruno.helix.perforce.com:1667 depot -o Development | p4 -p local.helix.server:1666 depot -i

$ p4 -p ssl:Development.bruno.helix.perforce.com:1667 stream -o //Development/main | p4 -p local.helix.server:1666 stream -i

These two commands take the stream depot and mainline stream specifications from the Helix Cloud server and use them to create the same specifications in the standalone Helix server. 

Configure the server to allow p4 fetch to be run:

$ p4 -p local.helix.server:1666 configure set server.allowfetch=1

Create a remote specification that maps the files from the Helix Cloud server to the local Helix Server:

$ p4 -p local.helix.server:1666 remote fromHelixCloud
(set 'Address:' to the P4PORT setting used to connect to the Helix Cloud server)
(set 'RemoteUser:' to the Helix Cloud server user name)
(set 'DepotMap' to how you want local files mapped to remote files)

For the DepotMap, the left side of the mapping is the depot path where you want the files to end up in the standalone Helix Server and the right side of the mapping is the depot path of the files in the Helix Cloud server. For example, for a Helix Cloud server with one mainline steam that you want to be in the same depot path in the standalone Helix Server:

DepotMap: 
   //Development/main/... //Development/main/...

If the Helix Cloud project contains multiple streams, create the stream specifications and map the additional streams in the remote specification. For example, if the Helix Cloud server also had a development stream:

$ p4 -p ssl:Development.bruno.helix.perforce.com:1667 stream -o //Development/dev | p4 -p local.helix.server:1666 stream -i

$ p4 -p local.helix.server:1666 remote fromHelixCloud
(update 'DepotMap' with the additional streams mappings)

DepotMap:  
   //Development/main/... //Development/main/...
   //Development/dev/... //Development/dev/...

Login to the remote server and fetch the content:

$ p4 login -r fromHelixCloud
$ p4 fetch -r fromHelixCloud
4 change(s) containing a total of 36 file revision(s) were successfully fetched.

 

Related Links

Feedback

 

Was this article helpful?


   

Feedback

Please tell us how we can make this article more useful.

Characters Remaining: 255