tigris subversion plugin oxygen for descargar connectors configurar eclipse svn eclipse-plugin

subversion - svn connector eclipse oxygen



Desarrollo de complementos de Eclipse: obtención de información del proveedor del equipo (3)

Soy muy nuevo en el desarrollo de complementos de eclipse. El obstáculo más grande que estoy enfrentando ahora es dónde / cómo obtener los datos de varios otros complementos. Me está costando mucho encontrar documentación para esto. Por ejemplo, el complemento Proveedor de equipo ...

  1. ¿Cómo leo la revisión svn de un archivo? Digamos que tengo un IResourceChangeListener y quiero hacer un seguimiento del número de revisión svn de un archivo (si el usuario hizo una actualización, por ejemplo).
  2. Si quiero preguntarle a svn si hay actualizaciones pendientes para un proyecto, ¿cómo hablo con el proveedor del equipo eclipse?

No estoy seguro de por donde empezar...

¡Gracias!



Para obtener información general sobre Team API en la plataforma Eclipse, revise la documentación en el sistema de ayuda.

http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/team.htm

(Si está trabajando con el material del suscriptor, parece que se menciona en el tema "Soporte de sincronización" -> "Más allá de lo básico").

El documento de Java para los paquetes de equipo también ayuda a:

http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/team/core/package-summary.html

Si intenta integrar o ampliar los proveedores de Subclipse o Subversive Team, puede que tenga más suerte haciendo su pregunta en sus foros:

http://subclipse.tigris.org/ds/viewForums.do

http://www.eclipse.org/subversive/newsgroup.php


Finalmente descubrí lo que estaba buscando después de muchas horas de búsqueda. Lamentablemente, dado que tengo menos de 100 rep. No he podido publicar hasta ahora ...

Estoy haciendo un pequeño progreso en esto. Al azar tropecé con esto mientras vertía a través del código fuente de eclipse.

El siguiente fragmento de código supervisa todo lo que sucede con respecto a un proyecto habilitado para svn. Si guarda un archivo, a una actualización, revertir etc. Cualquier cosa que toque los archivos o los metadatos de los archivos. Simplemente imprimo el nombre del archivo / direcory y su número de revisión.

Versión subversiva:

final Subscriber subscriber = UpdateSubscriber.instance(); subscriber.addListener(new ISubscriberChangeListener() { @Override public void subscriberResourceChanged(ISubscriberChangeEvent[] events) { for(ISubscriberChangeEvent event : events) { UpdateSyncInfo info = (UpdateSyncInfo) subscriber.getSyncInfo(event.getResource()); System.out.println(event.getResource().getName()+" revision: "+uInfo.getLocalResource().getRevision()); } } });

El verdadero truco fue averiguar el punto de entrada para obtener esta información: UpdateSubscriber. Sería bueno si hubiera un buen recurso para encontrar este tipo de información.

Versión de Subclipse:

private static final Subscriber subscriber = SVNWorkspaceSubscriber.getInstance(); private static final ISubscriberChangeListener subsciberListener = new ISubscriberChangeListener() { @Override public void subscriberResourceChanged(ISubscriberChangeEvent[] events) { try { for (ISubscriberChangeEvent event : events) { SVNStatusSyncInfo info = (SVNStatusSyncInfo) subscriber.getSyncInfo(event.getResource()); System.out.println(event.getResource().getName() + " revision: " + info.getRepositoryRevision()); } } catch (TeamException e) { } } }; @Override public void start(BundleContext context) throws Exception { super.start(context); subscriber.addListener(subsciberListener); } @Override public void stop(BundleContext context) throws Exception { subscriber.removeListener(subsciberListener); super.stop(context); }