CM CmTools > CMSynergy CMSynergyFAQ

CM Synergy - Frequently Asked Questions


Questions (Generated automatically from sections below)

(To add a question, just add an entry to the answers wink )


Answers

1. Process questions

1.1. How to set up a model with branches?

Synergy/CM uses a model of configurations that are filled by (the change sets of) tasks. By moving tasks between task folders, a process sequence exists. If we want to implement a model of parallel branches, where each branch consists of sequencial configurations created over time, how can we achieve that in CM Synergy?

In using the concept of "release" that identifies a development stream. There may have as many parallel releases as needed. Tasks are related to a release (i.e., a development stream), therefore the management of // development is straigth forward : A task define in which release (development stream) it belongs.

Synergy supports the merge of parallel development, merging the work done in a release "A" to another release "B", is done in allowing tasks developed in release "A" to be taken inside the release "B" stream. The merge of parallel development is flexible enough either to be able to automatically select all release "A" tasks reaching a development stage to be integrated in the release "B" development process, or to allow to manually select which release "A" tasks are going to be merged inside the release "B" development stream.

1.2. How to manage thousands of tasks?

Traditional CM systems are object-based. The difficulty is to manage thousands of files that are propagated from version to version in a controlled way. CM Synergy is task based. The difficulty is shifted to manage thousands of tasks that move from task folder to task folder, without a predefined process. How to manage those movement of tasks and change to files in a controlled way?

First in classifying tasks per release, then inside a release in using the ability to baseline (create a snapshot, CM Synergy 6.3) when reaching development stage (a stable integration for instance). Therefore the number of tasks that are considered in the workflow is automatically limited to only the ones that are not already in the baseline, i.e., typically the number of tasks would be limited from 1 to 50 tasks (a number that can be easily managed).

HenrikJoensson: Another solution is to raise the level of abstraction to the CR (change request) level. In my opinion all tasks should belong to a CR. The tasks are only action items for a specific CR. All work should thus be done with some CR. Tasks are too simple to control. CRs can have a more complex lifecycle and is thus easier to control and monitor.

2. Technical questions

2.1. How to find out what baselines and tasks were used during a reconfigure?

A reconfigure first updates all taskfolders that are used to populate the work area with the correct object versions and than it fills the work area. So for work areas that were reconfigure earlier, the task folders do not represent their configuration anymore. How to do it correctly?

When needed make a "baseline" (CM Synergy 6.3), a baseline automatically capture which baseline, tasks were used. "Baseline" can be compared in terms of objects versions, tasks or even Change Requests.

2.2. How to find out which object versions were used to create the build results?

Use objectMake and ask for a Bill of Material. Or create a BOM with your standard buidl tools (e.g. make). -- HenrikJoensson

How to make a BOM after the build has already run? -- FrankSchophuizen? - 30 Apr 20

You can collect information with a script or in the makefile itself with a target (e.g. bom). -- HenrikJoensson? - 05 May 2003

2.3. How to perform the correct incremental build after removing tasks from a configuration?

When removing tasks from a configuration, some object versions are reverted to older versions. Since make looks only at file dates, it will not rebuild from those objects. Thus the results of an incremental build to not match the sources in the work area. How to do it right?

If you use ObjectMake?, it ensures this is done. If you don't use ObjectMake?, then use the option on the workarea that ensures that the files in the user workarea have their File System date that corresponds to when they appear in the workarea (and not when they were checked in). This way, going back to an earlier version is perceived as a change by a standard make tool.

2.4. How to rename a file and keep the complete history?

When renaming a file, it is removed from the directory and a new object is created. The new object starts with a fresh history. But how to keep the "old" history?

They are 2 questions here, 1) renaming a file : Check out and rename the file, Synergy will take care of everything. 2) Moving a file from 1 directory to another directory : it does not have any impact on the file history (it has an impact on the two directories history).

From what I know from CM Synergy (which is not much), all files with the same name are actually different instances of the same object. The object name, being part of the 4-part object identification, can not be changed. So trying to rename Makefile into makefile will involve the creation of a new object, with a fresh history. Is this correct?

CM Synergy 6.3 allows the user (not just admins) to rename files. A new version of the directory is created, and the new object (renamed object) is added to the directory. Synergy 6.3 has trouble with the show history. when doing a show history on the renamed version of an object, Synergy often shows only the one previous versions of the file in the view. So, if File.txt-4 is changed to file.txt-1, then doing a show history on file.txt-1 (or file.txt-2, etc.) will show only File.txt-4, file.txt-1, file.txt-2, etc. Performing the show history on File.txt-x, however, will show the entire version history, including all renamed files. -- AndreQuillen? - 12 Jul 2004

2.5. How can I revert to a project version as of a particular time/date without having made a snapshot: this is version control, after all !

-- Originally set up by Frank Schophuizen? - 25 April 2003

There are several ways of doing this. If you wish to capture the state of a project, you can either check it in, or create a baseline from it. To revert a project to the state of that captured project, you can either select the baseline project for the update properties of the project, or select the baseline as the baseline to be used for that project grouping. The "Custom" purpose was designed primarily for this purpose and allows a user to select a specific baseline and then manually add tasks as desired. -- DavidHoney? - 09 Jan 2006

2.6. How to integrate Beyound compare with Synergy/CM?

-- Originally by Liu Xinyu - 30 Jan. 2008

New Synergy client:

* Make back-up of C:\Program Files\Telelogic\CM Synergy 6.4\etc\ccm.properties

* Open C:\Program Files\Telelogic\CM Synergy 6.4\etc\ccm.properties

* Change this line as follows:

    • windows.tool.merge.ascii = “C:\\program files\\Beyond Compare 2\\bc2.exe” ”%file1” ”%file2” /mergeoutput=”%outfile”

    • windows.tool.compare.ascii = “D:\\Program Files\\Beyond Compare 2\\bc2.exe” ”%file1” ”%file2”
* Restart client

Old Synergy client:

* Make back-up of C:\Program Files\Telelogic\CM Synergy 6.4\etc\ccm.ini

* Open C:\Program Files\Telelogic\CM Synergy 6.4\etc\ccm.ini

* Change this line as follows: merge_cmd = “C:\program files\Beyond Compare 2\bc2.exe” %file1 %file2 /mergeoutput=%outfile

* Restart client

How to merge in Synergy using BC:

New Synergy client:

* Create task/have some task selected as Current Task.

* Select files to merge in History view. Select your working version first and then the “other one”.

* Right-click + Merge

* Merge to the left in BC. The file on the left is your working version that you are merging to.

* Exit and only after that Save changes

* Check History view

* Complete task if appropriate.

3. Documentation questions

3.1 Where can I find official or unofficial CMSynergy documentation on the Internet?

Since IBM Rational took over Synergy, access to documentation is much more open. The docs for the past few versions can be found on the IBM Rational web page.

The Cruise Control project integrates with CMSynergy and has a little information on its concepts as part of its documentation.

3.2 Why don't Telelogic make Synergy/CM's documentation available?

They do - it's all on the Telelogic web site. -- DavidHoney? - 09 Jan 2006