Introduction to StarTeam Integration in Delphi 2005

By: David Clegg

Abstract: Provides an introduction to the new StarTeam Integration features of Delphi 2005.


Delphi 2005 introduces developers to many new productivity enhancements, and one of the most impressive of these new features is the tight integration of Borlands StarTeam Software Configuration Management product into the Delphi 2005 IDE. This gives the developer easy access to the power offered by StarTeam, without ever having to leave the comfort of the IDE. This article is intended to give a brief tour of some of the functionality offered by the StarTeam integration, and to illustrate some of the benefits gained by using it.

As this article is primarily about the new StarTeam integration features included in Delphi 2005, it assumes that an existing StarTeam installation is available and configured. For details on how to install and configure StarTeam, consult the extensive documentation which ships with it.

A copy of StarTeam 6 Standard, along with one named user client license, is bundled with the Delphi 2005 Enterprise and Architect SKUs. Delphi 2005 Professional does have the integration features built into the IDE, but will require a separate StarTeam SKU before the full benefits can be realized.

Associating an Existing StarTeam Project

Before the StarTeam information for an existing project can be accessed, the project needs to have its StarTeam association details specified. This gives Delphi 2005 all the information in needs in order to access the correct StarTeam server, project and view when working with a Delphi 2005 project.

To set up a StarTeam association for a Delphi 2005 project, open the project in the IDE then select the Manage Associations option from the StarTeam menu.

Manage Associations context menu item

This will display the Manage Associations dialog, which will allow you to manage the StarTeam associations for every project in the current project group. It is possible to have a project group where only some of the projects are associated with StarTeam, or where the projects have different StarTeam associations.

Manage Associations dialog

Highlight the project you wish to associate with StarTeam and click the Edit button. The StarTeam Association dialog will then be displayed. Select the StarTeam Server (which will prompt you for your StarTeam login details), Project name, View path, and click the OK button.

Association dialog

The Manage Associations dialog should now reflect the project association. Click the Close button to finish the association process, or the Edit button to establish more project associations.

Updated Managed Associations dialog

Once all projects have been associated, the IDE will prompt you to commit your changes to StarTeam. This is because the .bdsproj file was modified to store the association details.

Association Prompt

Click Yes to complete the association process. You will then encounter the Check In dialog, which will be come quite familiar to you as you work with the StarTeam integration. It will give you the opportunity to add a comment for the change being checked in, as well as allow you to specify other check in options.

Check-in dialog

A StarTeam tab in the IDE Messages window will display the status of all StarTeam operations conducted from the IDE. In this case, it informs us that the project file was committed successfully.

Commit Project messages tab

Adding a Project to StarTeam

We will now explore how to add a Delphi 2005 project to StarTeam. Ensure the project has been opened in the IDE, and then select Place Project from the StarTeam menu.

Place Project context menu item

Alternatively the Place Project option can be chosen from the Project Manager context menu.

You will then be presented with the StarTeam Association dialog, where you can select the StarTeam server, project name, view path and folder path. By default StarTeam will store the project in the same folder path that was set up for the view, so you may want to take the opportunity to store it in a sub-folder. To do that, click on the ellipsis button to the right of the Folder path edit box. This will present you with the Select a StarTeam Folder dialog. You can then navigate to the StarTeam folder where the project should be stored, or create a new one by choosing New from the context menu.

Select Folder dialog

Doing the latter will invoke the New Folder wizard, which will allow you to create the new folder in StarTeam, set the working folder, and include or exclude any child folders based on the specified working folder.

New Folder Wizard

Once the wizard has been completed, you can then select the new folder in the Select a StarTeam Folder dialog. Once all the details have been supplied in the StarTeam Association dialog, click the OK to be presented with the Add Files dialog, which can once again be used to specify information about the files being checked in to StarTeam. Clicking the OK button on this dialog will start the check in process, and the results will be shown in the StarTeam Messages tab.

Check In Messages tab

