Jump to: navigation, search

Difference between revisions of "Subversive Plan"

(Improving Eclipse Team API support)
(Subversive build schedule)
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Goals and priorities =
+
== Goals and priorities ==
  
 
The Subversive project team performs hard work in order to reach several important targets:
 
The Subversive project team performs hard work in order to reach several important targets:
Line 8: Line 8:
 
The most important tasks are SVN 1.5 support and inclusion into the Ganymede simultaneous release process.
 
The most important tasks are SVN 1.5 support and inclusion into the Ganymede simultaneous release process.
  
= Supported platforms =
+
== 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.
 
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.
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.
  
= Categorized tasks =
+
== Categorized tasks ==
  
== Ganymede simultaneous release ==
+
=== Ganymede simultaneous release ===
  
 
In order to include the Subversive project into Ganymede simultaneous release process we should perform following tasks:
 
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 <font color=green>[done]</font>
+
* Check the plug-in compatibility with the Ganymede builds {{task-done}}
* Check Ganymede simultaneous release requirements <font color=green>[done]</font>
+
* Check Ganymede simultaneous release requirements {{task-done}}
* Rework bug reporting subsystem to the Mylyn-based one <font color=green>[done]</font>
+
* Rework bug reporting subsystem to the Mylyn-based one {{task-done}}
* Receive parallel IP process acceptance <font color=green>[done]</font>
+
* Receive parallel IP process acceptance {{task-done}}
  
== SVN 1.5 API support ==
+
=== SVN 1.5 API support ===
  
 
Subversion 1.5.x support requires performing the following tasks:
 
Subversion 1.5.x support requires performing the following tasks:
* Rework SVN connector interfaces in order to make it clean and usable <font color=green>[done]</font>
+
* Rework SVN connector interfaces in order to make it clean and usable {{task-done}}
* Include support of all new SVN 1.5 API features <font color=blue>[in progress]</font>
+
* 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
+
* Add all important SVN 1.5 features support into the plug-in functionality where required {{task-done}}
  
== Important UI features ==
+
=== 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.
 
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 <font color=green>[done]</font>
+
* 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 <font color=green>[done]</font>
+
* Introduce compare UI for folders {{task-done}}
* Introduce new compare modes (compare with branch, tag etc.) <font color=green>[done]</font>
+
* Introduce new compare modes (compare with branch, tag etc.) {{task-done}}
  
== Improving Eclipse Team API support ==
+
=== 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.
 
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.
Line 52: Line 52:
 
* Check and improve support for Logical Model Integration (operation scope, model-based merging, model content in team viewers)
 
* Check and improve support for Logical Model Integration (operation scope, model-based merging, model content in team viewers)
  
== Lot of fixes and minor features ==
+
=== 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.
 
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 {{task-done}}
 
* {{bug|211422}}: bugtraq properties not read for new files {{task-done}}
Line 71: Line 71:
 
* {{bug|211410}}: Add revision folding ability to History view {{task-done}}
 
* {{bug|211410}}: Add revision folding ability to History view {{task-done}}
 
* {{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}}
  
= Subversive build schedule =
+
== Subversive build schedule ==
 
<table border="0" cellspacing="3" cellpadding="2">
 
<table border="0" cellspacing="3" cellpadding="2">
 
<tr align=center bgcolor="#595791">
 
<tr align=center bgcolor="#595791">
Line 99: 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 105: 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 127: 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>
 +
 +
'''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.
  
 
[[Category:Subversive]]
 
[[Category:Subversive]]

Latest revision as of 08:52, 16 October 2008

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.

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.

Categorized tasks

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]

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]

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]

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)

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]

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.