The SourceOffSite client window provides the same functionality as Visual SourceSafe Explorer, and is presented using the Microsoft 2007 Office Fluent User Interface. The tabbed ribbon across the top (Tool Ribbon) provides access to the various program operations, all of which are organized into groups of similar function. The pane on the left side (Project List) includes a tree view of the Visual SourceSafe database. The pane on the right (File List) is a listing of the files in the currently selected project. The lower pane (Status Window) is a tabbed window offering the choice between a listing of recently performed operations, working folder settings, or check out list.
The Project list, File list, and tabbed output pane can all be undocked or repositioned. Click and drag any title bar of any pane to readjust its docked status or position.
The Project List displays as a hierarchical tree on the left side of the Client window. The top of the tree is called the root project and is displayed as $/.
The project tree is created when the SourceOffSite client first connects to the server. Any changes to the project tree by other users will not be noticed until a Refresh Project Tree operation is performed.
SourceOffSite Client users must have a minimum of read permission to this root project in order for SourceOffSite to retrieve the project tree. These permissions are set in the Visual SourceSafe Admin tool.
The File List on the right side of the Client window may contain as many as eight columns.
File – The name of the file. A visual cue is also provided to show the check out and share status of the file.
User – The name of the user who currently has the file locked.
Local Date – The date of the local (Client) copy of the file.
Remote Date – The date of the latest revision of the remote (Server) copy of the file in the Visual SourceSafe database.
Local Version – The version of the local (Client) copy of the file. This is often referred to as the baseline.
Remote Version – The latest version number of the remote (Server) copy of the file in the Visual SourceSafe database.
Status – The status of the local copy of the file relative to the copy in the Visual SourceSafe database.
Type – The type of file is listed based on file extension.
The File List view allows the list to be sorted by any column by clicking on the column heading. Some file operations may be performed by selecting the file and right-clicking on it. The column may be reverse-sorted by clicking twice on the column heading.
Icons next to the file name indicate the type of file. The following icon overlays also give a visual indication of whether the file is checked out or shared These include:
File is checked out.
File is checked out by multiple users.
File is shared.
File is both shared and checked out.
File is both shared and checked out by multiple users.
File is pinned.
SourceOffSite 5.0 now also shows subprojects within the file list view. Note that operations performed when such a subproject is selected work on that selected subproject, not the parent project that is currently selected in the project list.
The Status column indicates the nature of the local (Client) copy of the file with respect to the remote (Server) copy. It can have the following possible values:
Missing – There is no local copy of the file. A file is determined to be Missing when the file is in the Visual SourceSafe database but not in the specified working directory on the Client machine.
Old – The remote version of the file is newer than the local copy. A file is determined to be Old by comparing the version number of the file on the Client to the version number of the corresponding file in the Visual SourceSafe database. If the version number of the file on the Client is less than the version number of the file in the Visual SourceSafe database, the Status column displays the value of Old.
Edited – The local copy has been edited and is checked out. A file is determined to be Edited by comparing file modification times. When a Save command is executed on a local file, its modification time is updated to the current time. SourceOffSite recognizes that the time has changed so it checks whether the file is checked out by you. If the file is modified and checked out by you, then the Status column displays the value of Edited. The Local Date column will show the recent modification time until the file is checked in. After check in, the local time may be the modification time or check in time depending on the settings of your SourceOffSite local file options.
Renegade – The local copy has been edited but it is not checked out by you. A file is determined to be Renegade by comparing file modification times. When a Save command is executed on a local file, its modification time is updated to the current time. SourceOffSite recognizes that the time has changed so it checks whether the file is checked out by you. If the file is modified and not checked out by you, then the Status column displays the value of Renegade. The Local Date column is also updated with the recent modification time.
Unknown – The local copy exists but it has never been retrieved using SourceOffSite. A file is determined to be Unknown when SourceOffSite cannot determine which revision of the file is present locally. Files that exist locally because they were downloaded using Visual SourceSafe Explorer will display an Unknown status. Use the Checksums option or the Show Differences operation to see if the local and remote copies are identical. If the local file is not the most recent revision, use the Get Latest Version operation to retrieve the file from the database. Thereafter, the Status column will display more useful information.
More Recent – The local copy is a later version than the copy in the database. When the version number of a local file is greater than the latest version of the file in the Visual SourceSafe database, the Status column displays a value of More Recent. This could happen if a file is rolled back or pinned to a previous version in the database.
Needs Merge – The remote version of the file is newer than the local copy, and the local copy has been edited. Needs Merge is a combination of Old (there is a newer version of the file on the server) and either Edited (the file has been checked out and modified) or Renegade (the file has been modified locally but not checked out).
(empty) – If the status column is blank, then the local copy and the remote copy are identical. The local and remote copies of a file are determined to be the same by version number only. If the files share the same version number, then the Status column will display (empty). Once the file is modified in any way, the Status column will display one of the above values.
The Status Window is located in the lower portion of the Client window. The status window contains three dockable tabs that provide additional information.
Output - The results of recently performed file operations are dynamically logged to this tab. Every operation that is performed in the SourceOffSite Client during a session is documented in the Output tab. It shows all operations that are being performed, such as files that are downloaded or file lists that have been refreshed. Additionally, the output pane will show a variety of warning messages. The number of lines to display in the Output tab is configurable from the View pane of the Options dialog. The default is 300 lines. To clear the Output tab, select Clear Output from the tools tab of the ribbon.
Pending Checkins – The pending checkins tab provides a hierarchal view of the tree showing files checked out from the local computer. It can be refreshed to show all files checked out by the currently logged-in user. A space for comments is also available from this tab as well as the option to check in, thus allowing multiple files from different projects to be committed simultaneously.
Working Folders – The working folders tab shows all working folder associations. From this tab, you can right click an item to edit or delete that particular working folder association.
SourceOffSite 5.0 utilizes the new Microsoft Office 2007 Fluent UI. One aspect of this new user interface allows for SourceOffSite commands to be easily added to the quick access toolbar. The quick access toolbar is the strip that runs across the top of the applciation, and by default contains two commands, Open Connection and Cancel operation. These commands can be removed, and other more frequently used commands can be added. For example, if you wish to place the Options dialog as a quick access toolbar item, click the SourceOffSite icon in the upper left corner to view the application Menu. Near the lower right corner of the application menu, you will see the options icon. Right-click the icon, and select “Add to Quick Access Toolbar.”
You can do likewise with any other SourceOffSite function by right-clicking the appropriate icon in the ribbon. Additionally, you can click the icon in the Quick access toolbar itself, and choose “More commands.”
SourceGear does not recommend running two SourceOffSite clients of the same version simultaneously connecting to the same SourceOffSite server. SourceOffSite stores information about the VSS database structure as well as file status information in local cache files. If two applications are each attempting to update the same cache, one client instance can be become out of date relative to the other. Though not recommended, SourceOffSite does allow running two simultaneous clients. If changes have occurred in one instance of SourceOffSite and further operations are performed in another SourceOffSite application, the following dialog will be displayed.
This dialog indicates that second instance of the application has reloaded the relevant portion of the cache files, and is now ready to accept further operations.
Note that you may run both SourceOffSite 4.2 and SourceOffSite 5.0 simultaneously with no such issues, as each uses a separate cache file. In such a case, each version of SourceOffSite will have separate working folders and file statuses, so it is strongly recommended this be done only when working with non-overlapping sections of source code.