It's all about the answers!

Ask a question

Moving baselines from one CCM server to another within the same environment

Dan Zentgraf (2178) | asked Apr 04 '14, 6:12 p.m.
Hi All-

We are looking for some guidance on migrating source code from one Team Concert server to another. We have proposed a number of techniques internally, but we are running into some complications assessing the best approach versus the difficulty / risk of each. 

Rather than experimenting or reinventing the wheel, we are looking for advice on the best way to accomplish this. 

  • The environment is a distributed setup with 1 server per application and separate databases as well. So, we have single CCM, RM, RRDI, and JTS servers.
  • For growth, we have added a second CCM server (CCM2) to the environment; connected to the same JTS as the rest.
  • The team wants to move one of the development groups from the original CCM server to the CCM2 server.
  • The development group in question has a reasonably large code base with a variety of components, streams, baselines, etc.

The Challenge
  • The development group in question wants to move the complete baseline history of all of their components from the old server to the new server. 
  • The problem we are running into is that a large number of the baselines were never delivered to streams.
  • The "un-streamed" baselines were mostly created in workspaces that have since been deleted.
  • And, of course, there are multiple release streams running in parallel using the components in question, so the baselines are mixed (i.e. there is no guarantee that adjacent baselines are related to the same release stream).

The Question
  • What is the best way to get ALL of the component baselines from the old CCM server to the new CCM 2 server INCLUDING the 'un-streamed' baselines?
    • Without disturbing the order of the baselines, of course.
    • AND pulling over the release streams without losing the baseline history within them.

sam detweiler commented Apr 04 '14, 11:42 p.m.

pretty easy, using distributed SCM.

enable DSCM in the CCM Advanced properties.

then on source server find workspace, right click, duplicate, point to target server, save..
repeat for all workspaces/streams.


I wrote a utility to do this in mass.

the servers have to be within the supported interaction range.  (3.0 can't talk to 4.0, etc).

we had a team needed to migrate from 3.0 to 4.0.4, so I had to put a system in the middle, replicate from 3.0.1 to 3.0.1, upgrade the system in the middle to 4.0.4, then replicate from the middle to the production system. 300 workspaces and 20 streams..  (thus the utility).. was a lot of work that way.

One answer

permanent link
Geoffrey Clemm (30.1k33035) | answered Apr 06 '14, 4:13 p.m.
Functionality like this is requested in Provide a predecessor/successor graph display of all of the baselines of a component, including branching/merging. (95105), with API access requested in provide search API to find predecessor/successor baselines (95532).
I am not aware of any easy way to obtain this information today for baselines created in deleted workspaces or streams, but someone with knowledge of the SCM internals might be able to provide a workaround using the existing data structures.

Your answer

Register or to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.