¿Cómo sugiere que una aplicación Java, o cualquier otra aplicación de terceros escrita en cualquier idioma, interactúe con una herramienta back-end, como SVN / GIT?

Así que estoy buscando implementar un contenedor para SVN en C #, me pregunto cuál es la mejor manera de interactuar con el backend SVN a través de la aplicación contenedora.

¿Alguna sugerencia?

Lo primero que vino a mi cabeza fue usar shell directamente para manipular SVN. Me pregunto si hay methods alternativos 🙂

¡Gracias!

Puede echar un vistazo a SubversionSharp, que es una implementación de C # si la API del lado del cliente SVN. Para cualquier otro idioma, tomaría el mismo enfoque: ver si ya está disponible una implementación nativa del protocolo. Si es así, úsalo. De lo contrario, vea si el protocolo está lo suficientemente bien documentado como para implementarlo usted mismo. Solo si ese no es el caso, o si el time es realmente escaso, retroceda para envolver al cliente de la command-line.

Echa un vistazo a sharpsvn .

Las bibliotecas del cliente de subversión, tal como las utiliza Tortoise y los diversos clientes de la command-line, tienen una API publicada; consulte http://svn.collab.net/svn-doxygen y http://svnbook.networking-bean.com/en /1.1/ch08s02.html .

Las API son mucho más seguras que la interacción de command-line, si puedes encontrar las adecuadas. Si decide ir por la ruta de la línea de command, sea EXTREMADAMENTE cuidadoso y filtre todo usando lists blancas, o alguien vendrá y lo hará suyo svn co'ing un file llamado ; rm -rf / ; rm -rf / .