Plastic SCM provides a complete integration plug-in for the Eclipse IDE covering the most common operations needed by developers. Eclipse version 3.1 and higher are supported.
This section will describe the functionality and commands of the Plastic SCM Eclipse integration plug-in. Basic knowledge of Plastic SCM concepts and terminology is needed. Things like a workspace, checkout / checkin, branch or merge should be familiar to the reader. For more details, please refer to INTRODUCTION TO PLASTIC SCM guide and the PLASTIC SCM GUI guide.
Most likely the first operation a developer can do is putting some existing code project in the source control system. In Plastic SCM, this means adding the code to the repository (the repository is the database on the Plastic SCM server that holds all the data about files, directories, versions and branches).
Adding a project to Plastic SCM is a two step process. First create the workspace and bind the project to Plastic SCM, then add the files to the repository.
To add an existing Eclipse project to the repository, a Plastic SCM workspace a needed. Normally the workspace will be created in the same directory where your code already sits.
In the following example, the workspace is located in 'c:\wks', and the project structure will be the following:
C:\wks
C:\wks\projectC:\wks\project\src\
Open the project in Eclipse as usual. To add the project to Plastic SCM, right click on the top directory (that of the project itself) in the Package Explorer and select:
Team > Share project
Eclipse will ask about the repository type. Depending on the plug-ins available to your Eclipse installation, different options may appear. Choose "Plastic SCM" to continue.
The plug-in needs to find the Plastic SCM binaries directory. It will try to locate the Plastic SCM command line interface executable "cm" in the PATH environment variable automatically, but if it is not found, a dialog will be displayed so the user can enter the location of such file. This file is located under "client" in the Plastic SCM installation directory.
Then the plug-in will ask to create a workspace. The next figure shows the fields needed for this.
Once this is done, the project is bound to Plastic SCM. The next step is to add the files to the repository. You can add the whole project or just a part of it. To add the whole project, right click on the project in the Package Explorer and select:
Team > Checkin pending changes...
Once added, the items in the Package Explorer display the status as "Controlled" through a decorator.
Once the project is in the repository, other developers don't need to add it again; they will simply download it from the repository. To do this, go to:
File > Import...
The import dialog opens up. Select "Plastic SCM" and "Projects from Plastic SCM" inside it:
The step in the wizard lets you select the data source. In Plastic SCM, this means the repository where the project is contained in the Plastic SCM server, as well as the specific branch whose content will be downloaded to the workspace.
First select the repository:
Then click Next and, in the new dialog, select the branch to proceed to the next step.
In the next step of the wizard, you can select an existing workspace or create a new one. The workspace is the directory in the local disk where the code will be downloaded from the repository.
Normally you will create a new workspace to work on the new project you are connecting to. To do so, click the Create new workspace button. The new workspace dialog appears, with the same fields described in the Adding projects to the source control system section.
The next page summarizes the details of the workspace that will be created. It contains the directory where the code will be downloaded and the repository and branch (or label) from which the code will be downloaded.
Clicking Next, the workspace will be updated and the code downloaded from the repository. Once this is done, the next page of the wizard lets you import the code from the Plastic SCM workspace into Eclipse, as shown in the figure below:
Now you can choose whether to import using the familiar Eclipse wizards: "Import resources wizard" or "New project wizard". Three options are available once all the data is downloaded into the workspace.
If using the "New project wizard", make sure to select the location of the workspace you have just created, overriding the default. For instance, if your Eclipse workspace is located in:
c:/Users/tester/EclipseWk
and the Plastic SCM workspace you just created is located in:
c:/Users/tester/plastic/prjwk
you want to specify this directory as location, opposed to the default location c:/Users/tester/EclipseWk.
Another possible way to work in a project is to create the Plastic SCM workspace and downloading the contents from the repository outside Eclipse, and then bind the project. Creating the workspace and updating it can be done using the Plastic SCM GUI or the command line interface (the cm command).
Once the workspace is populated with the code from the repository, it only needs to be bound to Plastic SCM inside Eclipse. To do so, right click on the project in the Package Explorer, and select
Team > Share project...
Then proceed as described in the Adding projects to the source control system section, but this time the source code files are already added and that part can be skipped.
The Eclipse plug-in lets you perform the most common operations on files. These operations can be found under the Team submenu right clicking on a file in the Package Explorer.
Here is a description of the Plastic SCM specific operations in the Team menu:
Note that if the selected items are directories, this operation will also list the pending changes inside those directories. If this operation is performed on the project itself, then all the pending changes are listed. This is, indeed, the most common use of the check in operation.
The history view lets you open any given revision in the editor, as well as compare the selected revision with the current one in the workspace, or compare any two revisions.
When two revisions are compared, a differences tab is open inside Eclipse. The figure below shows this.
To compare any two revisions, select both by holding down the Control key (or Command in a Mac computer) and clicking on the desired revisions. Right click and select Compare revisions.
If the selected file is checked out, the content of the file in the workspace is compared to the latest revision of the item in the repository.
The tooltip displays the author that created the change, the changeset number, the date it was created and the comment associated to the changeset.
Decorators are small overlay icons drawn on top of items in the Package Explorer that tell you the status of the item. This is a summary of the possible status:
Decorators are activated by default when the Plastic SCM Eclipse plug-in is installed. It is possible to enable or disable them by going to
Window > Preferences > General > Appearance
Check or uncheck the Plastic SCM Decorators option to enable or disable the decorators, respectively.
Plastic SCM provides several views to access repository objects and their operations right inside the Eclipse IDE. Although the functionality in these views is not as complete as the Plastic SCM GUI, they provide enough functionality to a developer to work comfortably without leaving the IDE.
The next figure displays the available Plastic SCM views. To show any of these views, go to:
Window > Show View > Other...
In the dialog that appears, open the Plastic SCM category, select the views you want to show in the IDE and click the Ok button.
Open a Branch Explorer view similar to the one in the PLASTIC SCM GUI guide.
Inside the Branch Explorer view you can run the following operations right clicking in a branch:
If you right click in a changeset in a branch in the Branch Explorer view you can execute this operations:
Open a new view that shows all the branches created in the workspace.
The Branches view has these operations:
You can get further information about the Branches view in the PLASTIC SCM GUI guide.
The changeset explorer view lets you explore the changesets of the repository currently loaded in the workspace. This view is a table with the list of changesets where the comment, date, branch and author of the changeset are displayed.
In the Changesets view you can execute the following commands:
Open a new view where you can see all the labels created in the current workspace.
These are the label operations:
Display the Pending changes view with its own toolbar:
These are the commands available in the toolbar:
The workspace explorer view lets you explore all the previous views of the repository currently loaded in the workspace.
Besides, lets you execute the following operations:
Plastic SCM provides complete support for refactor operations, especially effective when renaming and moving items from one directory to another.
This behavior is due to the way in which Eclipse handles refactor and plug-in communication. You will only have to click Back and Next again and the refactor operation will correctly finish.
To set the preferences for the Plastic SCM Eclipse plug-in, go to:
Window > Preferences > Team > Plastic SCM
A dialog is shown where the following option can be set:
Plastic SCM provides integration with Mylyn 3.0 or later; this version of Mylyn works fine in Eclipse 3.4 or later.
This feature is very useful when using task controls (see the TASK AND ISSUE TRACKING SYSTEMS guide of Plastic SCM to obtain a list of task controls that can be connected to Plastic SCM), because the user will be able to work on his / her tasks from the Eclipse environment, checking out and checking in the files and linking those changes to a certain task.
To install the Mylyn integration it is necessary to check the following option when installing or upgrading the Plastic SCM client:
Then, the installer will ask you for the Eclipse location. Specify this information and proceed with the installation process.
When the installation is finished, the Mylyn integration is ready to work with (as long as you have Mylyn installed in Eclipse; otherwise this plugin will not work at all).
If you have Plastic SCM GUI configured with a task control you do not need to do anything else. Continue reading the section Using the Mylyn integration; otherwise you will need to configure the Mylyn integration. To learn about configuring task controls in Plastic SCM GUI, please, check the TASK AND ISSUE TRACKING SYSTEMS guide.
To configure the Mylyn integration, go to
Window > Preferences > Team
and finally Plastic SCM for Mylyn in the list provided in the left pane. You will see something like this:
If you have the Plastic SCM GUI already configured with a task control you do not need to change anything.
You can choose if you want to link branches with tasks or changesets with tasks. The most common scenario (and the one we recommend) is the first one.
If you have chosen to link issues with Plastic SCM branches, specify the branch prefix that will be linked with the tasks ID. Finally, click on Ok.
Once the appropriate task control is configured in Mylyn, and having the 'Task list' view opened, just click on the bullet that appears on the left of a certain task, as you would do when working on a task from Mylyn as usual. The following dialog appears:
In this dialog you can select a workspace that is configured with the opened projects (by default is selected the current one, opened in Eclipse). In the list shown below Plastic SCM lists the branches which prefix matches with the task ID of the selected task. This information will be taken from the Plastic SCM GUI or from the Preferences window, as explained before.
You can select the branch that will be associated with the selected task, add and select another one that is not listed, remove branches from the list or create a new one, which will take the configured prefix by default. Finally, press OK.
Plastic SCM will switch to the specified branch automatically; this way working in a specific task from Eclipse is very easy: you simply select the desired task, specify the branch to work on and automatically you are doing changes in that branch.
Mylyn will filter the Package Explorer view with the files that have been modified previously in other tasks, as it believes that a user often modifies the same files; anyway you can see the whole project by clicking on the icon in this view.