Jump to content


Moving a whole depot to another server with existing depots

depot move server database relocate

  • Please log in to reply
5 replies to this topic

#1 amolode

amolode

    Advanced Member

  • Members
  • PipPipPip
  • 41 posts

Posted 03 February 2016 - 04:32 PM

Hi, I need to move (relocate) an entire depot from one Perforce server to another. This another sever already contains a few other depots. Both servers are of the same Perforce version 2013.3 and of the same UNIX Solaris 10 platform. Can you refer me to the rigth procedure.

#2 Matt Janulewicz

Matt Janulewicz

    Advanced Member

  • Members
  • PipPipPip
  • 230 posts
  • LocationSan Diego, CA

Posted 03 February 2016 - 06:10 PM

By far the easiest thing to do would be to upgrade to 2015.x and use DVCS to clone the old depot then push it into the new server. I've done this many times when people turn on an old PC that's under their desk and realize there's a Perforce server on it that has some IP in it. It works great, but since you're on such an old server version I'd presume there would be monetary considerations for that.

The old/standard way to do it was with perfmerge, which in my opinion, these days, is sorta like voodoo. It can be messy. It essentially takes two databases and merges them together (offline) and there's always the chance of incompatibilities, you have to move archive files around, etc. This KB explains how:

http://answers.perfo...ticles/KB/2594/

The new kid on the block is P4Transfer:

https://swarm.worksh...ware-p4transfer

I haven't actually used it because DVCS, but it seems to have supplanted perfmerge. You had a good run perfmerge, we love you, but it's time to step aside. :)

IMHO, the order of preference for a project like this would be:

1) Upgrade and use DVCS
2) P4Transfer
3) perfmerge
-Matt Janulewicz
Currently unemployed, looking for work in Boise, ID!

#3 amolode

amolode

    Advanced Member

  • Members
  • PipPipPip
  • 41 posts

Posted 04 February 2016 - 02:48 PM

Hi, Matt, thanks for your answer! Currently we do not intend to upgrade to Helix and use distributed repositories and all this new stuff. Moreover, I need one-time relocation of a depot from one server to another without maintaining changes transfer in the future. We are ready to give up changelists descriptions and tags. I'd like to move all the file versions in a few new changelists and for the time being the users would be able to refer to the old server for history and descriptions.  I am looking for some kind of "export-import" procedure. Maybe you can advise with a simpler way of action than P4Transfer? I read about it and didn't understand its operation and whether it suits our needs.

#4 P4Shimada

P4Shimada

    Advanced Member

  • Members
  • PipPipPip
  • 831 posts

Posted 04 February 2016 - 07:05 PM

View Postamolode, on 03 February 2016 - 04:32 PM, said:

Hi, I need to move (relocate) an entire depot from one Perforce server to another. This another sever already contains a few other depots. Both servers are of the same Perforce version 2013.3 and of the same UNIX Solaris 10 platform. Can you refer me to the rigth procedure.

Hi Alexander,

Thank you for letting us know your server version. With your 2013.3 version to merge a depot from one Perforce server to another server with data you need the Pergemerge tool.

The steps to copy a folder from one server (source) to another existing (target) server would be:

1) Copy the entire (source) Perforce Server to a new test server

2) Start the new test server, take a checkpoint and then obliterate everything on the test server that you do not need. For example, obliterate everything but //depot/projectX/...  and any metadata related to it.

3) Take a new checkpoint of the test server.

4) Take a checkpoint of the other existing (target) server where the folder will be copied to before copying the folder in.

5) There is a Perfmerge tool available that enables the migration/merging of depots you can use to copy the folder over. However, beforehand make sure of the following:

- Both Perforce servers are the same version (which you already confirmed)

- Perl is installed on the machine you are going to use Perfmerge on.

   You can download Perfmerge at:

   ftp://ftp.perforce.com/perforce/tools/

   ftp://ftp.perforce.com/perforce/tools/perfmerge/perfmerge.html

Once you have the correct versions and tools installed, you can use Perfmerge to move your depot folder. Please note that this process is not supported, but we will do the best to help should you have any questions.

   Please read and understand the warning at the beginning of the Perfmerge script before moving forward.

  See 'Merging Perforce Servers':
http://answers.perfo...ticles/KB/2594/

I strongly suggest taking a checkpoint and making a back-up copy of your Perforce server before doing any of these procedures and performing any obliterates.  The link below covers backup and recovery:

  https://www.perforce...up.html#1045323

Hope this helps!

#5 amolode

amolode

    Advanced Member

  • Members
  • PipPipPip
  • 41 posts

Posted 08 February 2016 - 12:58 PM

HI, I read the preconditions for use of Perfmerge++. They actually prevent us from using this tool. We do have different jobspecs on both servers. I wonder whether there is a simpler way of action if we only need to copy all the depot file versions WITHOUT any metadata (original changelist info, labels, jobs etc.), some utility "export-import" style. I will be very grateful for any info.

#6 P4Matt

P4Matt

    Advanced Member

  • Members
  • PipPipPip
  • 1383 posts

Posted 08 February 2016 - 07:53 PM

Upgrading to 15.2 and using the DVCS functionality is probably your best bet; it will get the revisions and changelist descriptions, but leave the rest behind. We've had a handful of customers use the DVCS functionality to pull servers together successfully.





Also tagged with one or more of these keywords: depot, move, server, database, relocate

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users