Difference between revisions of "Subversive Plan"

From Eclipsepedia

Jump to: navigation, search
(SVN 1.5 API support)
(Subversive build schedule)
 
(7 intermediate revisions by one user not shown)
Line 15: Line 15:
 
* Eclipse Platform 3.3.x and 3.4.x
 
* Eclipse Platform 3.3.x and 3.4.x
 
* JDK/JRE 1.5.x and 1.6.x
 
* JDK/JRE 1.5.x and 1.6.x
* SVN versions 1.1.x-1.4.x using SVN 1.4 compatible connectors
+
* SVN versions 1.1.x-1.4.x using SVN 1.4 compatible connectors (until Subversion 1.5.0 and SVN Kit 1.2.0 is released)
 
* SVN version 1.5.x using SVN 1.5 compatible connectors.
 
* SVN version 1.5.x using SVN 1.5 compatible connectors.
  
Line 33: Line 33:
 
* Rework SVN connector interfaces in order to make it clean and usable {{task-done}}
 
* Rework SVN connector interfaces in order to make it clean and usable {{task-done}}
 
* Include support of all new SVN 1.5 API features {{task-done}}
 
* Include support of all new SVN 1.5 API features {{task-done}}
* Add SVN 1.5 features support into the plug-in functionality where required {{task-inprogress}}
+
* Add all important SVN 1.5 features support into the plug-in functionality where required {{task-done}}
  
 
=== Important UI features ===
 
=== Important UI features ===
Line 39: Line 39:
 
Most important features which will be introduced in the Subversive release are “merge UI” and correct and complete "compare UI". These features requires as prerequisite lot of work related to SVN 1.5 support and now work on both these features are in progress.
 
Most important features which will be introduced in the Subversive release are “merge UI” and correct and complete "compare UI". These features requires as prerequisite lot of work related to SVN 1.5 support and now work on both these features are in progress.
 
* Introduce Merge UI itself {{task-done}}
 
* Introduce Merge UI itself {{task-done}}
* Support SVN 1.5 features for Merge UI
+
* Support SVN 1.5 features in Merge UI {{task-done}}
 
* Introduce compare UI for folders {{task-done}}
 
* Introduce compare UI for folders {{task-done}}
 
* Introduce new compare modes (compare with branch, tag etc.) {{task-done}}
 
* Introduce new compare modes (compare with branch, tag etc.) {{task-done}}
Line 72: Line 72:
 
* {{bug|211417}}: Allows to override committer name for different protocols {{task-done}}
 
* {{bug|211417}}: Allows to override committer name for different protocols {{task-done}}
 
* {{bug|229761}}: Problem with tagging from branches {{task-done}}
 
* {{bug|229761}}: Problem with tagging from branches {{task-done}}
* {{bug|227708}}: Implement deferred in time fetch of affected paths for History View
 
* {{bug|224123}}: Multiple selection in Affected Paths
 
  
 
== Subversive build schedule ==
 
== Subversive build schedule ==
Line 102: Line 100:
 
</tr>
 
</tr>
 
<tr bgcolor="#e0d0e6">
 
<tr bgcolor="#e0d0e6">
<td>0.7.0</td>
+
<td>0.7.0 (M4)</td>
 
<td>Eclipse 3.4RC1</td>
 
<td>Eclipse 3.4RC1</td>
 
<td>2008, 20 May</td>
 
<td>2008, 20 May</td>
Line 108: Line 106:
 
</tr>
 
</tr>
 
<tr bgColor="#faf7fb">
 
<tr bgColor="#faf7fb">
<td>0.7.1</td>
+
<td>&nbsp;</td>
 
<td>Eclipse 3.4RC2</td>
 
<td>Eclipse 3.4RC2</td>
 
<td>2008, 27 May</td>
 
<td>2008, 27 May</td>
<td>Bug fix</td>
+
<td>&nbsp;</td>
 
</tr>
 
</tr>
 
