Time Flies When You're Working Like Crazy on New Features

Filed under: Cornerstone — Administrator @ 6:11 am

When we sat down and started planning for the next release after 1.1 we wanted to keep it short and sweet. Things didn’t turn out that way.

Many Cornerstone users have written to us over the last 6 months asking what happened to 1.2 and whether we were still working on the application. Hopefully the release of 1.5 today will prove beyond any measure of doubt that Cornerstone development continues faster than ever.

But we still wanted to take a couple of minutes (paragraphs?) to describe what happened to 1.2 and how it turned into today’s 1.5.

Several big and important things have happened: babies have been born, the team has grown, Zennaware’s incorporation is underway and we’re about to move into our new offices.

But we’ve nonetheless remained utterly focused on improving Cornerstone, so much so that we couldn’t resist adding great new features.

And so the scope of 1.2 grew until it no longer felt like 1.2 any more, so we decided to can the March release in the interest of a bigger version, including Subversion 1.6 support, and releasing in June as 1.5.

But it took far longer than we originally thought. As June became July and the Snow Leopard release drew closer we realized that we’d have to include that too. And with our biggest beta program yet taking twice as long as we had expected, September arrived very quickly.

We know it’s been painful for some of our users, particularly those who have been waiting for Subversion 1.6 support. We realize that we should have have done a better job incorporating 1.6 in a timely fashion and will plan future releases to better coincide with major Subversion updates.

Ultimately we feel that 1.5 has been worth the wait. We hope you do too.

Cornerstone Price Reductions

Filed under: Cornerstone — Administrator @ 6:10 am

We believe that version control is critical to the development of great apps, and with Cornerstone we strive to make it more approachable for Mac, iPhone and Web developers.

And we’ve taken great strides in this direction with 1.5, which we’re releasing today.

But we feel we can go even further to make version control accessible by making it more affordable.

So with the introduction of 1.5 we have reduced the price of the single-user Cornerstone license from $69 to $59.

The prices of the 5- and 10-user license packs have also been lowered to $239 and $429 respectively.

Release Notes for 1.5.0.16 (v1.5 Release)

Filed under: Cornerstone,Release Notes — Administrator @ 6:09 am

Important

Support for creating and accessing Berkeley DB repositories using the file:// protocol was removed in 1.5. See Caveats and Limitations for more information.

