Perforce Public Knowledge Base - Exporting a Helix Cloud Project to an Assembla hosted Helix Server (head revision content)
Reset Search
 

 

Article

Exporting a Helix Cloud Project to an Assembla hosted Helix Server (head revision content)

« Go Back

Information

 
Problem
How do I migrate my Helix Cloud project to a Assembla hosted Helix Server?
Solution

Helix Cloud users provision an Assembla hosted Helix Server and migrate content from the Helix Cloud project into the Assembla hosted Helix Server. The end result is an Assembla hosted Helix Server containing the Helix Cloud project content that can be used for continued development and collaboration on the project. 

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
    Assembla hosted Helix Server P4PORT: ssl:assembla.helix.server:1666

and will be used throughout the example commands provided below.

Once your Assembla hosted Helix Server is configured and running, the following steps will export the head revision file content from the Helix Cloud project and import that content into the Assembla hosted Helix Server:

Against the Assembla hosted Helix Server

Create a temporary client workspace to use for the import:

$ p4 -p ssl:assembla.helix.server:1666 client import
(set 'Root: /tmp/fromHelixCloud')

This command creates a client workspace in the Assembla hosted Helix server used to import the files once the content is retrieved from the Helix Cloud server. 


Against the Helix Cloud Server

Create a temporary client workspace to use for the export

$ p4 -p ssl:Development.bruno.helix.perforce.com:1667 client export
(set 'Root: /tmp/fromHelixCloud')

This command creates a client workspace in the Helix Cloud server used to sync the head revision content from the Helix Cloud server.

Sync the head revision content from the Helix Cloud server to the workspace:

$ mkdir /tmp/fromHelixCloud
$ cd /tmp/fromHelixCloud
    
/tmp/fromHelixCloud$ p4 -p ssl:Development.bruno.helix.perforce.com:1667 -c export client -f -s -S //Development/main
    
/tmp/fromHelixCloud$ p4 -p ssl:Development.bruno.helix.perforce.com:1667 -c export sync //...
//Development/main/A/sm_000000.bin#1 - added as /tmp/fromHelixCloud/A/sm_000000.bin
//Development/main/A/sm_000001.bin#1 - added as /tmp/fromHelixCloud/A/sm_000001.bin
//Development/main/B/sm_000000.bin#1 - added as /tmp/fromHelixCloud/B/sm_000000.bin
//Development/main/B/sm_000001.bin#1 - added as /tmp/fromHelixCloud/B/sm_000001.bin

Connect to the Assembla hosted Helix Server from the same workspace directory and add/submit the files:

/tmp/fromHelixCloud$ p4 -p ssl:assembla.helix.server:1666 -c import client -f -s -S //Development/main

/tmp/fromHelixCloud$ p4 -p ssl:assembla.helix.server:1666 -c import reconcile
//depot/main/A/sm_000000.bin#1 - opened for add
//depot/main/A/sm_000001.bin#1 - opened for add
//depot/main/B/sm_000000.bin#1 - opened for add
//depot/main/B/sm_000001.bin#1 - opened for add

/tmp/fromHelixCloud$ p4 -p ssl:assemble.helix.server:1666 -c import submit -d "Add Helix Cloud project content to Helix Server"
Submitting change 12106.
Locking 4 files ...
add //depot/main/A/sm_000000.bin#1
add //depot/main/A/sm_000001.bin#1
add //depot/main/B/sm_000000.bin#1
add //depot/main/B/sm_000001.bin#1
Change 12106 submitted.

If the Helix Cloud project contains multiple streams, repeat the steps after creating the new stream in the Assembla hosted Helix Server. For example, if the Helix Cloud project also contained a development stream:

$ p4 -p ssl:Development.bruno.helix.perforce.com:1667 stream -o //Development/dev | sed 's/Development/depot/g' | p4 -p ssl:assembla.helix.server:1666 stream -i

/tmp/fromHelixCloud$ p4 -p ssl:Development.bruno.helix.perforce.com:1667 -c export client -f -s -S //Development/dev
    
/tmp/fromHelixCloud$ p4 -p ssl:Development.bruno.helix.perforce.com:1667 -c export sync //...
//Development/dev/A/sm_000000.bin#1 - replacing /tmp/fromHelixCloud/A/sm_000000.bin
//Development/dev/A/sm_000001.bin#1 - replacing /tmp/fromHelixCloud/A/sm_000001.bin
//Development/dev/B/sm_000000.bin#1 - replacing /tmp/fromHelixCloud/B/sm_000000.bin
//Development/dev/B/sm_000001.bin#1 - replacing /tmp/fromHelixCloud/B/sm_000001.bin
    
/tmp/fromHelixCloud $ p4 -p ssl:assembla.helix.server:1666 -c import client -f -s -S //depot/dev 

/tmp/fromHelixCloud $ p4 -p ssl:assembla.helix.server:1666 -c import reconcile
//depot/dev/A/sm_000000.bin#1 - opened for add
//depot/dev/A/sm_000001.bin#1 - opened for add
//depot/dev/B/sm_000000.bin#1 - opened for add
//depot/dev/B/sm_000001.bin#1 - opened for add
 
/tmp/fromHelixCloud $ p4 -p ssl:assembla.helix.server:1666 -c import submit -d "Add Helix Cloud project content to Helix Server"
Submitting change 12107.
Locking 4 files ...
add //depot/dev/A/sm_000000.bin#1
add //depot/dev/A/sm_000001.bin#1
add //depot/dev/B/sm_000000.bin#1
add //depot/dev/B/sm_000001.bin#1
Change 12107 submitted.

Caveats:

  • Only head revision content is migrated from HelixCloud to the Assembla hosted Helix Server instance, not the full change/revision history
  • Only committed revisions are considered; any pending or shelved changes are not migrated. 
  • ​You can un-shelve changes from the Helix Cloud Server and re-shelve those changes into Assembla Helix Server using the same temporary workspace method used above to migrate shelved changes if desired. 
Related Links

Feedback

 

Was this article helpful?


   

Feedback

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

Characters Remaining: 255