[p4] [LIKELY JUNK]Re: CM Synergy to Perforce Migration

Sheizaf, Yariv yariv.sheizaf at sap.com
Sun Nov 30 22:45:37 PST 2008

HI Kamlesh,


Sure, it is possible, and easier, to work using the method you

But, you loose two elements here:

1.       Much lot of disk space in Perforce server repository.

2.       There is not logic linkage between files revisions, so smart
and compact merge is impossible: If the branches are independent,
Perforce identifies all files in both sides as "different", because they
have not a common ancestor.



Yariv Sheizaf 


From: Kamlesh Mutha [mailto:mkamlesh at gmail.com] 
Sent: Monday, December 01, 2008 8:39 AM
To: Sheizaf, Yariv
Cc: perforce-user at perforce.com
Subject: [LIKELY JUNK]Re: [p4] CM Synergy to Perforce Migration


Thanks a lot, Yariv, for sharing this information. I am little confused
with the last 2 steps. You are saying, first upload the oldest release
to perforce and then the next release "above" it.


Can we not just take the latest release from CM Synergy (which is kind
of main/dev codeline) and create a MAIN line in perforce and all other
old releases can be checked in as independant release lines which will
become obsolete over the period of time. 


How are these two approaches different? 


Thanks and Regards,








On Thu, Nov 27, 2008 at 11:02 AM, Sheizaf, Yariv <yariv.sheizaf at sap.com>


Yes, I migrated a big project (about 200 developers, 4 global sites)
from CM_Synergy to Perforce.

There is not automatic migration tool like CVS-2-P4 o4 VSS-2-P4, and the
reason is that both philosophy and data structure of CM-Synergy is very
different than Perforce (or any other normal version control system).

The basic idea is:
- Prepare an empty depot in P4.
- Per project, identify which releases in CM-Synergy you want to migrate
(do not migrate the whole data!!!- just keep CM-Synergy database with
two floating licenses forever - keep history there).
- Extract from CM-Synergy the relevant releases , and remove the
configuration file from root folder of each of them.
- Create project folder in P4.
- Create "main" branch under //<depot?/<project> in Perforce.
- Upload the oldest release of the project (from flat files you
extracted from CM-Synergy) to "main".
- Assign a p4 label on this layer (you can, later, create a branch for
maintenance from every label as a baseline point).
- Upload next release to "main" over the previous. NOTE: Pay attention
to deleted files (files that deleted between release 1 and 2) - they
need special action.
- Assign a label
-- Repeat the above for all relevant releases, per project.

* It is possible to automate (scripting) the Perforce-side steps.

* Create branches from the label point for versions or variants that are
still active


Yariv Sheizaf

Faith waiting in the heart of a seed promises a miracle of life which it
can not prove! 
-Ravindranath Tagore

More information about the perforce-user mailing list