Sincronización SVN y SFTP con eclipse

Tengo que crear y configurar un eclipse (Mars 2) para un proyecto de C. El proyecto está en un repository SVN, y solo se puede comstackr en un server de networkinghat de Linux específico que tenga la cadena de herramientas adecuada.

Lo que necesito es un IDE que me permita confirmar mis cambios en el repository y que los sincronice automágicamente en el server Linux. Intenté algunas cosas pero ninguna de ellas funcionó. Debo (para mi gran pesar) evitar la necesidad de un terminal mientras uso ese IDE, pero por supuesto no mientras lo configura.

En primer lugar, utilicé la function Remote System Explorer en eclipse. Me conecté con éxito al server, creé un "Proyecto remoto" que pude abrir en la perspectiva de C / C ++. Sin embargo, todo es imposible de usar, ya que no tiene indexing, tuve que crear "Acciones de usuario" para comstackr (que es mi punto de vista bastante anti-ergonómico) y el complemento SVN no detecta el proyecto como una copy SVN. Además, en la perspectiva de C / C ++, hay una brecha de 2 segundos entre el momento en que escribo algo y el momento en que aparece en mi pantalla.

También intenté montar un sistema de files de networking en mi máquina local, con sshfs, y si funciona mucho mejor, todavía tengo retrasos. Además, tuve que escribir un Makefile y llamar a mi comstackdor a través de "ssh $ (USER) @ $ (HOST) build.ksh". (uno de los puntos del proyecto es escribir un Makefile real …). Pero SVN está funcionando.

También traté de ejecutar eclipse en la máquina host, con X reenvío, y si funciona perfectamente, todavía hay retrasos …

Finalmente, probé una synchronization sftp, pero parece que no puedo usar mis funciones SVN plugin y sftp juntas.

Estoy sin soluciones, y bastante frustrado porque siento que este tipo de cosas deberían ser bastante fáciles. Quiero decir, todo lo que quiero es que eclipse copie automáticamente mis files en mi directory personal remoto … Gracias por su ayuda …

Para mí, esto suena como un caso de uso perfecto para un sistema de continuous integration (IC). En términos generales, este sistema de CI extrae el código de su repository (por ejemplo, en intervalos regulares) y luego ejecuta la cadena de compilation, recostack artefactos, le informa sobre el estado de su compilation, etc.

A pesar de que se originó en el mundo de Java, he utilizado con éxito Jenkins para la continuous integration de C-projects en un server Linux, pero hay otros, como TeamCity o GitLab CI (este último requeriría que cambies a Git, pero es realmente sistema orderado con una configuration YAML para CI).

Por supuesto, los sistemas de CI tienen una curva de aprendizaje; no se trata de algo así como una comida gratis, pero realmente puede valer la pena el esfuerzo.