¿Control de revisión distribuida con synchronization automática o un plugin de Eclipse mejor que FileSync?

Tengo lo que espero que no sea una situación única …

… y estoy buscando sugerencias.

Estoy buscando un mejor complemento de synchronization para Eclipse que FileSync

-o-

Estoy buscando un sistema de control de versiones distribuido (preferiblemente) que nos permita a mí y a los otros desarrolladores de mi equipo trabajar con files locales y hacer que ese repository cargue automáticamente los cambios y el historial de revisiones en nuestra caja de desarrollo.

-o-

Una combinación de los dos.


La mayoría de las aplicaciones de control de revisiones que he probado están más orientadas al flujo de trabajo del código comstackdo, donde solo ingresas cuando tienes una base de código comstackda, y eso tiene sentido para mí. Sin embargo, estamos trabajando con páginas de Coldfusion en un server de desarrollo remoto que complica el process de check-ins, actualizaciones rápidas y debugging. Ahora, no necesariamente quiero tener que registrarme cada vez que quiero probar el código (porque eso sería una pesadilla …) pero sería bueno tener algo que rastree los cambios durante el día y registre esos cambios en un control de revisión automáticamente (¿Dev indicaría la intención en el dialog al abrir el proyecto?) mientras mantiene los files en el server de desarrollo sincronizados con todas las máquinas del progtwigdor. Sería increíble si realizara un seguimiento local de los cambios y realizara un logging automático por día (en algún momento progtwigdo, preferiblemente como un process en segundo plano), pero no he visto nada como esto.

Actualmente estamos acostumbrados a usar Serena PVCS (porque tienen licencias libres principalmente) y no es una solución muy rápida cuando todos trabajamos en diferentes estados, nuestro server de desarrollo está en un estado en el que ninguno de nosotros trabaja, y el repository está en un estado aún diferente. (¡Sin control sobre esto!) Normalmente, Eclipse tarda entre 10 y 15 minutos en sincronizar ~ 500 files con el server de PVCS y los loggings se ralentizan "Eclipse-lockingly". (es decir, cuando se registre, olvídese de usar Eclipse para cualquier cosa).

Me gustaría tener un process de flujo de trabajo que administre todos nuestros files de trabajo a nivel local, sincronice esos cambios con un server de desarrollo remoto y elimine cualquier cambio que esté sucediendo allí. No cuento con tener ninguna / muchas fusiones conflictivas durante esto porque todos trabajamos en diferentes partes del mismo sitio. Sin embargo, puede suceder.

He jugado con Bazar, y esto es lo que me hizo pensar en tener un sistema de revisión distribuida, pero me gustaría tener esa fusión automática con el repository remoto (el server de desarrollo en este caso) y no encontré un forma de hacerlo cuando los files locales se actualizaron. Tendré que admitir que no he investigado mucho sobre Git o Mercurial y esperaba que alguien pudiera compartir su experiencia conmigo en sets de características o soluciones si alguna de estas otras opciones funciona.

Para dar un historial atrasado, esto ocurrió cuando uno de nuestros desarrolladores comenzó a usar FileSync en Eclipse y comenzó a sobrescribir todos nuestros cambios porque el complemento Eclipse FileSync es solo de una forma … desde el cuadro dev al server. Boss preguntó por qué no nos estábamos registrando todo el time … culpamos a la velocidad … Me dieron la tarea de encontrar una solución.

Además, una solución centralizada como SVN ya fue rechazada (porque tenemos Serena y un equipo de personas que se supone que deben manejar esto … pero he estado esperando dos días incluso para recibir una respuesta a un logging de problemas que envié en relación con nuestra falta de velocidad, por lo que si podemos autogestionar una solución [así distribuida y por qué miré a Bazar] sería increíble.)

Un DVCS como Git o Mercurial definitivamente sería una elección sensata, especialmente para:

  • desarrollo distribuido
  • repos distribuidos (incluido uno dedicado a esos controles tuyos)

Esa noción de repos específico no es nueva y se ha utilizado antes ( para el repository local utilizado para las testings antes de enviar a un repository remoto ), pero puede adaptarse fácilmente para el tipo de empuje automático que está buscando.

Para una integración fuerte de Eclipse, me gustaría ir con Git (aunque EGit aún no está completamente procesado ): todos los proyectos de Eclipse (para el desarrollo de Eclipse) están o estarán en git repo .
Eclipse se compromete a replace su integración CVS nativa actual con una integración nativa completa de Git.