Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-team-dev] Tighter integration of CVS components into Team API

Comments added to bug report...
Cheers,
Jean-Michel

platform-team-dev-admin@xxxxxxxxxxx wrote on 01/03/2005 01:55:45 AM:

> Tighter integration of CVS components into Team API
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=82074
> 
> Team/CVS Developers,
> 
> I'm a contributor to the open source ClearCase plug-ins for Eclipse and
> recently started using the subclipse plug-ins. I noticed a lot of code
> duplications during the ClearCase development and I found a lof of
> similarities in the subclipse plug-ins.
> 
> IMHO the CVS compontent contains a lot code that should be generalized
> and moved to the team component. Currently the development of new team
> plug-ins is extremly time consuming. Developers has to implement a lot
> of components themself and need a high level knowledge of Eclipse
> development.
> 
> They need to implement a lot of things themself:
> * repository provider
> * move/delete hook
> * modification listener
> * preference pages
> * decorator with preference page
> * repository view
> * history view
> * diff/merge view
> * version tree
> * synchonrization participants
> 
> This a very expensive path. It's time consuming and prone to errors.
> 
> When speaking of the open source ClearCase integration, all this can be
> generalized by providing all these components through a the team
> component and simply moving the SCM dependen API to a single interface.
> Thus, team plug-in providers only need to implement ONE simle interface
> and register it as extension. I expect also the Subversion plug-ins to
> benefit from this. New features (such as the preview for the label
> decorator) would be available to all plug-ins immediately.
> 
> The interface could look like:
> 
> public interface ISCMInterface {
> 
>     /**
>      * Adds a file to the repository the parent container belongs to.
>      *
>      * @param file
>      *     the file to add
>      * @param pm 
>      *     the progress monitor  (maybe <code>null</code> if not
> cancelable)
>      * @param comment 
>      *     the changelog comment (maybe <code>null</code>)
>      * @param hints
>      *     HINTS for performing the operation
>      *     <ul>
>      *         <li>FORCE</li> - force the operation (will also add
> parents if necessary)
>      *         <li>COMMIT</li> - commit after successful add
>      *     </ul>
>      * @return resource status containing the new resource information
> (such as version info, modification state) of all changed resources.
>      * @throws TeamException if the operation failed
>      */
>     ISCMResourceStatus[] addFile(IFile file, IProgressMonitor pm, int
> hints) throws TeamException;
> 
>     ....
> }
> 
> _______________________________________________
> platform-team-dev mailing list
> platform-team-dev@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/platform-team-dev



Back to the top