Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Subversive New and Noteworthy"

(One intermediate revision by one other user not shown)
Line 53: Line 53:
 
== Usability improvements ==
 
== Usability improvements ==
  
Since m2e is now a project under Eclipse.org umbrella, we too moved Subversive-m2e integration to Eclipse (bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=455407 455407]). This way it'll be much easier to install to the ones who need this integration.
+
There were request for new features by community which were solved in this version.
 +
Now there is a way to specify a default checkout location which may differ from the workspace location:
  
Since there're conflicts in key binding schemes (due to global key bindings in the operating environment or with other plug-ins in Eclipse IDE) we have created our own predefined schemes "Default + Subversive" and "Default + Subversive (Ubuntu)". Each of them introduces a slight changes in key combinations in order to provide access to all the important features through keyboard accelerators (bugs [https://bugs.eclipse.org/bugs/show_bug.cgi?id=456139 456139] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=309074 309074]).
+
[[Image:Svn-project-structure.png]]
  
[[Image:Svn-key-bindings.png]]
+
This allows you not to select the location manually each time you perform a checkout, in case you do not want to use the workspace location due to some reasons. Also the corresponding path selection control of the Checkout As wizard location page from now on will be enabled by default in order to lessen the amount of the actions required to change the location.
  
There are some cases when user do not want to go along with the connectors installation procedure the moment it is proposed automatically by the connectors discovery feature. The decision is saved and there is no way to call discovery feature second time. If such a case happens, there is a lot of work to install connectors later, since the user must find the URL to the correct version of the connectors updates site, then add it in Eclipse Installation Manager before installing connectors themselves. In order to resolve the situation we have added the fast access button in the connectors selection page of plug-in preferences (bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=442249 442249]).
+
[[Image:Svn-checkout-as-location-page.png]]
  
[[Image:Svn-get-connectors-button.png]]
+
Previously plug-in always ignored derived resources. But it seems sometimes it is useful to place them under source control. So, now we have the option to alter the behaviour:
  
SVN supports multiline properties, while the automatic properties configuration page doesn't, since the new line separates properties from each other. This prevents using automatic properties in case a multiline one is needed. In order to solve the issue we have introduced a new syntax of defining a property in Automatic Properties dialog. In order to define a multiline one you just need to separate supposed lines with the \n character sequence. In case you actually need to define a \n character sequence in your property, then just use the masked one: \\n (bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=445999 445999]).
+
[[Image:Svn-commit-options.png]]
  
Also there are typical SVN errors requiring user to perform some actions over the working copy. It is nothing strange when you know what to expect, but may confuse a beginner. So, we made a special page in the Subversive's help, that describes those typical errors and possible solutions. The help page could be summoned directly from the error notification dialog, which should enhance beginners experience with SVN (bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=457516 457516]).
+
Also, support form SVN 1.7-1.9 diff options was introduced into the "Create Patch" wizard:
 +
 
 +
[[Image:Svn-diff-options.png]]
 +
 
 +
== Performance ==
 +
 
 +
Thanks to the community people's help, there were some major performance improvements including both: CPU and memory usage reduction. For details please check the bugs [https://bugs.eclipse.org/bugs/show_bug.cgi?id=489143 489143] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=489649 489649].  
  
 
[[Category:Subversive]]
 
[[Category:Subversive]]

Revision as of 14:26, 5 April 2016

Also see the New & Noteworthy for: Mars, Luna, Kepler, Juno, Indigo, Helios, Galileo

Introduction

Main target of this release is performance optimization and introduction of SVN 1.9 support.

SVN 1.9 support

All the changes in SVN API that aren't regarded as experimental ones were reflected in SVN integration API. These changes are covered by the following tasks: 488472, 485022, 488453, 487220 and 487147. For the exact details please check the following section.

Rework of SVN integration API

The following API calls were added:

  • setConfigurationEventHandler() - set an event handler that will be called every time the configuration is loaded by this client object
  • getConfigurationEventHandler() - returns a reference to the installed configuration event handler
  • vacuum() - recursively vacuum a working copy, removing unnecessary data, including unversioned, externals, unused pristines, ignored and fixing time stamps

The following API calls now accept additional behaviour switches:

  • status()
  • merge()
  • mergeTwo()
  • exportTo()
  • copyLocal()

The following API calls signatures were changed:

  • revert()
  • cleanup()
  • getInfo()
  • streamFileContent()
  • copyLocal()
  • copyRemote()
  • annotate()

The following previously deprecated API calls were removed:

  • mergeStatus()
  • merge() - the ones that were a counterpart to mergeStatus()

Those modifications had no actual impact on the high-level command framework API.

Latest SVN client libraries included

Bugs 485024, 485025, 480040, 480039 and 487147. SVN Kit 1.8.12 supports SVN 1.9 working copy. While the native clients provide full-featured support for SVN 1.9.

Changes in extension points

  • The IOptionProvider interface was changed so that it allows to add configuration options in the future in a way which won't lead to new API changes. All the options now are provided in a uniform way, using the following methods:
    • get() - returns the option's value by its name
    • getString() - returns the option's value which is of the String type (basically it is a wrapper to the "get" call)
    • has() - returns true if the option is set at all
    • is() - returns true if the option is set to true (basically it is a wrapper to the "get" call)
  • The ICommitActionFactory interface now allows integrations to completely manage the comment editor control and so, now it contains few more methods:
    • initCommentManager() - called upon the CommentComposite initialization
    • confirmMessage() - called each time "Ok" button is pressed
    • cancelMessage() - called each time "Cancel" button is pressed
  • The IModifiableCommentDialogPanel interface is now marked as deprecated, since its functions were completely overtook by the more functional ICommentManager interface.

Usability improvements

There were request for new features by community which were solved in this version. Now there is a way to specify a default checkout location which may differ from the workspace location:

Svn-project-structure.png

This allows you not to select the location manually each time you perform a checkout, in case you do not want to use the workspace location due to some reasons. Also the corresponding path selection control of the Checkout As wizard location page from now on will be enabled by default in order to lessen the amount of the actions required to change the location.

Svn-checkout-as-location-page.png

Previously plug-in always ignored derived resources. But it seems sometimes it is useful to place them under source control. So, now we have the option to alter the behaviour:

Svn-commit-options.png

Also, support form SVN 1.7-1.9 diff options was introduced into the "Create Patch" wizard:

Svn-diff-options.png

Performance

Thanks to the community people's help, there were some major performance improvements including both: CPU and memory usage reduction. For details please check the bugs 489143 and 489649.

Back to the top