Release Notes for 2.5
2.5 is a free upgrade for all Cornerstone 2 license holders.
New Features
-
Fully compatible with Mac OS X 10.7 Lion
In addition to 10.5 Leopard and 10.6 Snow Leopard, Cornerstone 2.5 now adds full support for Mac OS X 10.7 Lion.
Cornerstone’s user interface was also tweaked for Lion. Certain user interface elements are rendered differently under Lion for consistency with the operating system’s UI conventions. (#1169)
-
Inspector’s Properties tab now shows property modifications
The Inspector’s Properties tab now displays small pop-up buttons for properties which have been modified, i.e. that have a value that differs from the BASE revision.
Clicking the pop-up button reveals a menu that currently contains a single item: Revert to Last Update. Selecting Revert to Last Update functions as you would expect: it replaces the value in the property’s field with that from the BASE revision.
Clicking the Save Changes button at the bottom of the Inspector saves the reverted value back to Subversion.
Note that these improvements also fully support multiple selection, enabling you to see and revert property modifications for multiple files at once. (#1087)
-
Significantly improved support for commit scripts
Cornerstone has been able to run user-defined scripts after a commit since version 1.1. Cornerstone 2.5 builds on this by adding support for running scripts before a commit as well.
In total, Cornerstone now supports running scripts at 3 different points during the commit process:
-
Prepare Scripts
Prepare scripts are run during the commit preparation phase that starts when the user selects Commit from the menu or toolbar and ends with the display of the commit view to the user.
Prepare scripts can be used to make modifications to the working copy before a commit is initiated. For example, a shell script might use the
ditto
command to archive a package-format document to a Zip file that is under version control, thus circumventing issues with.svn
folders in packages.Cornerstone will pick up modifications made to the working copy by a prepare script and update the candidate list displayed in the commit view accordingly.
Prepare scripts can be run in two different ways: once for the entire working copy, or once for each candidate item.
A single application-wide prepare script may be specified in Cornerstone’s Working Copies preference pane.
-
Pre-Commit Scripts
Pre-commit scripts are run immediately after the user clicks Commit Changes in the commit view.
As with prepare scripts, pre-commit scripts can either be run once for the entire working copy or once for each checked item in the commit view.
Pre-commit scripts are configured in the commit view and are stored per working copy.
-
Post-Commit Scripts
Post-commit scripts (as previously supported since Cornerstone 1.1) are run after the Subversion commit operation completes successfully. Post-commit scripts are not run if no files are committed or the commit operation fails.
Cornerstone’s post-commit script support was improved in Cornerstone 2.5 to enable the same two modes supported by prepare and pre-commit scripts: scripts can be run once per working copy or once per committed item.
The default mode remains once per working copy for backward compatibility with previous versions.
All of the above script types support the following formats:
- AppleScript
- Perl
- Python
- Unix Shell Script
- Automator Action
Why would you want to run a script at commit time? Real-world examples include:
-
Zipping up unpacked package-format documents (prepare script).
-
Validating a working copy’s contents, e.g. ensuring that temporary debugging code such as
NSLog
is removed (prepare script). -
Re-generating image thumbnails for storage as custom properties for files selected in the commit view (pre-commit script).
-
Setting or modifying Subversion properties on working copy files and folders (prepare or pre-commit script).
-
Copying the log message for the commit to the clipboard (post-commit script).
-
Appending the log message for the commit to a README file (post-commit script).
-
Informing team members about the commit via email (post-commit script).
The Cornerstone help book (Help > Cornerstone Help) contains a new section on commit actions that includes a number of example scripts to help get you started.
(#686)
-
Performance Improvements
-
Performance when switching from between views in the externals window was improved
Cornerstone 2.2 and earlier exhibited a slight delay when switching from the Definition List view to Property Text view in the externals window. This was most noticeable for
svn:externals
properties that contain a large number of external definitions.Cornerstone 2.5 contains performance improvements such that switching is now immediate when the window’s contents have not been modified.
Usability Improvements
-
Streamlined source list
Cornerstone’s source list (or sidebar) was streamlined to reduce visual clutter and to improve the visual coherence of the list’s working copy, repository and activity panes.
The separator between the working copy and repository panes was also removed. The size of the repository pane can now be changed by dragging the header directly.
-
Working copy option icons were improved
The icons displayed in the option toggle buttons at the bottom of the working copy browser were improved.
The new icons are more informative (particularly the icons for Show Repository Status and Show Contents of Externals) and exhibit consistent size and weight. The icons also utilize more negative space resulting in ‘lighter’ icons providing less potential for distraction.
-
Import now supports importing multiple files
Prior to 2.5, Cornerstone could only import a single file or folder in a single import operation. This restriction was removed in Cornerstone 2.5 which can now import multiple files and folders in a single import. This applies both when using the Import command and when dragging items from Finder.
Subversion is still limited to single-file imports, but Cornerstone works around this limitation by performing multiple import operations in sequence. While the user will only be prompted for a log message once, it is important to realize that a unique revision will nonetheless be created for each item imported.
Some import options (e.g. importing with a different name, checking out after import) are not supported when importing multiple items.
(#305, #1074)
-
Source list can how be hidden
Cornerstone’s source list can now be hidden (and re-displayed) using the new Hide Source List and Show Source List commands in the View menu (key equivalent Cmd+Option+S).
Cornerstone’s status bar also contains a new button that toggles visibility of the source list.
Hiding the source list is a useful way to increase the screen area available to views such as the compare view without having to resize the application’s window. (#508)
-
Padlock icon displayed in window title bar for secure connections
Cornerstone now displays a padlock icon in the main window’s title bar for repositories and working copies that connect using
https
or tunnel thesvn
protocol through SSH (i.e.svn+ssh
).The padlock is not displayed for connections using SASL because Cornerstone is unable to determine a) that SASL is being used, and b) whether the mechanism negotiated by the client and server provides data confidentiality through encryption.
The padlock is also not displayed for
svn
connections using custom tunnels. -
Preference added to optionally clear log message after committing
The Clear log message after commit preference was added to the Working Copies pane of the preferences window.
Enabling this option prevents Cornerstone from retaining the previously-entered log message and suggesting it as the default when the commit view is displayed for the next commit.
This behavior is disabled by default for compatibility with previous versions of Cornerstone. (#1160)
-
Preference added to control whether empty log messages are allowed
Cornerstone 2.5 allows you to control whether empty log messages are permitted when committing.
The new preference — Allow commits with empty log messages — results in a prompt when disabled if the commit view’s log message field is empty when Commit Changes is clicked.
This option is disabled by default meaning that Cornerstone does not allow commits with empty log messages. This represents a change in behavior from previous versions of Cornerstone.
-
Activity pane now provides more detailed information on commit progress
In previous versions of Cornerstone the user had to switch to the transcript view to see information on the progress of a commit operation. There was also no indication of how much of the commit operation was already complete.
Cornerstone 2.5 includes the following improvements to provide more feedback on a commit operation’s progress:
-
A textual description of each step of the commit process is diplayed in the Activity pane.
-
Pie chart-style progress information is displayed in the Activity pane for multi-file commit operations.
(#1164)
-
-
Button added to activity pane for switching to transcript
The Activity pane now contains a button that shows the transcript for the current activity. When clicked, the relevant working copy/repository is selected in the source list and the item’s transcript is displayed. (#1041)
-
Columns in the repository and working copy browser views can now be hidden
Right-clicking the header area of the browser’s outline view now displays a context menu containing a list of the view’s columns. The menu can be used to toggle the columns’ visibility.
Like column ordering, visibility is saved between application sessions and restored when Cornerstone is restarted. (#642)
-
Match Text… command added to Filter menu
The View > Filter menu now has a new command: Match Text… that sets focus to the view’s text filter field. This command is supported by the following views and windows:
- Working copy browser
- Repository browser
- Log view
- Externals editor
The key equivalent for View > Filter > Match Text… is Cmd+Option+F.
(#1166)
-
Chase Output option removed from Transcript menu
Previous versions of Cornerstone provided the Chase Output option to enable the user to control whether the transcript view automatically scrolled to display newly-added entries.
Both the menu item and the corresponding button at the bottom of the transcript view were removed in version 2.5.
Cornerstone now automatically determines whether to scroll based on whether the last entry was previously visible. This behavior is more intuitive and is consistent with other applications such as Xcode and Terminal.
-
Text can be copied from revision fields in read-only externals editors
Externals editors opened directly from the repository browser are read-only. In previous versions of Cornerstone, the editor’s revision fields were disabled. As a result, revision text could not be copied out of these fields.
The externals editor was improved in Cornerstone 2.5 to allow text to be copied from revision fields even when the editor is read-only.
Compatibility
-
Mac OS X 10.5 Leopard, 10.6 Snow Leopard and 10.7 Lion
Cornerstone 2.5 is compatible with Mac OS X 10.5 Leopard, 10.6 Snow Leopard and 10.7 Lion.
Both Intel and PowerPC processors are supported on Leopard. Only Intel processors are supported on Snow Leopard and Lion.
Compatibility
Backwards Compatibility
Cornerstone 2.5 is fully backwards-compatible with 1.5 and 2.2. All configuration and settings are transparently migrated to version 2 when the new version is run for the first time.
Forwards Compatibility
The Cornerstone 2 configuration databases are forward-compatible with 1.5, i.e. you can run versions 1.5, 2.0, 2.1, 2.2 and 2.5 against the same configuration databases in your Application Support/Cornerstone
folder.
Issues Resolved in Cornerstone 2.5
# | Description |
---|---|
305 | Only one file/directory can be dragged from Finder to repository for import |
508 | Add function to toggle the visibility of the source list |
642 | Allow user to hide and display columns in the working copy and repository browsers |
686 | Add support for client-side pre-commit scripts |
1041 | Add a “Transcript” button to the activity area to switch to the transcript view |
1087 | Inspector should indicate which of the displayed properties have been modified |
1074 | Allow the user to select multiple folders/files in the File Import window when importing folders/files into a repository |
1151 | Import sheet does not hide path popover when the sheet is dismissed |
1152 | Cornerstone crashes when switching between the Definition List and Property Text views in the Externals window when a revision field with a value of “Latest in Repository” is first responder |
1155 | Externals document is marked as modified when a numeric revision field loses first responder status |
1156 | Cornerstone displays an error when dragging an external definition into an externals window that already contains an identical definition |
1160 | Add an application preference for clearing log messages after a commit |
1164 | Activity area should provide more information on the progress of commit operations |
1165 | Changing the sort order of the repository browser before the initial contents have been loaded results in an error |
1166 | Add keyboard key equivalent for making the search/filter field first responder |
1169 | Improve compatibility and UI consistency with Mac OS X 10.7 Lion |
1172 | First-level items in the source list are not indented correctly |
1173 | Switching to timeline view displays an error if a filter was previously selected but no value specified |
1174 | Changing height of the source list’s repository pane can cause visual artifacts in the working copy pane under certain circumstances |
1175 | Pressing ‘escape’ in the license window with a registered license should dismiss window, not reset the window’s contents |