StarTeam Project Management

Many StarTeam operations, such as file check in and check out, can be performed either from the StarTeam main menu item, or from the StarTeam item on the Project Manager context menu.

Project Manager context menu

As with all StarTeam operations, the results of any file check in or check out operations will be displayed in the StarTeam tab in the Messages window.

The Project Manager context menu is also context sensitive. For example, when right-clicking on a file listed in the Project Manager, the context menu will show StarTeam operations applicable to files. If you right-click on a Project node, the context menu shows StarTeam operations applicable to projects. The project management operations are quite powerful, so we will now explore some of those a bit further.

One of the more impressive StarTeam project management features is its ability to track and manage changes to local file names and locations. Any files that are renamed, moved or deleted locally can have these changes reflected in StarTeam in one operation. To do this, right-click on the Project node in the Project Manager and select Pending Renames/Deletes from the context menu. This will display a dialog which will allow you to manage the pending StarTeam rename and delete operations. It will show sequential operations in a treeview, with the most recent operation in the top node.

Pending Renames and Deletes dialog

Pending operations can be deleted (cancelled) or committed (applied to StarTeam) by clicking the relevant button, with the results shown in the StarTeam messages window.

To update the local version of a project with the latest changes checked into a StarTeam project, use the Update Project option from the StarTeam context menu. This will update the projects files with the latest revisions checked into the StarTeam. If there are changes in both the local and StarTeam versions of a file, you will be prompted to perform a merge of the changes. Selecting Yes will result in the Visual Merge dialog being displayed. This will show the differences made in both files, and allow conflicting changes (where the same portion of code was changed in both versions of the file) to be resolved manually. Any changes that can be merged without conflict will be done automatically.

Visual Merge dialog

The "Commit Project" option from the StarTeam context menu will save any changes made to the project to StarTeam, including all changed source files. As with the Update Project option, if there are any changes that need to be merged, you will be prompted to do so, and the Visual Merge dialog can once again be used to resolve these.

The Integrated Client

Now its time to take the integrated StarTeam client for a spin around the block, and have a look at some of the features it offers the Delphi 2005 developer.

To access the integrated Client, choose the View Client option from the StarTeam menu. This will embed the client in a tab in the IDE, and the Structure View will change to show the folder structure for the StarTeam view being accessed. Selecting a new StarTeam folder in the Structure view will result in all the files associated with that folder to be displayed in the StarTeam tab.

Integrated Client

The toolbar above the StarTeam tab allows you to perform additional actions such as showing files in all descendant folders, comparing file contents, managing labels and changing the current filter being applied. The top portion of the StarTeam tab will list all Files, Change Requests, or Topics matching the current filter. The bottom portion of the tab contains sub-tabs which provide additional information for the currently selected item.

Double clicking an item will either display that item in a separate tab in the IDE or, if it is a file associated with another program, open the item with its associated program.

Change Request

This means that from the IDE you can now easily edit and create StarTeam items (such as Change Requests) without having to launch the standalone StarTeam client. If you prefer to use the standalone Client, then this can still be done by selecting Launch Client from the StarTeam menu.

Once a change has been made to an items details, it can be saved by clicking the Save icon on the Standard IDE toolbar, or by selecting File|Save from the main menu. The IDE will also prompt you to save an item if you change to a different tab in the Code Editor area.

Another area of the Delphi 2005 IDE that benefits from the StarTeam integration is the new File History feature. If a project is associated with StarTeam, the History View will include StarTeam file history details in addition to the local file history which is usually displayed.

History View


The tight integration of Borlands StarTeam Software Configuration Management product into Delphi 2005 gives access to most StarTeam features without ever needing to leave the IDE. It is easy to accomplish many tasks which in the past were only achievable by using the standalone StarTeam client. The seamless way in which the integration works allows the Delphi 2005 developer to have the most complete development experience ever offered by a Delphi IDE.

Server Response from: ETNASC01