Jump to content

fast-export & fast-import is not resulting as expected


BVeeravelu

Recommended Posts

Hi,

Objective: Need to move few of repositories from one plastic server ("plastic01") to another plastic server ("plastic02", this server already have 50+ repositories) with the same branch naming and structure with the history and same timestamp as in plastic01.

Action Taken: Used the fast-export and fast-import commands as shown below and noticed the changeset are being skipped.

Question(s):

1. What is missing in my command that was used below?

2. Is there any pre-setting needs to be done before using these commands?

3. Noticed the imported repository root branch is named as "main" with though the actual root branch is named as "production" and with the date & timestamp of when the command got executed.

How do I get this work as I expected?

Please let me know for any further information or question.

Below are the execution command with output.

C:\Test\PlasticRepoMigration>cm fast-export SandBox_SQL@<plastic_server01>:<port> SandBox_SQL.fast-export
Getting branch list...
Getting changeset list...
Building changeset list...
2 changesets retrieved
2 changesets will be exported
0 labels will be exported
0 merges found
0 csets are out of order
Skipping changeset 0@/production.
Processing changeset 1@/production/DEVELOPMENT 2/2. Elapsed 00:00:00.1880000. Estimated: 00:00:00.1880000. Remaining: 00:00:00

C:\Test\PlasticRepoMigration>cm fast-import SandBox_SQL@<plastic_server02>:<port> SandBox_SQL.fast-export
There has been an unexpected error "Could not find file '/data01/rep_219/changesets/changesets.dat'.". For more information check the server log.
blob
mark :1
blob
mark :2
commit refs/heads/production-DEVELOPMENT
mark :3
author <authorid> <authorid> 1552672420 -0400
committer <authorid> <authorid> 1552672420 -0400
data 92
M 100644 :1 databaseScripts/test_sp_file.sp
M 100644 :2 databaseScripts/test_sql_file.sql
There has been an unexpected error "Could not find file '/data01/rep_219/changes
ets/changesets.dat'.". For more information check the server log.

Link to comment
Share on other sites

Hi,

One question: if you are trying to move Plastic repos, why you are not using the regular Plastic replica for that purpose (or even moving the databases from one to the other).

The fast-export issues are difficult to debug (the files are not easily editable) so I would like to know first if a different approach makes more sense.

Regards,

Carlos.

Link to comment
Share on other sites

Hi,

Thanks for the prompt response and suggestion.

Summary: Using Plastic GUI replication menu option I am able to accomplish my requirement, but only by branch by branch and rename the root branch to the actual (because the replicate option names it "main" by default). So, this way it takes additional time with manual effort.

Action Taken in Detail:

  • Tried using the cm clone command line option but it threw error as shown below.

                > cm clone SandBox@plastic01:<port> SandBox@plastic02:<port>
                Command 'clone' not found. Type cm showcommands to get a command list.

  • Also, tried using the cm replicate command but got the below error, tried multiple option like passing user id, password and authmode but no luck.

               >cm replicate SandBox@plastic01:<port> SandBox@plastic02:<port>
               The specified repository couldn't be found: plastic01:<port>.

Question: Wanted to automate this task, So need command line working either through cm clone or cm replicate. What is missing in those above tries? Do you have any example command script that shows, cloning of repository from 

  • Windows To Windows plastic server &
  • Windows To Unix plastic server ?

Note: I am using Plastic Version 7.0.16.2356

 

Link to comment
Share on other sites

Hi,

- You need to do it branch by branch. You can use the sync view to push the pull repo content in one step:

https://www.plasticscm.com/documentation/gui/plastic-scm-version-control-gui-guide#Chapter23:TheSynchronizationview

- If using the command line, you can use our replikat tool: 

http://blog.plasticscm.com/2012/02/after-accidentally-cloning-sexy.html

 

 

cm replicate /main@project1@remoteserver:8084 projectx@myserver:8084

 

Link to comment
Share on other sites

Hi,

- You don't need to do it branch by branch. You can use the sync view to push the pull repo content in one step:

https://www.plasticscm.com/documentation/gui/plastic-scm-version-control-gui-guide#Chapter23:TheSynchronizationview

- If using the command line, you can use our replikate tool: 

http://blog.plasticscm.com/2012/02/after-accidentally-cloning-sexy.html

Regards,

Carlos.

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...