TortoiseSI is a free, open-source Microsoft® Windows® shell extension client for Integrity Lifecycle Manager.
Integrity Lifecycle Manager is a cross-platform, enterprise-class software configuration management and versioning solution.
TortoiseSI exposes Integrity Lifecycle Manager views, source commands, and version-controlled member actions on Windows files and folders through Windows Explorer.
TortoiseSI offers you a light-weight open-source interface to perform various Integrity Lifecycle Manager operations, access Integrity Lifecycle Manager data views, and commit changes to the repository. TortoiseSI displays icon overlays in Windows Explorer to indicate working file status on the file system.
This guide is intended for anyone interested in accessing Integrity Lifecycle Manager views and performing Integrity Lifecycle Manager operations directly from the Windows Explorer interface.
Since TortoiseSI is a Windows shell extension, this documentation assumes that the user is familiar with and proficient at using Microsoft Windows Explorer.
Developers who are interested in getting involved with the TortoiseSI project can refer to the GitHub TortoiseSI wiki.
TortoiseSI commands are available from the Windows Explorer context menu, and they are visible when you right-click on a file, folder, or subfolder. The TortoiseSI context menu commands update dynamically based on selection context.
You can also see the TortoiseSI menu as part of the Windows Explorer File menu.
If you encounter any problems while installing TortoiseSI, or following a TortoiseSI install, please refer to the Troubleshooting Tips section in this document first before contacting us.
TortoiseSI comes with a straightforward Setup Wizard installer. Double-click on the installer file and follow the instructions. The installer takes care of the rest.
To download a TortoiseSI release build:
You can install a newer version of TortoiseSI directly on top of an existing installation. You do not need to uninstall your current TortoiseSI application first.
Once TortoiseSI is installed on the system, you can verify that the install was successful by creating a sandbox in Integrity Lifecycle Manager.
TortoiseSI automatically connects to an Integrity Lifecycle Manager server. The specific server is based on your Integrity Lifecycle Manager client preferences.
If you are not prompted to connect to Integrity Lifecycle Manager, verify that the client is running, and that the client application can communicate with an Integrity Lifecycle Manager server.
If TortoiseSI loses its connection to the server, TortoiseSI will work silently in offline mode. To force a connection to the server, perform an operation that requires a server connection, such as viewing a sandbox through Integrity Lifecycle Manager's Sandbox view.
If you are unable to see the TortoiseSI icon overlays on files and folders in Windows Explorer, restart Windows Explorer or reboot the machine.
TortoiseSI only supports files located on fixed local drives.
File locations that are not supported by TortoiseSI include optical drives, network drives, and mass storage devices. If a file location is not supported, the TortoiseSI context menu is not visible in Windows Explorer.
If you have more than one Integrity Lifecycle Manager client installed on the machine, TortoiseSI uses the first client on the PATH environment variable. For more information on debugging non-standard configurations, such as running multiple clients, see the GitHub TortoiseSI wiki.
If TortoiseSI cannot find a client in the PATH environment variable, the TortoiseSI context menu is not visible in Windows Explorer.
If the Integrity Lifecycle Manager client is uninstalled after TortoiseSI has been installed, the TortoiseSI context menu is visible, but a client communication error displays when you try to perform a TortoiseSI operation. Restart the Explorer.exe process or reboot the machine to hide the TortoiseSI context menu in Windows Explorer.
Using TortoiseSI, you can perform a number of Integrity Lifecycle Manager sandbox operations.
An Integrity Lifecycle Manager sandbox is a local pointer to an Integrity Lifecycle Manager project residing on the Integrity Lifecycle Manager server.
On the file system, a sandbox functions as a mirror image of a version-controlled Integrity Lifecycle Manager SCM (software configuration management) project. Each Integrity Lifecycle Manager sandbox is actually a collection of pointers to files in the master project. Integrity Lifecycle Manager sandboxes allow you to work locally in your own workspace, without interfering with the work of others.
Note: Where applicable, TortoiseSI commands launch additional Integrity Lifecycle Manager commands, dialogs, and workflows. Integrity Lifecycle Manager operations follow configured Integrity Lifecycle Manager client preferences.
The following Integrity Lifecycle Manager sandbox operations are available using TortoiseSI. The equivalent Integrity Lifecycle Manager command is listed for each supported TortoiseSI sandbox operation.
For information on Integrity Lifecycle Manager sandbox operations, Integrity Lifecycle Manager commands, or Integrity Lifecycle Manager client preferences, see the PTC Integrity User Guide, Integrity Lifecycle Manager Help Center, or Integrity Lifecycle Manager CLI man pages.
Sandbox Operation | Integrity Lifecycle Manager Operation & Command | TortoiseSI Command |
---|---|---|
Create a Sandbox |
Create a private version-controlled project workspace on the file system that mirrors the content of a project on the Integrity Lifecycle Manager server. Integrity Lifecycle Manager command: si createsandbox Note: You cannot create sandboxes in other sandboxes (co-located sandboxes) using TortoiseSI. If you previously created co-located sandboxes manually, TortoiseSI may not function as expected in the associated folders on the file system. |
TortoiseSI > Create Sandbox |
Resynchronize by Change Package |
When the members you are resynchronizing have changes that were made in the context of a change package, you can also resynchronize members in a sandbox by change package. Resynchronizing by change package finds all members that were modified in an associated change package and all change packages that may be associated with the related members. However, only the change packages associated with the specific members you selected to resynchronize are processed. Caution: Resynchronizing can overwrite local member data and can result in data loss, even when the members are locked. Also, when members are dropped from a project, resynchronizing can delete those members from the file system. Integrity Lifecycle Manager command: si resync |
TortoiseSI > Resynchronize by Change Package
|
Resynchronize a Folder |
Resynchronize the contents of a sandbox in a project. Caution: Resynchronizing can overwrite local member data and can result in data loss, even when the members are locked. Also, when members are dropped from a project, resynchronizing can delete those members from the file system. Integrity Lifecycle Manager command: si resync |
TortoiseSI > Resynchronize
|
Drop a Sandbox |
Disconnect a sandbox from a project. Tip: During the drop sandbox operation, you can choose to leave the folder and its contents on the file system. You can continue working on those files; however, they will no longer be associated with Integrity Lifecycle Manager. Integrity Lifecycle Manager command: si dropsandbox |
TortoiseSI > Drop Sandbox Select a folder in a project. |
Drop a Subproject. |
Removes a subproject from a project. Notes:
Integrity Lifecycle Manager command: si dropproject |
TortoiseSI > Drop Sub-Project Select a folder in a project. |
Retarget a Sandbox |
Retarget a selected sandbox to change the Integrity Lifecycle Manager project configuration that the sandbox points to. For example, you can retarget the sandbox to point to a different variant project or a different checkpoint revision. Integrity Lifecycle Manager command: si retargetsandbox Note: The Retarget Sandbox operation does not change the project or server for a sandbox, nor does it change the location of a sandbox in Integrity Lifecycle Manager. |
TortoiseSI > Retarget Sandbox Select a folder in a project. |
Submit Changes to the Repository |
Review a summary of all changes made on disk, and then submit those changes to the repository using Integrity Lifecycle Manager’s Working File Changes view. See the section Committing Changes to the Repository for details. |
TortoiseSI > View Working File Changes Select a folder in a project. |
With TortoiseSI, you can perform a number of Integrity Lifecycle Manager member operations for Integrity Lifecycle Manager version-controlled projects. Member operations are applied to the version-controlled project in Integrity Lifecycle Manager after the related change package is submitted.
Note: Where applicable, TortoiseSI commands launch additional Integrity Lifecycle Manager commands, dialogs, and workflows. Integrity Lifecycle Manager operations follow configured Integrity Lifecycle Manager client preferences.
The following member operations are available using TortoiseSI. The equivalent Integrity Lifecycle Manager command is listed for each supported TortoiseSI member operation.
For information on Integrity Lifecycle Manager member operations, Integrity Lifecycle Manager commands, or Integrity Lifecycle Manager client preferences, see the PTC Integrity User Guide, Integrity Lifecycle Manager Help Center, or Integrity Lifecycle Manager CLI man pages.
Member Operation | Integrity Lifecycle Manager Operation & Command | TortoiseSI Command |
---|---|---|
Add |
Add a member or multiple members to a project. Once you add members to a project, you can check out the members for editing, and then check in the members to preserve your changes. Integrity Lifecycle Manager command: si add |
TortoiseSI > Add Select a file or multiple files in a project. |
Drop |
Remove a member or multiple members from a project. After dropping members, the member’s history remains in the project in case you need to re-create a version of the project later. Tip: During the drop member operation, you can choose not to delete the member from the file system. That member remains visible as a former member. Integrity Lifecycle Manager command: si drop |
TortoiseSI > Drop Select a file or multiple files in a project. |
Lock |
Lock a member or multiple members in a project to prevent other users from checking in changes to the same revision you are working on. Typically, members are locked when you check out members to a sandbox. However you may have made changes to a working member that you did not check out. You can set a lock on the working member without overriding your changes. Integrity Lifecycle Manager command: si lock |
TortoiseSI > Lock Select a file or multiple files in a project. |
Resynchronize a File |
Resynchronize the contents of a file Caution: Resynchronizing can overwrite local member data and can result in data loss, even when the members are locked. Also, when members are dropped from a project, resynchronizing can delete those members from the file system. Integrity Lifecycle Manager command: si resync |
TortoiseSI > Resynchronize
|
Resynchronize by Change Package |
Resynchronize members in a project by change package to update out of sync working members to the most current member revisions. For details, see Resynchronize by Change Package in the TortoiseSI sandbox Operations section. |
TortoiseSI > Resynchronize by Change Package Select a file or multiple files in a project. |
Check In |
Check in a member or multiple members from a sandbox to preserve your changes. Checking in a member creates a new revision of the member (or creates a new branch) in Integrity Lifecycle Manager and adds the revision to the member history. Integrity Lifecycle Manager command: si ci |
TortoiseSI > Check In Select a file or multiple files in a project. |
Check Out |
Check out a working revision of a member or multiple members from a version-controlled Integrity Lifecycle Manager project that you want to work on in a sandbox. When you check out a revision, the revision is copied to your local sandbox where you can view or modify its contents. By default, when you check out a revision, a lock is placed on the member in Integrity Lifecycle Manager, though this is configurable in the Integrity Lifecycle Manager client. Integrity Lifecycle Manager command: si co |
TortoiseSI > Check Out Select a file or multiple files in a project. |
Revert |
Revert a member or multiple members to discard your changes in the sandbox. When you revert members, your local working file is updated to match the working revision from the version-controlled Integrity Lifecycle Manager project. Integrity Lifecycle Manager command: si revert |
TortoiseSI > Revert Select a file or multiple files in a project. |
Move |
Move a member or multiple members between sandboxes. Integrity Lifecycle Manager command: si move Notes:
|
TortoiseSI > Move Select a file or multiple files in a project. |
Rename |
Rename a member in your sandbox. Integrity Lifecycle Manager command: si rename Note: Renamed member status information, which is available via TortoiseSI File Properties, is visible only for deferred operations. |
TortoiseSI > Rename Select a file in a project. Single file selection only. |
Merge Conflicts |
Merge conflicting changes into the member revision, and create a new revision with the resulting contents. The merge result overwrites your working member on the file system. The merge conflicts option is only available when a member conflict is present. Integrity Lifecycle Manager command: si merge |
TortoiseSI > Merge Conflicts Select a file in a project. Single file selection only. |
You can use Integrity Lifecycle Manager’s Working File Changes view to compare an Integrity Lifecycle Manager version-controlled project against the file system. The Working File Changes view lists all of the files, folders, and subfolders that have been added, updated, or deleted.
When you are ready to commit changes to the repository, right-click on an Integrity Lifecycle Manager sandbox and select TortoiseSI > View Working File Changes to access the Working File Changes view in the client.
You can also use the Working File Changes view to:
For more information on Integrity Lifecycle Manager change packages and the Working File Changes view, see the PTC Integrity User Guide or the Integrity Lifecycle Manager Help Center.
Notes:
With TortoiseSI, you can perform a number of Integrity Lifecycle Manager view operations on files in your sandbox for Integrity Lifecycle Manager version-controlled projects.
The following view operations are available using TortoiseSI. The equivalent Integrity Lifecycle Manager command is listed for each supported TortoiseSI view operation.
For information on Integrity Lifecycle Manager view operations or Integrity Lifecycle Manager commands, see the PTC Integrity User Guide, Integrity Lifecycle Manager Help Center, or Integrity Lifecycle Manager CLI man pages.
View Operation | Integrity Lifecycle Manager Operation & Command | TortoiseSI Command |
---|---|---|
View Member Differences |
Compare a working member in a sandbox to the member revision in the repository to review the differences between the two revisions. Integrity Lifecycle Manager command: si diff |
TortoiseSI > Member Differences Select a file in a project. Single file selection only. |
View Member History |
Review detailed information about each revision and all the changes made to a member since the member was put under version control. Integrity Lifecycle Manager command: si viewhistory |
TortoiseSI > Member History Select a file in a project. Single file selection only. |
View Annotated Revision |
Instead of reviewing revision details individually, you can review revision details for all changes to a specific file in an annotated view of the file contents. For example, you can identify which revision introduced a particular line of code. Note: Annotated details include only added or changed content per revision. Deleted content is not displayed. Integrity Lifecycle Manager command: si annotate |
TortoiseSI > Annotated Revision Select a file in a project. Single file selection only. |
View Member Information |
Display information for a member in a sandbox, including Integrity Lifecycle Manager project and path details, member revision details, and more. Integrity Lifecycle Manager command: si memberinfo |
TortoiseSI > Member Information Select a file in a project. Single file selection only. |
View Sandbox |
Open the contents of a sandbox in Integrity Lifecycle Manager's Sandbox view. The Sandbox view displays project members and subprojects in a tree structure. Integrity Lifecycle Manager command: si viewsandbox |
TortoiseSI > View Sandbox Select a folder in a project. |
View Related Change Packages |
Review all change packages containing members that belong to a specific project branch. Integrity Lifecycle Manager command: si viewcps |
TortoiseSI > Related Change Packages Select a folder or subfolder in a project. |
View Project History |
Review the history of a project since it was put under version control, including detailed information for a selected checkpoint. Integrity Lifecycle Manager command: si viewprojecthistory |
TortoiseSI > Project History Select a folder or subfolder in a project. Single selection only. |
View Project Differences |
Compare the member or change package changes made to a project between two checkpoints, or compare the changes made between a checkpoint and the working project. Notes:
Integrity Lifecycle Manager command: si mods |
TortoiseSI > Project Differences Select a folder or subfolder in a project. Single selection only. |
View My Change Packages |
Review a list of all change packages you have created that contain entries that have not been committed to the repository. In Integrity Lifecycle Manager's My Change Packages view, you can manage your change packages as follows:
Integrity Lifecycle Manager command: si viewcps |
TortoiseSI > My Change Packages Select a file or a folder in a project. No selection or multiple selections are also supported. |
View My Reviews |
Display a list of all change packages that have been submitted and that are ready for you to review. Integrity Lifecycle Manager command: si viewcps |
TortoiseSI > My Reviews Select a file or a folder in a project. No selection or multiple selections are also supported. |
View My Locks | Review all of the members that you have locked across all projects. Integrity Lifecycle Manager command: si locks |
TortoiseSI > My Locks Select a file or a folder in a project. No selection or multiple selections are also supported. |
View Working File Changes |
Review a summary of all files, folders, and subfolders that have been added, updated, or deleted on the file system. You can also use this view to submit changes to the repository. See the section Committing Changes to the Repository for details. |
TortoiseSI > Working File Changes Select a folder in a project. |
TortoiseSI status indicators appear as icon overlays on Integrity Lifecycle Manager version- controlled files in Windows Explorer. These icon overlays show you, at a glance, what has been modified on the file system.
The following table lists the TortoiseSI file icon overlays available for each Integrity Lifecycle Manager member status.
For more information on Integrity Lifecycle Manager member status, see the PTC Integrity User Guide, Integrity Lifecycle Manager Help Center, or Integrity Lifecycle Manager CLI man pages.
Integrity Lifecycle Manager Member Status | TortoiseSI File Icon Overlay | Limited File Icon Overlay Subset |
---|---|---|
Add Member A blue plus sign indicates files that exist in a file system folder that are not yet members of a version-controlled Integrity Lifecycle Manager project. |
||
Drop Member or Former Member A red X icon indicates files that have been deleted and dropped from a version-controlled Integrity Lifecycle Manager project. Note: A local copy of the dropped file, called a Former Member, may remain in the sandbox. |
||
Member A green checkbox icon indicates files that correspond to members of an Integrity Lifecycle Manager version-controlled sandbox. |
N/A |
|
Locked Member A yellow lock icon indicates files that have been locked in an Integrity Lifecycle Manager version-controlled project. |
||
Modified Member, Moved Member, Renamed Member or Merge Needed A red exclamation mark icon indicates files that have been modified and require a merge, files that have been moved, or files that have been renamed locally on the file system. |
N/A |
|
Incoming Member Conflict A yellow exclamation mark icon indicates files that are currently out of synchronization with the Integrity Lifecycle Manager version-controlled project (including files have been modified locally and remotely, or files that have unresolved merge operations). Further action is required in Integrity Lifecycle Manager for file conflicts. |
Notes:
To display Integrity Lifecycle Manager project or subproject properties for a project under version control, right-click on a folder and select Properties > TortoiseSI.
Note: The TortoiseSI tab is not visible for folders that are not in a version-controlled Integrity Lifecycle Manager project.
The following Integrity Lifecycle Manager Configuration Management properties are displayed.
Property | Description |
---|---|
Development Path |
The name of a particular branch of software development. Changes made through a specific development path are kept separate from the main development trunk unless you choose to merge them later. |
Project Name |
The path and name of a project specified as a flat string. |
Sandbox Name |
The location of the sandbox specified as a flat string. |
Server |
The name of the host server where the Integrity Lifecycle Manager server is located. |
Checkpoint |
The current revision number and the date when the project was last checkpointed. Checkpointing adds a new revision of the project to the project history. |
For more information on working with Integrity Lifecycle Manager projects and subprojects, see the PTC Integrity User Guide, Integrity Lifecycle Manager Help Center, or Integrity Lifecycle Manager CLI man pages.
To display Integrity Lifecycle Manager member properties for a file under version control, right-click on a file and select Properties > TortoiseSI.
Note: The TortoiseSI tab is not visible for files that are not in a version-controlled Integrity Lifecycle Manager project.
The following Integrity Lifecycle Manager Configuration Management properties are displayed.
Property | Description |
---|---|
Member Revision |
The default revision that users work with in sandboxes for this file. |
Working Revision |
The revision number the selected member is based on. |
Working CP ID |
The change package ID containing the operations for the member. |
Lock Name |
The name of the user locking the member revision. When multiple locks exist, lock information is logically grouped together. |
Status |
The Integrity Lifecycle Manager member status, such as a deferred operation. |
Sandbox Name |
The path to the Integrity Lifecycle Manager sandbox that contains the file. |
For more information on working with Integrity Lifecycle Manager members, see the PTC Integrity User Guide, Integrity Lifecycle Manager Help Center, or Integrity Lifecycle Manager CLI man pages.
You can use TortoiseSI to exclude uncontrolled files in a sandbox from appearing in selections when adding members to a version-controlled Integrity Lifecycle Manager project.
For example, you may want to avoid adding specific DLL files or all EXE files when performing a member add operation. You do not want to have to remember to exclude files manually. Excluding a specific filename or a file pattern adds that exclusion as an Integrity Lifecycle Manager Non-Member Files exclusion filter preference in the client.
To remove a file pattern exclusion filter, right-click on a non-member file that currently matches a file pattern entry in the exclusion filter, and select TortoiseSI > Remove from Exclude Filter > [file pattern].
This release product is a work in progress. Both the TortoiseSI product and this documentation are subject to change.
Details about how to contribute to the TortoiseSI project can be found on the TortoiseSI GitHub project page and the GitHub TortoiseSI wiki.
Contact PTC Technical Support through the PTC Integrity eSupport portal for problems/questions about the integration or raise a new issue/enhancement request on the GitHub TortoiseSI issue tracker. See GitHub TortoiseSI issue tracker for more information on issue status, including known and fixed issues.