2009-12-28 15 views
8

¿Hay alguna envoltura API para Git y Subversion para Java?¿Java tiene envoltorios API alrededor de subversión y Git?

Quiero ser capaz de extraer los conjuntos de cambios y el código fuente (y diffs) de los repositorios Subversion y Git.

¿Esto es posible? ¿Alguna API preconstruida?

+2

¿Qué palabras clave le pidió a Google? –

Respuesta

6

Una rápida búsqueda en Google encontró algunos resultados, aunque no puedo decir que he utilizado por lo que su utilidad se desconoce

  • JavaGit: ". JavaGit es una API Java que proporciona acceso a los repositorios Git Nuestro El objetivo es proporcionar a la biblioteca una API fácil de usar que sea intuitiva para los desarrolladores nuevos de git y los desarrolladores que son usuarios veteranos de git ". De acuerdo a sus preguntas más frecuentes que sólo utiliza el comando git línea de comandos detrás de las escenas
  • JGit: Una implementación de git en Java
  • svnkit: Implementación de SVN en Java.
+1

Es algo sospechoso que los desarrolladores de JavaGit usen svn para alojar el proyecto. – shabunc

+0

Puedo responder por svnkit. Lo he usado para conectar con nuestro svn repo como parte de nuestro proceso de implementación. Lo único que comentaría es que es un poco raro de usar. Pero una vez que descubres lo que espera, funciona bien. –

3

jGit es una implementación de git en Java.

SvnClientAdapter se conectará a SVN utilizando varios métodos diferentes.

+0

Necesito conectarme a GIT, no volver a implementar GIT en Java? o es eso un contenedor de API? – mrblah

1

Consulte svnkit para una implementación de subversión basada en Java. También hay enlaces de subversión a java distribuidos con subversión en http://subversion.tigris.org/

jgit tiene una implementación de java para git.

1

JGit es una implementación de Git, por lo que si solo está buscando una API que se dirija a la implementación nativa de git, no servirá.

JavaGit simplemente no funciona. Lo intenté en win64 con msysgit 1.8.1 y, ... bueno, simplemente no funciona. Probablemente fue probado bajo otro sistema operativo y la versión anterior de git. Uno puede seguir adelante y corregir JavaGit para sus propósitos: el código está lejos de ser complejo. Sin embargo, la madurez de la fuente no es impresionante: hay trozos no implementados, tragos excepcionales, etc. Yo diría que es un proyecto sin terminar por personas bien intencionadas.

Quizás otra alternativa sea tomar la clase de comando git de http://plugins.jetbrains.com/plugin/3033 y desacoplarla de la infraestructura de intellij. Eso es algo que yo buscaría.

Es siempre una opción, si sus casos de uso son simples, para poner en práctica su propio API, tal vez la reutilización de una biblioteca de abstracción de comandos tales como http://commons.apache.org/proper/commons-cli/

Espero que esto ayude.

Cuestiones relacionadas