New Features

  1. User Interface was Improved

    The need to add the transcript and log views resulted in a re-thinking of user interface navigation in the application. All the application’s views are now embedded in the main window, replacing the browser view as required by the context.

    A new navigation bar at the top of each view (or screen) provides a consistent location for navigation elements, including a back button to return to the previous view. Each screen also houses a toolbar located at the bottom of the window which contains functions specific to the screen. This user interface concept is similar to iPhoto on the Mac as well as the majority of iPhone applications.

    The primary advantages of this new design are:

    • Consistency

      All screens (including the timeline view from previous versions) are handled consistently. The source lists on the left of the main window are always visible.

    • Improved Discoverability

      Each screen contains a toolbar at the bottom of the window which provides a location for context-specific functions, thus making them more discoverable.

    • More Intuitive Navigation

      The consistent use of visual elements such as the navigation bar and toolbar make navigation more intuitive.

    • Better Use of Available Screen Space

      The compare view (which was previously located either at the bottom or on the right of the browser view) is now displayed as a separate screen. This provides more space for the display and comparison of file contents.

    The following views are now housed in screens:

    • Browser View
    • Compare View
    • Timeline View
    • Log View
    • Transcript View
    • Commit view

    The timeline view from previous versions is now always displayed as a screen in the main window and can no longer be displayed in a separate window. However, the option is still available to display the Inspector in a separate floating panel.

  2. Log View Added

    The new log view provides a simple user interface for browsing the log messages for the repository’s most recent commits. The view displays log messages in a fashion similar to the svn log command, with the latest revision displayed at the top of the screen.

    The main features of the new log view are:

    • Changes Listed for Each Revision

      The set of changed files are displayed for each revision. Changes are grouped by type (e.g. additions, removals, modifications etc.) and are visualized using the same icon as the working copy status in the browser.

    • Changed Files can be Compared Against Previous

      Change set files can be selected and compared with the previous version without leaving the log view.

    • Revisions can be Filtered

      Log entries can be filtered by author, filename, location and message text either by using the pre-defined filters or the provided search field.

    • Issue Tracking Numbers Displayed as Hyperlinks

      Issue tracking ticket numbers in log messages are displayed as hyperlinks in a manner consistent with the timeline view’s inspector.

    • Revisions can be Copied to the Pasteboard

      Log entries can be copied as text to the pasteboard in the same format as the output from svn log.

    The log view doesn’t replace the existing timeline view from previous versions. Instead, it augments it, providing an alternative representation of the same information.

    The existing timeline remains and continues to be useful for the comparison of historical information for multiple items (not possible in the log view). It also better supports the comparison of arbitrary revisions and provides more powerful filtering options than the log view. (#402, #455, #502)

  3. Commit View was Re-Worked

    The new commit view supports a more efficient commit workflow. Highlights include:

    • Commit View is Non-Modal

      The non-modal commit view allows access to other working copies and repositories, only blocking the working copy being committed.

      Displaying the commit view in the application’s main window makes more space available for the entry of long log messages as well as the display of large change sets and the viewing/comparing of file contents.

    • Changes are Displayed as an Outline

    • Files Can be Excluded from the Changes Set

      The changes table now includes an additional column of checkboxes which can be used to exclude files from the change set without having to abort the commit to change the initial selection.

      And with the changes displayed hierarchically, sub-trees of files can be included/excluded by option-clicking a folder’s checkbox.

    • Files Can be Compared in the Commit View

      The contents of files in the change set can be compared against BASE without leaving the commit view. This makes it much easier to review changes for the purpose of writing the commit’s log message.

      The compare view also allows for navigation through the change set with the log message entry field remaining visible at all times. (#637, #729)

    • Log Message History Panel Replaced With Revision Picker

      The modeless log message history panel (previously available in the log message sheet) was replaced with a popup revision picker. The advantages of this are five-fold: (#659, #723)

      1. Display of revisions from the repository’s log enables log messages to be picked for re-use which were entered into another Subversion client such as the svn command-line tool or Xcode.

      2. The use of a momentarily-modal popup window for the revision picker makes for a tidier user-interface without an unnecessary second window which is visible on screen which the user is tempted to have to close.

      3. The revision picker provides additional information about log entries (user, date etc.) which can help simplify the location of the revision in question. The filter field can also be used to filter by username.

      4. The revision picker displays the log messages in their entirety. The previous log message panel clipped the log messages after a fixed number of lines.

      5. The log message panel was previously limited to 100 entries. The new revision picker enables the user to browse back through the entire repository log.

    • Files can be Left Locked After the Commit

      A new commit option allows files to left locked after the commit has completed.

    • Log Message Field’s Completion Candidates Include Working Copy Item Names

      The log message field’s completion popup (invoked using F5) includes the names of all working copy items.

  4. Transcript View was Added

    Selecting Transcript from the View menu displays the new transcript view (key equivalent Cmd+4).

    The transcript view displays the Subversion output for the currently selected working copy or repository. This has several uses, for example:

    1. After a commit, the resultant revision is displayed at the end of the commit transcript.
    2. During an update, the transcript lists which of the working copy files have been updated.
    3. During long operations (commits, updates, checkouts, imports and exports), the transcript view provides the user with information on the operation’s progress which was previously missing from the progress indicator in the application’s toolbar.
    4. The success and failure of operations is indicated by status icons.
    5. The user may return to failed operations and re-display any error information available.
    6. Transcript output can be copied to the pasteboard to be pasted into another application.

    The transcript also allows the user to annotate the transcript with their own notes. This may be useful for noting the motivation for performing an update or adding a marker after switching from trunk to a branch, etc.

    By default, transcript entries are retained for 24 hours before being discarded. This behavior can be changed to discard entries either after 1 month, 1 week, 1 hour, after 15 minutes or as soon as the next entry is received. Change the discard behavior by selecting an option from the Transcript > Discard Entries menu.

    The transcript discard behavior setting can be set individually for each working copy and repository.

    Note that transcripts are stored on disk and are available even after the application has been restarted. As a result, selecting longer expiry durations such as 1 week and 1 month can result not only in increased memory consumption, but also in slower start-up and shutdown performance as transcripts are read from- and written to disk.

    It can quickly become difficult to find information in long transcripts, so the transcript view includes a filter bar allowing the user to filter for notes, errors, commits, updates, checkouts, imports and exports.

    User notes are not automatically discarded after a period time. Instead they must be explicitly deleted from the transcript by the user. (#438, #470)

  5. Editor Added for svn:externals Property

    The contents of a folder’s svn:externals property is display with the other pre-defined properties in the inspector’s Properties tab. External definitions are displayed as a table. The entries may be sorted by check out folder, source URL and revision.

    Due to lack of available space in the UI, the svn:externals property can’t be edited in the Inspector. Instead, the user clicks on the Open Externals button which opens an externals editor in a dedicated window for the currently selected folder.

    Alternatively, the File > Open Externals menu item or Open Externals toolbar button may be used.

    The externals editor provides two views:

    1. Definition List
    2. Property Text

    The definition list provides a convenient list-based UI for editing the external definitions. The original property text can be accessed by clicking the Property Text button in the toolbar. The contents of the two views are kept in sync as the user switches between them.

    The list view also supports filtering, either using the provided search field to filter by source or target name, or using the predefined filters in the filter bar to filter by revision.

    When saving changes to svn:externals Cornerstone offers to remove the working copy folders of external definitions which have been removed. (#203, #429)

  6. Arbitrary Revisions can be Selected in Compare Views

    The comparison view was improved to support the comparison of arbitrary revisions. Pre-defined relative revisions such as HEAD and BASE can be selected as before, but the new view also allows revisions to be specified by date or number.

    Convenient toolbar buttons also allow for one-click comparison of BASE vs. WORKING and WORKING vs. HEAD.

    The compare tool also now supports comparison against PREVIOUS, and a toolbar button is available for one-click comparison of PREVIOUS against BASE.

    Finally, explicit revisions (as opposed to relative revisions) can be selected from the selected file’s log history using the popup revision picker. (#385, #428, #645)

  7. Create and Apply Patch Functions Added

    The File menu now contains two new functions: Save Differences as Patch… and Apply Patch….

    These functions can be used to create a diff patch file which can then be applied to another file or folder.

    Both functions are selection-sensitive and can be used to create patches from- and apply patches to both individual files and entire folders.

    The Save Differences as Patch… options allow the original and modified revisions to be specified (defaulting to BASE and the working version.) It also provides control over the ignoring of whitespace differences and whether or not folder contents are compared recursively to include changes in sub-folders.

    When invoked from the compare view, the Save Differences as Patch… function creates a patch file for the differences between the revisions displayed in the compare view. (#518, #736)

  8. Whitespace Options Added to Text Diff View

    Two options were added to the text diff view which control how whitespace is compared:

    1. Show Differences in Whitespace

      This option controls whether changes which only affect whitespace are displayed by the diff view. This setting is equivalent (albeit in inverted form) to the svn diff function’s --ignore-all-space option.

    2. Show Differences in Line Endings

      This option can be used to hide differences resulting from a change in newline character style (e.g. from Windows-style CRLF to Unix-style LF).

      This setting is equivalant (albeit in inverted form) to the svn diff function’s --ignore-eol-style option.

    These options can be toggled using the Show Differences in Whitespace and Show Differences in Line Endings items in the new Compare menu. They can also be enabled/disabled using the buttons embedded in the lower border of the text compare view.

    Both options are enabled by default. (#472)

  9. Line Numbers can be Enabled/Disabled in the Compare View

    Line numbers can now be toggled on/off in the text compare view. They are enabled by default.

  10. Image Information Overlay Added to Image Compare View

    An image information overlay was added to the image compare view which displays the dimensions and bit depth of the images being compared/displayed.

    If a file contains multiple images (e.g. ICNS files) then information is displayed for the first image.

    This information can be toggled on/off using the Show Image Information function in the Compare menu or using the toggle button embedded in the lower border of the image view. (#221)

  11. Background Color of Image Compare View can be Changed

    A new popup menu embedded in the lower border of the image compare view allows the selection of the view’s background color. The following colors can be selected:

    • Transparent (i.e. checkedboard pattern as used in previous versions)
    • White
    • 50% Gray
    • Black

    The popup menu displays these colors as icons on Mac OS X 10.5 Leopard. The menu items are displayed as text on 10.4 Tiger.

    The default background color is Transparent. (#264)

  12. Preferences Extended to Include Common Subversion Options

    Cornerstone’s preference window contains a new Subversion page which contains 3 sections:

    1. General

      The General section includes fields for editing the global-ignores property as well as controlling whether:

      1. check out, update and revert operations apply repository timestamps to working copy files, and

      2. files are unlocked following a commit.

    2. Auto Properties

      The Auto Properties page allows the user to add rules describing which properties are automatically added to files when they are placed under version control.

    3. Communications

      The Communications page enables the user to specify HTTP communication settings including proxy information and network timeouts. Proxy settings can be imported from Mac OS X’s proxy settings.

    These Subversion preferences are read from and written to Subversion’s configuration and are therefore shared by all Subversion client applications. (#143, #615)

  13. External Editor can be Configured

    Using a configuration user interface similar to Finder, the Inspector now contains fields which allow the external editor to be specified for the selected file.

    The editor association can be changed on both a per-file and per file-type basis. (#449, #599)

  14. Syntax Coloring Grammars Added

    The following grammars were added:

    • C#

      C# source files (.cs) are now displayed using syntax coloring. (#459)

    • HTML

      HTML files (.html and .xhtml) are now displayed using syntax coloring.

      Embedded Javascript/ECMAScript and CSS is displayed using the respective syntax coloring grammar. (#9)

    • Java Server Pages

      JSP pages (.jsp) and documents (.jspx) are now displayed using syntax coloring. (#680)

    • LaTeX

      LaTeX files (.tex) are now displayed using syntax coloring. (#643)

    • REALbasic

      REALbasic text files (.rbbas, .rbfrm and .rbmnu) are now displayed using syntax coloring. Binary REALbasic files (.rb) are not supported. (#677)

  15. Support Added for Deltopia’s DeltaWalker

    Cornerstone now includes integrated support for using Deltopia’s DeltaWalker as an external compare tool. (#679)

  16. Working Copy Folders can be Excluded

    Cornerstone’s sparse working copy support was extended to allow folders to be excluded. (#747)

  17. Revert Function Extended to Support Reverting to Arbitrary Revisions

    Versions v1.1 and earlier only supported the standard Subversion revert functionality of reverting modified files to a pristine copy of their BASE revisions.

    The revert function was enhanced in v1.5 to support reverting files to an arbitrary revision. (#531)

Performance Improvements

  1. Browser scrolling performance was improved

    Optimizations in rendering in the browser view resulted in a significant improvement in scrolling performance. Filtered scrolling speed was also improved. (#578)

  2. Text diff view rendering performance was improved

    The rendering performance improvements make scrolling significantly more fluid.

  3. FSEvents Used to Monitor File System Changes on Mac OS X 10.5 Leopard

    In v1.1, Cornerstone monitored the file system for changes by taking a snapshot of each working copy when the application was deactivated and then comparing that against the current state when the application was reactivated. This technique was used in order to maintain compatibility with Mac OS 10.4 Tiger.

    Although implemented using efficient algorithms and executed on background threads, this technique didn’t scale well with large numbers of working copies or with working copies which included very large numbers of files, resulting in high CPU usage when switching to or from Cornerstone and placing an unnecessary load on the file-system cache.

    This file system monitoring code was re-implemented for v1.5 to take advantage of the FSEvents infrastructure provided by Mac OS X 10.5 Leopard which allows an application to passively monitor a directory for changes, receiving events as changes are made to the directory’s files.

    The benefits of this change are numerous:

    • Switching to or from Cornerstone to another application no longer results in a short spike of CPU activity.
    • Decreased CPU load has a beneficial impact on battery life for notebook users.
    • Cornerstone’s RAM footprint no longer increases when the application is deactivated.
    • The technique scales to a far large number of working copies.
    • The CPU and memory overhead associated with large working copies is removed.

    Cornerstone v1.5 exhibits the same file monitoring behavior as v1.1 when running on Mac OS X 10.4 Tiger. (#154)

  4. Cornerstone Only Re-Scans Changed Working Copies at Startup

    The FSEvents infrastructure utilized when running under Mac OS X 10.5 Leopard allows an application to determine which files were changed when the application was not running.

    Cornerstone takes advantage of this facility to cache the change summary value displayed in the working copy source list and then only re-scan those working copies which have actually changed when the application is restarted.

    This should result in dramatically improved startup performance for users with large numbers of working copies (or working copies containing large numbers of files) which change infrequently.

    Cornerstone v1.5 exhibits the same behavior as v1.1 when running under Mac OS X 10.4 Tiger, i.e. all working copies are scanned at startup.

Usability Improvements

  1. Working Copy Folder Status Displayed in Source List

    The property status for a working copy’s top-level folder is displayed in the working copy source list next to the change summary badge. (#614)

  2. Filter Matches in Browser are no Longer Always Displayed in Bold

    In v1.0 and v1.1, items in the browser which match the current filter were always displayed in bold. This behavior was changed in v1.5, where only non-normal working copy items (i.e. modified, added, deleted, unversioned etc.) are displayed in bold. This allows the user to more readily recognize non-normal items when the browser is filtered.

  3. Key Operations Can Now be Canceled

    The following operations support cancellation:

    • Check Out
    • Commit
    • Export
    • Import
    • Update
    • History Log Cache Import
    • Create Patch

    Operations are canceled by clicking the Stop button in the activity area under the source list. (#347)

  4. Compare View Font Can Be Changed

    A new preference (in the General preference pane) allows the user to select which fixed-width font should be used in the text compare view. Font anti-aliasing can also be switched on and off using a second preference (Font smoothing).

    The default font remains 10pt Monaco with font smoothing disabled in the interest of both performance and backwards compatibility. (#469)

  5. Alternate Copy Function Added to Copy URL Without Username Component

    A new alternate menu function (Edit > Copy URL without User, Cmd+Option+C) was added to enable the user to copy the URLs of selected items without including the username component. (#662)

    In addition, a new preference (Include user name when copying URLs) on the General preferences page allows the default copy behavior to be inverted. Switching Include user name when copying URLs off causes the alternate menu function to be named Edit > Copy URL with User.

    The default behavior remains as for v1.0 and v1.1, namely that URLs copied to the pasteboard continue to include the username component.

  6. Cmd-Double-Clicking a Folder in Working Copy Browser Opens Folder in Finder

    Holding down the Command key while double-clicking a folder in a working copy browser will result in the folder being opened in Finder. Likewise, Command-double-clicking a file will reveal the file in Finder. (#666)

  7. Inspector Icon can be Dragged

    The icon in the top left-hand corner of the inspector can be dragged. Repository items may only be dragged to the repository browser. Working copy files and folders may also be dragged to other applications. (#521)

  8. History Log Import Performed on Background Thread

    History caching is performed in the three phases:

    1. Downloading log items from the repository
    2. Indexing the change paths for the downloaded log items
    3. Importing the revisions and change set information into the application’s log cache

    In previous versions, while the log download was performed in a background thread (and could be canceled) phases 2. and 3. were not. As a result, the import of large amounts of log data on the application’s main thread could leave the user with the impression that the application had hung.

    v1.5 improves on this behavior by:

    • Performing path indexing and revision import on a background thread
    • Providing accurate UI feedback on the progress of these operations
    • Allowing the user to cancel these operations

    These improvements combine to make the application’s handling of log downloads for large repositories more robust for the user. (#507, #673)

  9. Dock Bounce On Task Completion Can be Disabled

    Cornerstone bounces once in the Dock when in the background when a user-initiated operation (e.g. check out, update etc.) is completed.

    A new preference in the General preference pane (Bounce in Dock when an operation completes) allows this behavior to be disabled. (#685)

  10. Compare Navigation Functions Moved to New Compare Menu

    Compare view navigation (e.g. First Change, Last Change, Previous Change, Last Change etc.) were moved to the new Compare top-level menu, thus reducing clutter in the View menu.

  11. Compare Functions Renamed to be Consistent with Other Diff Tools

    The compare functions (e.g. Previous Change, Next Change) were renamed (to Previous Difference, Next Difference etc.) in order to use terminology consistent with other diff tools such as Apple’s FileMerge and Skorpiostech’s Changes

  12. Navigation Functions Added to New Go Menu

    The following functions with key equivalents were added to the new Go menu:

    • Back (Cmd+[)
    • Forward (Cmd+])
    • Enclosing Folder (Cmd+Shift+Up)
    • Top Folder (Cmd+Shift+Option+Up)

    The existence of these functions should improve keyboard-based browser navigation. (#694)

  13. Filter Sub-Menu Added to View Menu

    A new Filter sub-menu was added to the View menu. This sub-menu contains items for the pre-defined filters available in filter bars in the application’s various views (e.g. Changed, Newer in Repository etc.).

    Each of these filters has been assigned a key equivalent to improve keyboard-only usage. (#698)

  14. Working Copy Browser Double-Click Action can be Configured

    The action performed when a working copy file is double-clicked can be configured using the Double-clicking working copy file preference in the General pane of the application’s preferences. (#700)

    Possible values are:

    • Opens file in external editor

      Opens file using editor configured as the default with Finder/Launch Services. This is the same behavior as 1.1 and is the default.

    • Compares file

      Opens the file in the built-in compare view. The current/previously selected revisions are initially displayed.

    • Compares file using external editor

      Compares the file against BASE using the currently configured external compare tool.

  15. Edit > Select All Matches Menu Alternate Added

    Selects all items in the current browser which match the filter criteria. Intermediary non-matching folders are excluded from the selection. (#718)

  16. Missing Filter Added to Working Copy Browser

    A new filter was added to the working copy browser for missing files, i.e. files which are under version control but which are not present in the file system. (#725)

  17. Scroller Added to Working Copy inspector

    Scroller will appear in working copy inspector’s Properties tab if insufficient vertical space is available for the display of all properties.

  18. Path Control in Browser Improved to Better Handle Deep Folder Hierarchies

    Path control now dynamically compacts the text of the displayed path components rather than extending beyond the control’s visible bounds. (#739)

  19. Swap Revisions Button Added to Compare View

    A new Swap Revisions button in the compare view allows the left and right revisions to be swapped.

  20. Working Copy Browser View can be Sorted by Status

    The working copy browser view now supports sorting on the working copy status and repository status columns. (#487)

  21. Changes in Global Subversion Configuration are Automatically Adopted

    Cornerstone now monitors the Subversion configuration files in ~/.subversion/config and updates its internal state accordingly. (#627)

  22. Folder Creation is Performed on a Background Thread

    Folder creation was a blocking operation in v1.1. This behavior was improved for v1.5 and is now performed on a background thread. (#743)

  23. Multiple Folders can be Dragged onto Source List

    v1.1 only allowed a single working copy or repository folder to be dragged to the source list at a time. This limitation was removed for v1.5. (#733)

  24. Preference Added to Control Left-to-Right Ordering of Versions in Compare View

    Normally, when comparing two versions, the conceptually newer version is displayed on the right. For example, when comparing BASE against the working version, the working version is displayed on the right.

    This also applies when comparing HEAD against working: HEAD is assumed to be the newer version, post-dating the working version’s BASE revision and therefore providing motivation for the comparison.

    This behavior can now be controlled by selecting the Show working version on right value for the new When comparing versions option in the General preference pane, which will cause the working version to be placed on the right when comparing against HEAD. (#766)

  25. UI for Adding Existing Working Copies was Streamlined

    The UI displayed by the File > Add Working Copy… function no longer displays a custom modal sheet, instead displaying a standard open panel which also contains a field allowing the user to optionally specify a nickname for the working copy.

    The open panel also allows multiple working copy folders to be selected. (#786)

  26. Toolbar Improvements

    Many toolbar icons were redesigned to be clearer, more attractive and follow a more consistent visual style. The icons used to represent working copies and repositories in the source lists were redesigned accordingly.

    In addition:

    • A new Add Working Copy item was added (#820).
    • A new Refresh item was added (#464).
    • Check Out is now part of the default toolbar (#466).
  27. Activity View Moved from Toolbar to Underneath Source List

    In earlier versions, an iTunes-esque LCD-style view located in the toolbar provided feedback on pending operations. This view was removed from the toolbar in v1.5. The activity display is now located underneath the source list at the bottom of the main window in a new area labeled ACTIVITY.

    The primary motivation for this change was to afford the user more control and flexibility over the customization of their application toolbar. Moving the view to the lower left corner of the main window also results in the display being less distracting than when previously located in the center of the toolbar.

Compatibility

  1. Compatible with Mac OS X 10.6 Snow Leopard

    Cornerstone is compatible with the current Mac OS X 10.6 Snow Leopard ADC Developer Preview at the time of writing (10A411).

  2. Compatible with Mac OS X 10.4 Tiger

    Cornerstone is still compatible with Mac OS X 10.4 Tiger, albeit with some minor restrictions:

    • Dates can’t be entered into revision fields. Revision numbers should be used instead in combination with the popup revision picker.

    • Image compare view background color popup uses text instead of icons.

    Please note that v1.5 will be the last release compatible with Mac OS X 10.4 Tiger. Tiger compatibility will be dropped for future versions.

  3. Subversion 1.6 Support Added

    Cornerstone v1.5 includes Subversion 1.6.5 and is therefore compatible with both 1.6-based working copies and repositories.

    Cornerstone also continues to include both Subversion versions 1.4.6 and 1.5.6.

  4. Subversion 1.5 updated to 1.5.7

    The 1.5-level version of Subversion which is included with Cornerstone was updated to 1.5.7.

Compatibility

Backwards Compatibility

1.5 is fully backwards compatible with 1.1. All configuration and settings (including license information) are transparently migrated to 1.5 when 1.5 is run for the first time.

Forwards Compatibility

The 1.5 configuration databases are forward-compatible with 1.1, i.e. you can run 1.1 and 1.5 against the same configuration databases in your Application Support/Cornerstone folder.

Caveats and Limitations

1.5 is not compatible with Berkeley DB format repositories. This means that BDB repositories cannot be created or accessed using the file:// protocol.

We don’t expect this to be an issue for the majority of Cornerstone users as the File System format has been the recommended, preferred and default repository format for a number of years, It also is not supported by the svn client tools provided by Apple with Mac OS X 10.5 Leopard or Mac OS X 10.6 Snow Leopard.

Cornerstone can of course use BDB repositories served using the http://, https://, svn:// and svn+ssh:// protocols.

You have the following options if you need to use Cornerstone to access a BDB repository:

  1. Continue to use Cornerstone 1.1 to access your BDB repository. 1.1 can co-exist with 1.5 on the same computer.
  2. Use svnserve or Apache to serve your BDB repository using the svn:// or http:// protocols.
  3. Convert your BDB repository to FSFS format using the svnadmin tool’s dump and load commands.

Issues Resolved in 1.5 Beta 1

# Description
9 Implement HTML grammar.
143 Editing of user’s SVN configuration should be supported in preferences
154 Utilize improved file-system events under Leopard
203 Removing folder from svn:externals+update causes weird directory state
221 Display image size in image diff view
245 Log view should summarize number of changes in revision’s change set
246 Cache files should be removed when last repository/working copy which references it is deleted.
264 Add option to change background color for image compare view
347 Check out working copy can’t be canceled
385 Allow selection of revision in repository browser’s content view
402 Log view should display changes made to a file without having to select two revisions
407 .pch pre-compiled header files are not displayed with syntax coloring
409 ECMAScript regex strings are not always parsed correctly.
428 Add ‘Compare to previous version’ option to compare view
429 Provide editor for svn:externals
438 Cornerstone should show update/add/delete/conflict report following update
449 User should be able to override external file viewer applications on a per-file type basis
455 History view should show diff/contents of files in revision’s change set list
459 Add C# Syntax Grammar.
461 Tabs are not always displayed correctly.
464 Add toolbar button for refresh.
469 Allow configurable font size in diff views.
470 Add output view to dump the svn-generated output for each context.
472 Add option to ignore differences in whitespace in diff view.
484 Add ‘Add to Working Copy’ toolbar button
487 User should be able to sort by working copy item status
502 Add ability to view log in verbose vertical format a la svn log
507 Improve progress feedback during caching stage of history download.
518 Add function to create diff/patch file when comparing two versions
521 Icon in inspector should be draggable.
566 Comparing multiple files against HEAD is inconvenient
578 Browser scrolling speed can be sluggish.
586 Revision selector should support revision list with log message summary
599 Application used to open file with double-click should be configurable
607 Error raised when committing added files in unversioned folders (i.e. folders which are scheduled to be added) when parent folder itself is not selected.
614 Changes to properties in the top-level working copy are not clearly visualized in the working copy source list.
615 Preferences should be extended to support editing of Subversion’s global ignore property
624 Date, property and lock columns in browser are drawn with incorrect foreground color when help or Spotlight menus are activated.
625 Working copy compare view should allow comparison against latest in repository when “Show Repository Status” is disabled
627 Cornerstone doesn’t pick up changes to Subversion’s global configuration (~/.subversion/config) without a restart.
631 User should be able to cancel initial connect in “Add Repository” window.
636 Browser/history view switch in toolbar should display tooltip.
637 Double-clicking file in log message window should compare against BASE
640 Issue tracking numbers are not formatted as URLs in history view for working copy files checked out using a URL which differs from the repository used to define the number rules.
641 Repository isn’t refreshed after commit if URL differs from that used to check out working copy.
643 Add syntax coloring support for LaTeX files.
645 Allow working version to be compared against an arbitrary revision
659 Display previous log messages directly from repository’s log in commit window’s recent message’s list
662 Allow user to copy URLs without always including the URL’s username component.
666 Cmd-double clicking a folder should open the folder in Finder.
673 Application appears to hang when importing large repository logs in the history viewer.
674 Entering a username which includes a backslash character (\) into the “Add Repository” sheet causes an error.
675 Folders with property conflicts can’t be reverted.
677 Add support for syntax coloring for REALbasic.
679 Add support for DeltaWalker as external compare tool.
680 Add syntax coloring support for JSP files.
683 Cornerstone crashes after permanently accepting self-signed SSL certificate when connecting to a repository for the first time.
685 Allow disabling of the bouncing of the app icon in the Dock on completion of a background operation.
687 Extend the help book documentation to describe the revert function.
688 Option-clicking disclosure triangle of expanded nodes in browser outline view does not recursively collapse folder contents.
690 Add key equivalent for “View > Show Repository Status”.
691 Filenames containing numbers are not sorted correctly by browser views.
692 Repository folder information shown in inspector is not updated after a refresh if the browser has been zoomed.
693 Removal/renaming of repository folder causes unrecoverable error for repository browsers zoomed to that folder.
694 Add key equivalents for browsing into and out of folders in browser views.
695 Working copy does not refresh repository status following change to source repository.
697 First Change and Last Change functions in View menu are only enabled after clicking in diff view to make it active.
698 Add key equivalents for the filters in the working copy and repository browsers.
699 Opening large JavaScript files in the file viewer can cause Cornerstone to hang.
700 Allow user to configure double-click action.
702 Revision selected for comparison should be persistent across multiple files
704 Commit causes application to hang for working copies with very large external references when “Before committing unversioned files” option is set to something other than “Do nothing”.
708 Add “Update…” to the working copy source list action menu
712 Tooltip isn’t displayed for location field in log event inspector
714 The Columns article in the help book does not describe the Unversioned status icon used in working copy browsers.
716 Right-clicking external in unversioned folder causes “Directory not a working copy” error.
717 Externals are not up-/downgraded with rest of working copy.
718 Add Select All alternate to select all non-folder matches in a filter browser view
719 Windows displayed as sheets detach from the main window when switching Spaces on Mac OS X 10.5 Leopard
722 Allow user to change Cornerstone’s license information after registration.
723 Recent messages in log message sheet should be displayed in popup rather than a modeless panel.
725 Add additional filters to the working copy browser.
726 Cornerstone crashes when ignoring very large numbers of unversioned files (i.e. 1,000’s) during a commit.
727 Multiple unversioned files added to svn:ignore as one operation are not added in the correct order.
729 Allow comparison of files in the log message window
734 Cornerstone hangs when adding or checking out a working copy in a certain conditions.
735 License entry window should ignore whitespace included with registration information.
736 Add functions to create/apply patch from/to a working copy.
738 Error message displayed when attempting to create a folder with an existing name is confusing.
739 Browser path control extends beyond visible bounds of view for deep folder hierarchies and can’t be clicked.
740 Cornerstone crashes when // specified as prefix to name for file or folder being imported.
742 SSH authentication fails when attempted by multiple Mac OS X user accounts
743 Folder creation should be implemented as background task
777 Show Contents for conflicted binary file (e.g. an image) results in an error

Issues Resolved in 1.5 Beta 2

# Description
633 Deleting missing file scheduled to be added to working copy causes error
733 Enable drag/drop of multiple working copies onto source list
744 Reverting to BASE fails for conflicted files if a conflict resolution file is missing
745 Error is raised when “None” is selected for right (i.e. modified) revision in compare view
746 Make release notes available to beta participants without requiring that application be started
747 Support exclusion depth when updating working copies
751 Timeline and log views are not updated following a commit
753 Working copy format should default to 1.6 on Mac OS X 10.6 Snow Leopard
754 Selecting revision in timeline view from a folder’s log result in an error
755 Replaced status icon is not displayed correctly in log view
756 It should be possible to specify filename when exporting files in the timeline view
757 Add export function to log view
759 Filter menu is disabled after application is deactivated and reactivated
760 External compare button is enabled in timeline view when revisions in folder’s change log are selected
761 “Compare Selected Revisions” item in “Compare using …” menu is disabled in timeline and compare views
762 “View > Show Contents” should show differences in selected change in log view
763 View toolbars display alternates even when window is not key
765 Filter bars should indicate item grouping by displaying separator items between groups
766 Add preference to control whether HEAD is displayed on left or right by default in compare view when comparing with WORKING version
767 Error message displayed by log view when repository is unreachable should not be modal
768 Add function to copy all visible items to pasteboard in log view
769 Update Subversion to 1.6.4
770 Revision fields in externals document should not be editable for repository folders
771 External definitions in editor’s list view can be dragged when opened from repository browser
772 Cancellation of drag operation in externals editor results in delete which can’t be undone
773 Starting refresh in repository browser before node expansion completes results in expanding node being displayed as file with generic icon
778 Menu item text (“Working Version (merged)”) in revision field popup menu is incorrect for working version of conflicted binary file
779 Scrolling performance in externals window is slow
780 Cannot use keyboard navigation (i.e. tab key) to navigate between revision fields in externals window
781 Moving mouse out of externals window can cause view to change scroll position unexpectedly
782 Keyboard tokens supported by revision fields are not discoverable
784 Tabbing between between fields in the preferences’ auto properties section doesn’t work
785 Remove BDB-related UI from repository creation sheet
786 Add working copy function should not show a custom sheet, but instead should display a standard open panel
787 Reverting conflicted binary file fails with an error if “Copy to Trash First” is selected
788 Revision picker doesn’t always display the latest log items when first displayed
789 Error and warning messages displayed in overlay views are editable

Issues Resolved in 1.5 Release Candidate 1

# Description
466 Check out working copy should be in default toolbar
790 Enable the use of external compare tools in the change list in the compare view
791 Overflow chevron in view toolbars should display the overflowed toolbar items
792 It should be possible to collapse the options section in the commit view
793 Allow inclusion/exclusion of file for committing when compare/diff view is active in commit view
795 Incorrect description displayed for relative revisions in diff save panel revision fields
796 Files displayed in compare view aren’t always refreshed after being modified in another application
797 Clicking on an issue tracking hyperlink in the log view replaces the log view in Cornerstone with the contents of the linked page
798 Replace term “pasteboard” with “clipboard” in log view
799 Extend log view filter to allow searching by revision number
800 Change lists in log view should be collapsed by default
801 Improve readability of revision headings in log view
802 Revision timestamps should not include seconds in log view
803 Extend log view to visually group revisions by date
804 Cornerstone does not respect the “Jump to here” scroll setting in Mac OS X’s Appearance preference pane
805 Update Subversion to 1.6.5
806 Update Subversion to 1.5.7
807 Can’t exclude working copy folder which has a depth of “Folder Only”
808 Open in Finder should be disabled for package files
809 Add button for “Open in Finder” function to working copy file browser’s toolbar
810 Error text displayed in error message views should be selectable
811 REALbasic files (.rbbas, .rbfrm and .rbvcp) are not displayed as text on Macs where REALbasic is installed
813 Null characters (i.e. ASCII value zero) in file cause compare view to hang while applying syntax coloring
814 CSS syntax coloring grammar does not parse unicode ranges correctly
815 ex, in, mm and cm units are not parsed correctly by CSS syntax coloring grammar
816 *, @-prefixed selectors (e.g. @font-face) are not colored correctly in CSS files
817 Add buttons for common first steps (adding repository, working copy) to the welcome view
818 Move Go menu to be positioned to the right of the View menu for consistency with Finder
819 Toolbar in external definition editor can’t be customized
820 Add toolbar item for “Add Working Copy…”
821 Changing filter in externals window has no effect
822 Scheme-only URL in Add Repository sheet is truncated
823 “Unrecognized notification” is displayed in transcript view for notifications specific to Subversion 1.6

Issues Resolved in 1.5 Release Candidate 2

# Description
531 Enable revert to arbitrary revision
824 Compare view fails when comparing against an empty file
825 Application crashes under certain conditions when dragging items in a working copy’s file view
826 Commit toolbar button should be available when commit view is active and should perform the same function as the commit view’s “Commit Changes” button
827 Check out and update toolbar item images should be more distinct
828 Pressing key equivalent for default button in sheet does not trigger action when revision field is first responder
829 Pressing the delete key in a revision field in date entry mode should switch to text entry mode
830 Revert toolbar icon needs improvement
833 Pressing shift when scrolling with a single-axis mouse wheel should scroll compare view horizontally

Issues Resolved in 1.5 Final

# Description
834 Cornerstone crashes which launching if the application’s path contains non-ASCII characters
835 Right-clicking and selecting “Quick Look” causes the previously selected file to be displayed
836 Inconsistent working copy formats result in a “This client is too old…” error. Cornerstone should handle this error more gracefully, offering the user to upgrade the working copy to the newer format
837 Compare view’s difference navigation functions shouldn’t be disabled when first or last difference is selected
838 Icon for preference panel’s “Working Copies” page is inconsistent with new source list icon
841 “No Selection” and “No Information Available” placeholder texts in inspector are wrapped excessively at the inspector’s default size
842 Commit doesn’t start when “Commit All Changes to” is selected from the dock menu for a working copy which hasn’t been activated

Cornerstone 1.5 Released

Filed under: Cornerstone,News — Administrator @ 5:59 am

Today we’re releasing Cornerstone 1.5 after 8 months of development and 2 months of beta testing. It’s a huge release containing numerous new features and tons of smaller improvements and refinements.

We’ve listened very carefully to input from our users since 1.1 was released and have worked hard to make Cornerstone both more powerful and easier to use. We’ve also added support for Subversion 1.6 and Mac OS X 10.6 Snow Leopard.

The improvements made to 1.5 are listed in detail in the release notes, but the major additions are:

  1. Improved User Interface

    Cornerstone’s user interface was redesigned to make navigation more consistent and intuitive. The new screen-based interface also makes far better use of available screen space.

  2. New Log View

    The new log view compliments the existing timeline view by displaying a project’s log in a form similar to the output of svn‘s log command.

  3. New Commit View

    We have made big improvements to the commit view: it’s now non-modal, files can be included and excluded, and most important of all, files can be compared right in the commit view.

  4. New Transcript View

    The new transcript view provides progress information on operations such as updates and commits.

  5. New Externals Editor

    1.5 now includes support for editing svn:externals properties in the form of a new dedicated externals editor.

  6. New Preference Pane for Subversion Configuration

    The most commonly-used Subversion configuration options can now be configured within Cornerstone. Supported options include global ignores, auto properties and HTTP proxy settings.

We believe that these improvements combine to make this a substantial release, so much so that we decided it deserved the jump to version 1.5.

1.5 is a free upgrade for all 1.0 and 1.1 license holders and is available for immediate download.