Release Notes for 2.0
Important
Cornerstone 2 does not support Mac OS X 10.4 Tiger.
Do not upgrade to version 2 if you are running Cornerstone on Tiger.
New Features
-
Merge functions added
Cornerstone 2 adds a new merge view for merging between branches. The merge view supports four different types of merges which can be selected using the buttons at the top of the view:
- Synchronize Branch
- Reintegrate Branch
- Cherrypick Changes
- Advanced Merge
The synchronize branch merge type merges all changes made on the source branch (usually trunk) into the target branch (usually a feature branch). This is generally appropriate when synchronizing a feature branch with the changes made by other team members against the project’s trunk.
The reintegrate branch merge type merges all changes made on the source branch (using a temporary feature branch) into the target branch (usually trunk). This is generally useful when reintegrating the changes for a feature when the feature was developed in parallel to the rest of the project on a separate branch.
The cherrypicking merge type allows a set of revisions to be merged from one branch to another. This is particularly useful when back-merging bug fixes and minor changes from trunk to a maintenance branch for a previous release.
The cherrypicking options GUI includes a new revision range set control which allows sets of revisions to be easily specified. It also conveniently displays which revisions have already been merged from the source branch.
The advanced merge type allows the differences between any two revisions of any two branches to be compared and applied to a third branch.
-
Text diff view now supports blame annotations
Blame support was added to the text diff view. Enabling annotations for a text file (or multiple files when comparing) results in annotation bars being displayed which describe the author and relative age of each revision which contributed to the file’s current state, with the width of the section’s bar indicating the relative age of those lines and the color identifying the revision’s author.
Pointing the mouse at an annotation bar causes a callout to be displayed which shows log information for the associated lines. This information includes the author’s name, the commit date and the revision number. Clicking to select a bar expands the callout to display the revision’s log message.
Clicking a revision’s annotation bar highlights all lines changed in that revision for the entire file, with markers displayed in the diff view’s vertical scroller allowing the user to gain a quick overview of the changes made in any one revision.
In addition, statistics for the file are displayed in a new HUD-style panel, which provides additional blame-related information. This includes:
-
Legend
A legend displaying the color used for each of the file’s authors along with the percentage of the file’s contents which the authors have each contributed and icons indicating who contributed to the file recently (i.e. within one month of the file’s last committed modification).
This makes it extremely easy to determine who is primarily responsible for a file (based on percentage contributed) as well as who has been working on the file recently.
-
Revision Timeline
The legend also includes a timeline which plots the file’s revisions (i.e. the revisions of the contributions from which the file’s current contents are composed) against the file’s set of current authors. The result is a two-dimensional chart which provides a visual overview of who has contributed the file’s current contents over time.
The points on the timeline can be clicked to select all lines contributed with a particular revision.
-
Summary Information
Information about the file’s earliest and latest revisions, including the revision number and date.
(#292)
-
Legend
-
Text diff view supports editing of differences
Differences shown in the compare view can be copied from left-to-right or right-to-left if either of the files displayed is
WORKING
. This is useful for example when reverting individual edits to theirBASE
equivalents, or when reverting sections of a file back to a previous (i.e.BASE
) state.Once reverted to the original version, edits can be undone either by clicking the edit button again or by undoing the action using the standard Edit > Undo and Edit > Redo functions.
The ability to revert individual edits in a modified file compliments the existing file revert function found in pre-2.0 versions of Cornerstone. (#443)
-
Tagging and branching functions added
Version 1.5 and earlier provided full support for tagging and branching by option-dragging files or folders in the repository browser to copy them.
This functionality is still available in Cornerstone 2, but was augmented by two new functions which add a simple user interface for creating tags and branches.
Selecting Tag… or Branch… from the File menu displays an option window which allows the user to specify the name of the tag/branch and the folder it will be created in. The source revision can also be specified.
In both cases Cornerstone will try to locate the closest related tags or branches folder and suggest that as the default location. (#134, #709)
-
Text diff view now highlights intraline differences
The text diff view was extended to highlight the intraline differences between the left and right versions being compared.
Intraline differences are displayed by default but can be turned off using the new Show Line Differences option in the Compare menu. (#446)
-
New option enables invisible characters to be displayed in text diff view
The new Compare > Show Invisibles function allows the user to toggle the display of space, tab, left tab, newline and page break characters in the text diff view.
Combined with the text diff view’s new ability to highlight intraline differences, this makes comparing whitespace changes signitificantly easier than in previous versions of Cornerstone.
Enabling Show Invisibles does have a minor impact on text diff rendering performance. For this reason the option is not enabled by default. (#931, #932)
-
Find function added to text diff view
The text in the diff view can now be searched using the new find bar which is displayed using the standard Edit > Find… menu item (key equivalent Cmd+F).
The find bar allows the user to specify whether the left and/or right files should be searched, as well as how the text specified by the user should be matched (i.e. whole string, substring match at start or end of word, etc.). (#145)
-
Pending repository update summary is shown as badge in working copy source list
The number of pending repository updates (i.e. the number of changes committed to the repository but not yet updated in the working copy) is now shown as part of the summary badge in the working copy source list.
Cornerstone monitors changes in repository status and updates the badge on a low priority background thread to minimize additional load.
Repository monitoring can be disabled if necessary with the new Show repository change summary in source list setting in the Working Copy preference pane. (#652)
-
Working copy changes are displayed in a badge in the Dock
Cornerstone can now display the working copy change summary in a badge on the application icon in the Dock.
A new setting in the General preferences allows the user to select from the following behaviors:
- Show the total changes for all working copies
- Show the changes for the selected working copy
- Do not show a badge in the Dock
A badge is not shown when no changes are found.
By default Cornerstone shows the total number of changes for all working copies. (#13)
-
Add Repository window provides improved support for connecting to hosted repositories
The Add Repository window now contains a new Cloud Service repository type which simplifies connecting to select cloud hosting providers.
Zennaware has partnered with Codesion (formerly CVSDude) to provide Cornerstone’s first cloud service integration. The Codesion cloud service page greatly simplifies connecting to a Codesion-hosted repository by requiring only organization, project and account information from the user.
The Codesion window also provides Sign Up for a Repository button which allows a user to quickly and easily sign up for a free or trial hosting plan with Codesion.
-
Log View was improved
The log view now provides more context information when viewing the log for working copy items. Specifically, the item’s working version is highlighted in the log, as are newer revisions committed since the item was last updated. (#969)
A filter (Newer) was added to the log view to make it easy to focus in on those revisions which are newer than the working version.
In addition, revisions since the last update (i.e. newer revisions) now have an Update button. Pressing this button updates the selected item (i.e. the file or folder which was selected before entering the Log View) to the specified revision. (#972)
-
Support added for Perforce’s P4Merge and Sofa’s Kaleidoscope
Cornerstone now includes integrated support for using Perforce’s P4Merge and Sofa’s Kaleidoscope as external compare tools. (#927, #939)
-
64-bit support added
Cornerstone 1.5 shipped as a 2-way universal binary, with support for 32-bit Intel and PowerPC processors. Cornerstone 2 adds support for 64-bit Intel processors and will run in 64-bit mode on 64-bit enabled Macs (i.e. Core 2 and newer) when running on Mac OS X 10.6 Snow Leopard.
Cornerstone will run in 32-bit mode on Mac OS X 10.5 Leopard (Intel and PowerPC) and on Snow Leopard with 32-bit Intel processors. (#732)
-
SASL support added
Cornerstone 2 can connect to repositories via
svn://
which utilize SASL for authentication. (#598)
Performance Improvements
-
Externals window performance was improved
The performance of the externals window was improved such that changing filters and switching between list and text views is now much faster for folders with large numbers of externals.
Usability Improvements
-
Lock function was improved
In Cornerstone 1.5 and earlier, the lock function could only reliably determine if a selected file was already locked if the View > Show Repository Status option was enabled. If this option was disabled and a file was already locked then an attempt to steal the lock from another user would silently fail.
Cornerstone’s lock function was significantly improved for version 2 to:
- Read the lock information for the selected files in the background in order to display reliable lock information in the Stolen Locks section.
- The Stolen Locks section is no longer collapsible in order that this important information is always visible and less easily overlooked.
Stealing a lock is a potentially destructive operation that can result in conflicts and loss of work. Cornerstone therefore now always prompts the user for confirmation before stealing locks.
-
Subversion configuration changes are automatically adopted by the Subversion configuration preference pane
The Subversion configuration preference pane now automatically picks up Subversion configuration changes made by other applications and refreshes the pane’s contents accordingly. (#859)
-
The global ignores editor in the Subversion preference pane was improved
Adding a value to the global ignores value in the Subversion preference pane resulted in the default global ignore values being replaced. As a result, files which are ignored by default (e.g. .DS_Store). This was a consequence of Cornerstone setting a value in Subversion’s configuration which resulted in Subversion adopting this value instead of the default.
The global ignores editor was improved in version 2 to allow the user to adopt the default value as the basis for the user’s global ignore list. (#912)
-
The log view’s compare view now supports navigation
The log view’s compare view was extended to include a popup menu and navigation (i.e. left/right) buttons allowing the user to navigate through a revision’s changes without leaving the compare view. (#863)
-
The Save Differences as Patch… function now supports the generation of patch files which use relative paths
1.5 always created patch files which used absolute paths. For Cornerstone 2 a popup button was added to the patch save panel allowing the selection of the following path types:
- Absolute (same behavior as 1.5)
- Relative to working copy
- Relative to selected folder
When a file is selected the third option is Relative to parent folder. (#893)
-
Option added to control whether externals are included in updates
In 1.5 and earlier, updating a working copy without updating its externals required the use of the Working Copy > Update… function, which required several interactions for each update operation.
Version 2 adds a new Include Externals in Updates option to the Working Copy menu which controls whether the Update to Latest Revision function updates externals.
The addition of this option should simplify using Cornerstone with working copies which contain large numbers of externals or externals that change infrequently. (#639)
-
Support added for tree conflicts
Items with tree conflicts are now displayed as conflicted in the working copy browser. The Inspector was also extended to display a description of the cause of the tree conflict.
-
Commit view comparisons refreshed following file system changes
The commit view’s compare view now listens for file system changes and automatically refreshes when the file being displayed changes. (#850)
-
The log view’s compare view now supports arbitrary revisions
It’s now possible to enter HEAD as well as arbitrary number/date revisions into the compare view when opened from a log change. (#923, #924)
-
Copied files are compared against the copy source’s BASE revision
The compare view was improved to compare copied, moved and renamed files against the BASE revision of the copy source. This applies both when comparing from the working copy browser and the commit view. (#928)
-
Diff view option buttons were improved
The small buttons located next to the horizontal scroller at the bottom of the text diff view (controlling whitespace comparison, line difference comparison etc.) were improved. The new icons are larger, more descriptive and make these functions more discoverable.
-
svn:needs-lock
added to auto-properties in preferences windowThe auto-properties section of the Subversion preferences (Cornerstone > Preferences…) was improved to add support for the
svn:needs-lock
property. (#946) -
Overwrite handling in the file browser was re-written
The prompt displayed before overwriting a file during a move or copy operation was improved to:
- More closely reproduce the interface and terminology of the equivalent prompt in Finder
- Support replacing all files being moved or copied
- Support key equivalents for the alert’s buttons
- Only provide options for multi-file operations when multiple files are actually being copied or moved
(#309)
-
Check out depth is now displayed in the working copy file browser
A new column was added to the working copy file browser which displays the check out depth for folders. An icon is not displayed for folders which have the default check out depth of Infinity (i.e. all folders and sub-folders).
The file browser can be sorted by check out depth and a tooltip is displayed when the mouse is hovered over the icon.
The file inspector was also extended to display the depth icon for the selected folders(s). (#638)
-
Shutdown handling was improved
Network issues can cause very long timeouts with Subversion, so Cornerstone 2 now displays a progress window during shutdown.
This window also also allows the user to quit the application immediately if desired (i.e. without waiting for background activities to complete). (#973)
-
Tooltips added for file browser columns
Tooltips are now displayed for the status, repository status, property, lock and depth columns. (#436)
-
Status overlay window is shown by the compare view when loading files
The compare view now displays a Loading… overlay window while exporting files from the repository for comparison. (#930)
-
Quad-clicking text in the compare view selects a section’s text
Quad-clicking (i.e. clicking 4 times) in Cornerstone’s compare view now selects all text in the section under the mouse.
-
Key equivalent added for Show Differences in Whitespace
The View > Show Differences in Whitespace function now has the key equivalent Cmd+'. (#889)
Compatibility
-
Mac OS X 10.4 Tiger is no Longer Supported
Cornerstone 2 does not support Mac OS X 10.4 Tiger.
-
Compatible with Mac OS X 10.5 Leopard and 10.6 Snow Leopard
Cornerstone is compatible both with Mac OS X 10.5 Leopard and the more recent Mac OS X 10.6 Snow Leopard.
Both Intel and PowerPC processors are supported on Leopard. Only Intel processors are supported on Snow Leopard.
-
Subversion Updated to 1.6.12
The 1.6-level version of Subversion included with Cornerstone was updated to 1.6.12.
Compatibility
Backwards Compatibility
Cornerstone 2 is fully backwards-compatible with 1.5. 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 and 2 against the same configuration databases in your Application Support/Cornerstone
folder.
Issues Resolved in Cornerstone 2 Beta 1
# | Description |
---|---|
13 | Aggregate working copy changes into badge shown on application icon in Dock |
134 | Tagging and branching should be better supported |
145 | Add find function to text compare view |
172 | Display tooltip information for events in timeline view |
292 | Integrate blame-like annotations into text diff view |
309 | Overwrite prompt options need to be improved |
436 | Add tooltips for status to outline view in working copy browser views |
443 | Make compare/diff view editable |
446 | Add character-based differencing to text diff view |
598 | Add support for SASL authentication and encryption |
638 | Visualize check out depth of folders in working copy browser |
639 | Working copies should retain state of the “Update contents of external definitions” option |
652 | Show repository change summary in the working copy source list |
709 | Copy in repository browser to branch/tag should be more discoverable/intuitive |
732 | Provide 64 bit version of Cornerstone |
848 | Dragging the icon in the inspector should not cause the application to activate and come to the foreground |
850 | The commit’s compare view is not refreshed following file system changes |
859 | Ensure that the Subversion configuration panel automatically refreshes when the underlying configuration file(s)’s contents change |
860 | Canceling an update operation while an external is being updated doesn’t cancel the top-level update operation |
863 | It should be possible to navigate though changes made to a single revision in the log view’s compare view |
864 | The commit menu item/tool bar item should be disabled for missing files in the working copy browser |
885 | Text field in patch output sheet does not display vertical scroller |
889 | Add key equivalent for Compare > Show Differences in Whitespace |
893 | Save Differences as Patch function should support creation of files with relative paths |
908 | Authentication panel may be displayed when choosing a source directory in the external editor, even though credentials are available in the keychain |
912 | Editing the initially empty global ignore field in preferences results in .DS_Store files no longer being ignored |
918 | The Open Left/Open Right commands should open the file(s) in the application as specified in the Inspector’s Open With… setting |
922 | Open Externals button in Inspector is enabled for unversioned folders |
923 | Can’t compare against HEAD in compare view opened from log item |
924 | Swapping revisions in a compare view opened from a log item results in an error |
927 | Add support for P4Merge (Perforce) visual comparison tool |
928 | Files scheduled to be added as the result of a copy should be compared against the BASE version of their copy source in the commit view |
929 | Deleted files listed in popup menu shown when comparing in the commit view should be disabled |
930 | Status should be more clearly visible in the compare view when loading files from the repository |
931 | Compare view should provide option to display invisible characters (e.g. spaces, tabs and newlines) |
932 | Page breaks cannot be distinguished from normal spaces in the compare view |
936 | The folder selection displayed in the inspector changes when a field in the inspector is clicked to begin receiving keyboard input |
937 | Text diff view incorrectly displays differences in files containing non ASCII characters which use substituted fonts (e.g. arabic and kanji characters) |
939 | Add support for Sofa’s Kaleidoscope as an external compare tool |
944 | Ensure leading white spaces are preserved when log messages are rendered in the log view |
945 | Repository can’t be deleted from source list if one or more folders referenced by working copy sources are not valid working copies |
946 | Provide support for the svn:needs-lock property in auto-property preferences |
947 | Differences in trailing newline characters are not displayed correctly by the compare view |
949 | Collapsed sub-folders are re-expanded in file browser when the previously-collapsed parent folder is re-expanded |
Issues Resolved in Cornerstone 2 Beta 2
# | Description |
---|---|
172 | Display tooltip information for events in timeline view. Standard tooltip replaced by anchored popover window which displays more, better-presented information with scrolling support for long messages (that were previously truncated) |
953 | Add tooltips for change summary badges in working copy source list |
954 | Error is displayed (“path does not exist”) when browse button in path field is clicked if working copy source list contains a reference to a non-existent folder |
955 | Source is not selected in open panel invoked from merge source/target path field when source does not exist for related repository |
956 | Vertical ordering of working copies and repositories in merge source/target open panel should be reversed to be consistent with main window’s source list |
957 | Run background status checks for repository updates in low priority threads |
960 | Working copy change summary displayed in source list can sometimes get out of sync with the working copy file browser |
961 | Background working copy status checks should be performed sequentially instead of in parallel to reduce CPU and disk load at start-up |
962 | Horizontal scrolling performance in timeline view is very poor with large numbers of revisions |
963 | Change summaries (local and remote) in working copy source list should include thousand separators |
Issues Resolved in Cornerstone 2 Release Candidate 1
# | Description |
---|---|
— | Improved appearance of popover windows, in particular black popovers displayed over compare view annotations, which now use a style more consistent with Mac OS X’s HUD windows. |
— | Improved appearance of application’s modal sheets (options for update, import, export functions etc.) |
959 | Externals editor displays broken proxy icon for repository items |
964 | “Loading…” bezel displayed by the compare view while loading documents remains visible after exiting view |
965 | Attempting to load a non-existent file for a particular revision in the compare view results in an activity which never terminates. |
966 | Compare menu items for difference navigation (e.g. Previous Difference, Next Difference etc.) should be disabled when single document is displayed |
967 | An error is displayed intermittently while opening a new svn:externals editor |
968 | Tooltip in working copy source list gets stuck onscreen if tooltip is displayed for item when spinner stops |
969 | Log view should indicate the working revision for the selected working copy item |
970 | Cornerstone doesn’t prompt for confirmation before reverting when revert function is invoked with a working copy source selected |
971 | Option in “Update…” window for extending sparse working copy (“Permanently extend working copy to this depth”) is misleading |
972 | Extend the log view to support updating the selected file or folder to a revision visible in the log |
973 | Cornerstone can appear to hang while quitting if running activities run into long timeouts as a result of network problems |
Issues Resolved in Cornerstone 2 Release Candidate 2
# | Description |
---|---|
— | Updated help book documentation for 2.0. |
— | Added help book section on text diff editing. |
— | Added help book sections on annotations. |
— | Added help book sections on merging. |
854 | Quick Look emits silent warning to console on Mac OS X 10.6 Snow Leopard |
974 | New Objective C 2.0 keywords such as @property, @synthesize etc should be syntax colored |
977 | Compare view doesn’t prompt to discard edits before toggling whitespace comparison |
978 | Undo in compare view can stop working in some circumstances |
Issues Resolved in Cornerstone 2 Final Release
# | Description |
---|---|
979 | Add tooltip for the recent modification column in the repository file browser view |
980 | Add a help book section describing the repository browser view |
981 | Picker window displayed by revision field in the update window is displayed under the menu if application toolbar is set to “Text Only” or “Icon Only” |
982 | Error is displayed when opening the compare view under certain conditions |
983 | Cornerstone crashes due to a Subversion assert when a server name containing upper case characters is entered in the “Add Repository” window |
984 | Control layout issues arise when log message sheet window is resized in collapsed state |