All Versions
Fisheye 4.2 DocumentationFisheye 4.1 Documentation
Fisheye 4.0 Documentation
More...
End of Support for ClearCase
On April 4th 2012, we are ending FishEye support for IBM ClearCase. For more information, see End of Support Announcement for IBM ClearCase.
This page contains instructions for how to set up a ClearCase repository in FishEye, a configuration reference and a list of known issues.
If you also have Crucible, you will also be able to run Crucible reviews on code from your ClearCase repository, once configured.
On this page:
The instructions on this page require the following:
Applications:
cleartool command must be installed on the same server as FishEye and must be available in the PATH of the user that is running FishEye.Permissions:
To add a ClearCase repository,
Field |
Description |
Allowed values |
|---|---|---|
Repository Type |
Select 'ClearCase'. |
ClearCase |
Name |
Enter a display name. This name will be displayed in the list of FishEye repositories. |
Free text |
Description |
Optionally enter a description for this repository. |
Free text |
Field |
Description |
Allowed values |
|---|---|---|
View Location |
If 'Auto Create View' is ticked, enter the location of a directory accessible to the FishEye instance where snapshot views can be created. |
A system path |
Auto Create View |
Tick the checkbox, if you want FishEye to create views for each VOB or UCM Project being indexed. |
Yes/No |
UCM |
Choose whether the underlying ClearCase repository uses UCM or Base ClearCase. |
Yes / No |
If you have selected 'UCM' to be 'No' (i.e. you are configuring a Base ClearCase repository) complete the following fields:
Field |
Description |
Allowed values |
|---|---|---|
Main Branches Only |
Tick this checkbox, if you only want changes made on the main branch or delivered to the main branch to be indexed. Do not tick this checkbox, if you want all changes to be indexed. |
Yes / No |
Index Start Date |
Enter an index start date, if you only want changes that were made after this date to be indexed. Note, files that have not changed since the index start date will not be displayed at all. |
Date (YYYY-MM-DD) |
Block Size |
Enter the block size, i.e. how many change sets FishEye and Crucible will process in one batch. |
Number |
Command Timeout |
Enter how long you want FishEye and Crucible to wait for ClearTool commands to complete, e.g. "100000". If not set, this will default to "3600000". |
Number (in milliseconds) |
VOB to Include |
If you only need FishEye to index a single VOB, select the VOB to index. The dropdown list will contain all non-UCM VOBs found in the ClearCase installation. |
Auto-populated |
Include Pattern |
If you need FishEye to index multiple VOBs, use a pattern to specify which VOBs to include. Multiple inclusion patterns can be separated with a comma. |
Free text |
Exclude Pattern |
If you need FishEye to index multiple VOBs, use a pattern to specify which VOBs to exclude. Multiple exclusion patterns can be separated with a comma. |
Free text |
Branches to Include |
Enter the list of the branches to include in indexing. An empty list will cause all branches to be indexed. |
Table |
Branches to Exclude |
Enter the list of the branches to exclude from indexing. |
Free text |
If you have selected 'UCM' to be 'Yes' (i.e. you are configuring a UCM ClearCase repository) complete the following fields:
Field |
Description |
Allowed values |
|---|---|---|
Integration Streams Only |
Choose whether FishEye and Crucible should index changes made on development and integration streams or only integration streams. We recommend that users choose 'Yes' for this option. |
Yes / No |
Include Integration Activities |
Choose whether to include integration activities, i.e. when enabled, rebase and deliver activities will also be indexed. |
Yes / No |
Index Start Date |
Enter an index start date, if you only want changes that were made after this date to be indexed. Note, files that have not changed since the index start date will not be displayed at all. |
Date (YYYY-MM-DD) |
Block Size |
Enter the block size, i.e. how many change sets FishEye and Crucible will process in one batch. |
Number |
Command Timeout |
Enter how long you want FishEye and Crucible to wait for ClearTool commands to complete, e.g. "100000". If not set, this will default to "3600000". |
Number (in milliseconds) |
Project To Include |
A drop down list displaying all the UCM Projects found in the ClearCase installation. If users only require that FishEye index a single UCM Project, they should select the Project to index from this drop down list. If 'Auto Create View' is set to 'False' (i.e. using an existing view), you must select a single project not 'All', as a view can only be used for a single UCM project. |
Auto populated |
Project Include Pattern |
If you need FishEye to index multiple UCM Projects, use a pattern to specify which UCM Projects to include. Multiple inclusion patterns can be separated with a comma. See the Inclusion/Exclusion Settings section for examples of inclusion patterns. |
Free text |
Project Exclude Pattern |
If you need FishEye to index multiple UCM Projects, use a pattern to specify which UCM Projects to exclude. Multiple exclusion patterns can be separated with a comma. See the Inclusion/Exclusion Settings section for examples of exclusion patterns. |
Free text |
Streams to Include |
Enter the list of the UCM streams to include in indexing. An empty list will cause all streams to be indexed. |
Free text |
Streams to Exclude |
Enter the list of the UCM streams to exclude from indexing. |
Free text |
Field |
Description |
Allowed values |
|---|---|---|
Store Diff Info |
Choose whether to enable the Store Diff Info setting. See Store Diff Info for more information on this setting. |
Yes / No |
Enable Repository After Adding |
Choose whether the repository will be accessible in FishEye immediately. |
Yes / No |
Screenshots: Adding a ClearCase Repository (click to view gallery)
|
|
|
|
|
|
Step 1
|
Step 2a (Base)
|
Step 2b (UCM)
|
Step 3
|
The following points provide guidelines for the settings which may need to be applied in order to restrict the number of ClearCase Projects/VOBs indexed by FishEye:
When using the Includes/Excludes fields, you can enter one or more patterns, separated by a comma (note, you cannot use spaces). A pattern can be either a regular expression or a plain string. Matching is done as follows:
For Base ClearCase configurations, the patterns are matched against the VOB name as listed in the select box (e.g. vob:/vobs/yourvob):
VOB Include/Exclude Pattern |
Description |
|---|---|
/vobs/myvob1,/vobs/myvob2 |
matches /vobs/myvob1 and /vobs/myvob2, but also /vobs/myvob12 |
vob:/vobs/.*vob |
regexp pattern that matches /vobs/myvob, /vobs/yourvob, but not /vobs/myvob2 |
vob:/vobs/.*vob,/vobs/myvob1 |
combination of a regexp pattern and a simple VOB name. |
For UCM ClearCase configurations, the patterns are matched against the full UCM Project as listed in the select box (e.g. project:MyUCMProject@/my_pvob):
UCM Project Include/Exclude Pattern |
Description |
|---|---|
MyProduct1,MyProduct2 |
matches all UCM projects whose name contains MyProduct1 or MyProduct2 (e.g. MyProduct12_Rel3.1) |
project:MyProduct_Rel\d+.* |
regexp pattern that matches MyProduct_Rel1, MyProduct_Rel2, but not MyProduct_CoolNewFeature |
.@/my_pvob,.@/my_otherpvob |
regexp patterns that match all UCM projects in the /my_pvob and /my_otherpvob PVOBs. |
As part of the repository scanning logic, FishEye will create a view for each Project (for ClearCase UCM environments) or VOB (for Base ClearCase) using the locations defined in the 'View Location' and 'View Storage Location' fields. This is required in order for the underlying 'cleartool' commands to be executed in the correct context. Please note that FishEye will not perform updates on these views - it is intended that these views will remain unpopulated.
It may be helpful to understand how FishEye's ClearCase support carries out indexing. Please see the following sections:
UCM ClearCase Indexing:
The ClearCase support will attempt to index all the available content within a ClearCase environment. The logic works as follows (ClearCase specific terms are underlined see definitions):
PVOB stands for Project Versioned Object Base.
Base ClearCase Indexing:
The logic for the Base ClearCase support is,
All non-UCM VOBs that are available are identified.
The initial scan of a repository is a time and resource intensive operation, more so if the ClearCase repository being indexed is large (both in terms of the number of ClearCase projects and the number of change sets included in each project). In the Atlassian test environment (running in a virtual machine), each commit included in a change set would take approximately one second to complete (the time taken in a non-VM environment seems to be slightly faster at approx 700ms). You can use these numbers to estimate the time it will take to scan your repository; it could take many hours or possible days to complete.
Config.xml schema changes:
The structure of the underlying schema for the ClearCase configuration config.xml file has changed. The effect of this is that for repositories created prior to version 2.1.3, the VOB/UCM Project Inclusion rules won't appear in the Administration UI. However, the previously entered values for these fields will still be used as part of the repository scanning logic.
In order for these fields to be displayed in the Administration UI, the values for these fields should be re-entered.
Interactive invocation of cleartool commands:
As a performance improvement measure, a number of the cleartool commands executed by FishEye as part of the repository scanning logic are now executed in 'interactive' mode. That is, a cleartool process (one per repository) is kept open for the duration of the indexing process.
The execution of commands in interactive mode can be disabled by adding a 'disableInteractiveProcess' attribute to the specific ClearCase repository defined in the config.xml file.
Performance Improvements:
Subsequent indexing operations for Base ClearCase repositories will take the last indexed date into account, so the 'cleartool lshistory' output will only include those changes that have not already been indexed.
In the first release, the include/exclude rules for VOBs and Projects were handled by the 'Include/Exclude' rules item on the administration page. Based on feedback received during initial version testing, this has been updated to provide additional flexibility:
From version 2.5.6 FishEye allows you to specify a file which lists the types which are to be considered as text types. If a file 'types.txt' is found in the FISHEYE_INST root directory, FishEye will load this file. Each line in this file is considered to be the name of a Clearcase type which is to be considered a text type. When FishEye detects a file of a type which matches a line in this file, it will remap the type to 'text_file' internally. FishEye will not treat such files as binary.
There is only a single file for all Clearcase repositories in a FishEye instance and all Clearcase repositories will use this file. To pick up changes in this file, a repository must be restarted. The mapping must be in place before FishEye indexes a revision with that type otherwise FishEye will indicate the file is binary. Addition of a type to the list in 'types.txt' after FishEye has indexed revisions of that type will require the repository to be reindexed to pick up that change.
There are a number of known issues with ClearCase support in FishEye. These are listed below.
Currently XML files cannot be viewed as 'Annotated' source. By default, ClearCase using a specific type manager to store XML files. This type manager does not support the 'cleartool annotate' command, which is used by the logic in FishEye that displays the Annotated source.
Further to this, by default ClearCase treats any files not defined in the 'default.magic' file as 'compressed' (for instance, property files are not included in the default.magic file). Only text-based type managers can be annotated (and hence, can be displayed via the 'Annotated Source' link). The type manager can be updated by performing the following steps:
Further information on the ClearCase type manager is available on the following pages:
There is a known bug with earlier versions of ClearCase that limit the Cleartool output to 64K of data. This may affect projects that contain a large amount of changes included in a changeset. This bug can be fixed by upgrading ClearCase — see this page for more information.
Please raise a support ticket to seek assistance with FishEye ClearCase support.