Back to Archived Releases

CVS 2.1 Plan

2.0.1 Maintenance effort

  • Corresponding sources are released in branch "R2_0_1".
  • Plug-in revision ID got changed to "2.0.1". 
  • Bugs fixed in 2.0.1
  • To find the latest Eclipse development on the 2.0.1 branch please go here

2.1 Development Effort - Milestone 1 (September 20, 2002)

2.1 Development Effort - Milestone 2 (October 18, 2002)

2.1 Development Effort - Milestone 3 (November 15, 2002)

2.1 Development Effort - Milestone 4 (December 13, 2002)

2.1 Development Effort - Milestone 5 (February 7, 2003)

To see how bugs are prioritized and categorized for VCM, check out VCM Bug Tracking

2.1 and beyond

This is a list of areas that we have identified as potential work items for CVS in Eclipse 2.1 and beyond. Please note that this list is what has been identified so far as potential work areas and does not represent a commitment from the VCM team. See milestone planning for curent work items.

2.1 Items

  1. CVS folder appearing: we have cases where the CVS folders are appearing. This can happen if someone uses an external CVS client then refreshes in Eclipse and our plugin isn't loaded. However, it seems there are other cases.
    • Issue: we currently rely on pre-build delta notification to mark the resources are team-private but this puts us in a race condition with other listeners.
    • Issue: once a resource is known to the views, marking it as team-private doesn't remove it since there is no delta.

    Status: We have done all we can without delta notification support. There is an plugin available here that loads on startup and marks CVS folders as hidden. We are investigating the possibility of obtaining the required delta notification support.

  3. Config maps: there has been interest from the community here, and one group who are willing to contribute the work to Eclipse.

    Status: We have received a contribution from the community in this area. Will need to investigate how to best make this available.

  5. Performance: some operations can probably still be improved. Decorators can be improved a bit.

    Status: Here is a list of specific performance improvements:
    • Use of lightweight decorators.
    • Reduced memory usage by CVS plugin.
    • Reduce startup time (still to be completed)
    • Several localized optimizations.

  7. Better modules support:

    Status: Several improvements related to support of CVS modules have been added.
    • "Checkout Into..." can be used from the CVS Repositories view to check out a folder into an existing project.
    • Folders, such as those loaded using "Checkout Into...", can be disconnected from CVS control from the folder's CVS properties page, allowing the folder to be removed from a local project without resulting in outgoing deletions.
    • A project shared with CVS can now be configured to not fetch absent directories on update (i.e. previously, "cvs update" was always performed with "-d". Now a project can be configured to perform updates without "-d").

  9. Repository view: current one is barely useful

    Status: Without changing the organization of the view, we have added some improvements. For instance, the view supports working sets and only shows projects under a branch that are known to be in the branch.

  11. CVS working sets - queries (investigate): we are interested in being able to create working sets for CVS usage, eg. to show all the dirty resources. We haven't thought this through far. The 2.1 work item is to investigate this.

    Status: The working sets provided by the workbench are inappropriate for this use. A new mechanism that would be able to filter the resources in a view by criteria provided by other plugins is required.

Items that may be 2.1 or 3.0

  1. Useability: some CVS dialogs and wizards, for example the Tag Configution dialog and Set Keyword Mode Wizard, whose usability could be improved. We'll try to do what we can in 2.1 but most work will probably be done in 3.0.

    Status: Not addressed in 2.1

  3. Sync info and dirty decorators: We discussed this in 2.0 but didn't go forward with it. The problem is that to determine if a project is dirty we must read in the sync info for every subfolder. This is expensive, defeats late caching of sync info, and doesn't scale for large projects or slow drives (e.g. network drives).

    Status: A cache was added to improve dirty foilder and file determination

  5. Watch/Edit: we will proceed on this for 2.1 if we have community involvement (we are not familiar with the usual workflows so have asked for community guidance). Otherwise its 3.0.

    Status: Low-level support for this was added along with Team>Edit and Team>Unedit menu items. Further work is being contributed by the community.

3.0 Items

  1. Split the sync view: We've talked about splitting it up so that the sync part is a view, the edit area is an editor, and the resource outline is an outliner view.

  3. End-user customization of CVS strings: This refers to the strings we receive from the server and match against to determine what is going on. Sometimes CVS users will customize their CVS server and this can change the messages it sends us. Our pattern matching then fails. Usually the changes are innocuous (ie. the semantics are the same, we just fail the string matching). Idea is to externalize these so clients can customize them to match their server. This assumes that all required customization can be achieved against regular expression patterns - we don't have enough experience with server customization to know if this is sufficient.