<tr bgcolor="#e0d0e6">
 
<tr bgcolor="#e0d0e6">
<td>0.7.2</td>
+
<td>&nbsp;</td>
 
<td>Eclipse 3.4RC3</td>
 
<td>Eclipse 3.4RC3</td>
 
<td>2008, 3 June</td>
 
<td>2008, 3 June</td>
<td>Bug fix</td>
+
<td>&nbsp;</td>
 
</tr>
 
</tr>
 
<tr bgcolor="#faf7fb">
 
<tr bgcolor="#faf7fb">
<td>1.0.0</td>
+
<td>0.7.1</td>
 
<td>Eclipse 3.4RC4</td>
 
<td>Eclipse 3.4RC4</td>
<td>2008, 10 June</td>
+
<td>2008, 12 June</td>
<td>Release 1.0.0</td>
+
<td>Release 0.7.1</td>
 
</tr>
 
</tr>
 
<tr bgcolor="#e0d0e6">
 
<tr bgcolor="#e0d0e6">
Line 130: Line 128:
 
<td>2008, 23 June</td>
 
<td>2008, 23 June</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
</tr>
 +
<tr bgcolor="#faf7fb">
 +
<td>0.7.2</td>
 +
<td>&nbsp;</td>
 +
<td>2008, 1 August</td>
 +
<td>Release 0.7.2</td>
 +
</tr>
 +
<tr bgcolor="#e0d0e6">
 +
<td>0.8.0</td>
 +
<td></td>
 +
<td>2009, 20 May *</td>
 +
<td>Release 0.8.0</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
Line 143: Line 153:
 
'''0.7.2''' release will contain bug fixes and low level API changes if it is required in order to support SVN 1.5 functionality.
 
'''0.7.2''' release will contain bug fixes and low level API changes if it is required in order to support SVN 1.5 functionality.
  
'''1.0.0''' release will contain set of fixes for bugs reported by users.
+
'''0.8.0''' release will contain set of fixes for bugs reported by users.
 +
 
 +
'''*''' The date is preliminary and it is the subject to change because graduation depends on solving all existing legal issues.
  
 
[[Category:Subversive]]
 
[[Category:Subversive]]

Latest revision as of 08:52, 16 October 2008

Contents

[edit] Goals and priorities

The Subversive project team performs hard work in order to reach several important targets:

  • Include the Subversive project into the Ganymede simultaneous release process
  • Make SVN 1.5 support available as fast as it is possible after SVN 1.5 released
  • Fix lot of well known critical issues
  • Introduce new important features like merge UI, compare UI which will support folders comparison for SVN 1.5 and lot of minor improvements.

The most important tasks are SVN 1.5 support and inclusion into the Ganymede simultaneous release process.

[edit] Supported platforms

In compare to previous releases set of supported platforms are reduced. New Subversive builds do not support nor Eclipse 3.2 and earlier, nor JRE 1.4. In the future this solution should allow us to make project code more clean and stable.

So, the Subversive project will support:

  • Eclipse Platform 3.3.x and 3.4.x
  • JDK/JRE 1.5.x and 1.6.x
  • SVN versions 1.1.x-1.4.x using SVN 1.4 compatible connectors (until Subversion 1.5.0 and SVN Kit 1.2.0 is released)
  • SVN version 1.5.x using SVN 1.5 compatible connectors.

[edit] Categorized tasks

[edit] Ganymede simultaneous release

In order to include the Subversive project into Ganymede simultaneous release process we should perform following tasks:

  • Check the plug-in compatibility with the Ganymede builds [done]
  • Check Ganymede simultaneous release requirements [done]
  • Rework bug reporting subsystem to the Mylyn-based one [done]
  • Receive parallel IP process acceptance [done]

[edit] SVN 1.5 API support

Subversion 1.5.x support requires performing the following tasks:

  • Rework SVN connector interfaces in order to make it clean and usable [done]
  • Include support of all new SVN 1.5 API features [done]
  • Add all important SVN 1.5 features support into the plug-in functionality where required [done]

