Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse-dev] Important changes in Team, CVS support - natures

Hi Dejan,

No worries - it will not affect it; the method has been modified to work 
with the new 'way'.

Kevin





dejan@xxxxxxxxxx
Sent by: eclipse-dev-admin@xxxxxxxxxxx
06/12/2002 09:30 AM
Please respond to eclipse-dev

 
        To:     eclipse-dev@xxxxxxxxxxx
        cc: 
        Subject:        Re: [eclipse-dev] Important changes in Team, CVS support - natures

Kevin,

Will this affect the following call:

RepositoryProvider.getProvider(project)

PDE critically depends on this call in order to determine if the project 
is
shared or not.

Regards,

Dejan Glozic, Ph.D.
Application Development
D2/MY7/8200/MKM
IBM Canada Ltd.
Tel. 905 413-2745  T/L 969-2745
Fax. 905 413-4854



  
                    "Kevin McGuire"   
                    <Kevin_McGuire@oti.       To: eclipse-dev@xxxxxxxxxxx, 
platform-vcm-dev@xxxxxxxxxxx 
                    com>                      cc:    
                    Sent by:                  Subject:     [eclipse-dev] 
Important changes in Team, CVS support - natures 
                    eclipse-dev-admin@e   
                    clipse.org   
  
  
                    06/12/2002 02:57 AM   
                    Please respond to   
                    eclipse-dev   
  
  



Overview
========

We no longer use natures to mark a project as being under CVS control.
As of next build and from hereon, when sharing a project with CVS, you
won't get the nature in the .project, so don't be surprised by its 
absence.

For those with existing workspaces with CVS projects, the regular CVS 
menus
won't show up in the Team menu by default.  See below to see what you need
to do to convert your project.

If you are a repository provider writer, also see below.


General Discussion
=================

Team has been using core IProjectNatures to denote which projects are 
under
version control, and by which provider.  This has given us numerous
filtering capabilities in the UI.

However, because the natures are stored in the .project, there are various
cases under which the appearance of a team nature gives "false positive"
indications of the project being under version control, when really it
isn't.  For example, if you export a CVS project to the file system then
re-import it under a different name, the new project will have the CVS
nature yet won't be under version control.  This case is true for any
provider.  Other problems occur if the .project is merged or otherwise
modified to no longer have the provider nature.

Very recently, the UI team has added support for filtering by persistent
property.  We have added code to take advantage of this in Team for 
marking
a project with a provider.


CVS Users
===========

Our CVS provider will now use this alternative mechanism.  We've also
changed the filtering rules for our CVS menus and property page to make 
use
of it.  Since persistent properties are stored with the workspace 
metadata,
the projects will "remember" they are CVS projects across workbench
sessions.  However, projects exported from Eclipse will (now correctly) no
longer be marked as being under version control.  Projects will now be
marked as under CVS control when you initially share them, or when you
export them from the repository.

Existing CVS projects in old workspaces with new builds will be missing
their CVS menu items and CVS property page until the projects have been
converted (because the filtering key has been changed).  This can be done
in one of two ways:

1. Checkout the project overtop the existing one
2. Use the "Convert Nature to Property" menu that will appear in CVS
projects with natures.  Since the menu is filtered by the cvsnature, once
the nature is removed the menu will no longer appear.

The second item will not only add the persistent property so that the 
usual
CVS menus will appear, but will also remove the cvsnature from the
.project.  This modified .project can then be committed to the repository.
Care must be taken if other members of the team have not updated to the 
new
build and if they CVS update their .project: depending on how they do 
this,
their project may no longer be considered a CVS project in their 
workspace.

Once a project has been updated to have the persistent property, the
presence or absence of a cvsnature in the .project will have no 
consequence
in the workspace.


Repository Providers
==================
The changes have been made in a backwards compatible manner: natures
continue to work as a means to mark the project with your provider.
However, we strongly encourage providers to switch to the new mechanism
since this will be the "official" way of marking yourself a provider.

More details will be sent out (via the vcm mail list) within the next day
to describe the new API and steps to convert.  The changes are relatively
minor on the provider's part.


Cheers,
The Team team


_______________________________________________
eclipse-dev mailing list
eclipse-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/eclipse-dev



_______________________________________________
eclipse-dev mailing list
eclipse-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/eclipse-dev





Back to the top