[edit] Important UI features

Most important features which will be introduced in the Subversive release are “merge UI” and correct and complete "compare UI". These features requires as prerequisite lot of work related to SVN 1.5 support and now work on both these features are in progress.

  • Introduce Merge UI itself [done]
  • Support SVN 1.5 features in Merge UI [done]
  • Introduce compare UI for folders [done]
  • Introduce new compare modes (compare with branch, tag etc.) [done]

[edit] Improving Eclipse Team API support

Subversive now supports minimally required Team API set. Most of these API’s were introduced in the Eclipse Platform version 3.0.x. The Eclipse Platform version 3.2 additionally provides new integration API’s which also should be supported by the Subversive project in order to improve integration abilities.

  • Implement IFileHistory interface [done]
  • Move the Subscriber code into the Subversive core module
  • Improve resource decoration support
  • Grouping related changes
  • Check and improve support for Logical Model Integration (operation scope, model-based merging, model content in team viewers)

[edit] Lot of fixes and minor features

We have lot of issue reports and tip for improvements on our tracker. Most important of these reports should be processed until Subversive is released.

  • bug 211422: bugtraq properties not read for new files [done]
  • bug 212033: Subversive Preferences dialog is substantially too wide [done]
  • bug 212029: Label Decorations preview widget in preferences window is too small [done]
  • bug 211398: Imporve "Problem Dialog" [done]
  • bug 211250: Show the difference between the modified version and the current SVN revision [done]
  • bug 211272: Create Unified Diff action handles direction incorrectly [done]
  • bug 211390: ClassCastException in ShowConflictEditor operation [done]
  • bug 211402: Improve validation in SVN Properties dialog [done]
  • bug 211403: Improve SVN properties support [done]
  • bug 211239: Allows to work with non-conflicting resources for "Override and ..." operations [done]
  • bug 211416: Add Create Patch action to Synchronize view [done]
  • bug 211407: Add Ignore action to Commit dialog [done]
  • bug 211404: Show conflicting resources in Commit dialog [done]
  • bug 211242: Replace with Branch/Tag/Origin [done]
  • bug 211399: Enhance automatic project share [done]
  • bug 211410: Add revision folding ability to History view [done]
  • bug 211417: Allows to override committer name for different protocols [done]
  • bug 229761: Problem with tagging from branches [done]

[edit] Subversive build schedule

Subversive Build Eclipse Build Time Point (+2) Notes
0.7.0 (M1) Eclipse 3.4M5 2008, 18 February Most API changes
0.7.0 (M2) Eclipse 3.4M6 2008, 7 April API Freeze
0.7.0 (M3) Eclipse 3.4M7 2008, 6 May All features implemented
0.7.0 (M4) Eclipse 3.4RC1 2008, 20 May Release 0.7.0
  Eclipse 3.4RC2 2008, 27 May  
  Eclipse 3.4RC3 2008, 3 June  
0.7.1 Eclipse 3.4RC4 2008, 12 June Release 0.7.1
  Eclipse 3.4.0 2008, 23 June  
0.7.2   2008, 1 August Release 0.7.2
0.8.0 2009, 20 May * Release 0.8.0

Ramp-down Policy

0.7.0 (M2) build of the Subversive project is API freeze point. On the other side our low level Subversive API depends on SVN 1.5 features and changes. So, low level Subversive API changes is allowed after this point in case if SVN 1.5 API or feature set was changed.

0.7.0 release build of the Subversive project will provide implementation for most of planned features.

0.7.1 release will contain bug fixes. Weekly builds should be introduced.

0.7.2 release will contain bug fixes and low level API changes if it is required in order to support SVN 1.5 functionality.

0.8.0 release will contain set of fixes for bugs reported by users.

* The date is preliminary and it is the subject to change because graduation depends on solving all existing legal issues.