que - tortoise svn server
Cómo mostrar la lista de repositorios del servidor de subversión (7)
Estoy buscando una forma de buscar un servidor de subversión completo.
Ya tengo una pieza del rompecabezas para buscar dentro de un repositorio . Ahora necesito hacer esto para cada repositorio.
Actualizar:
Tengo que acceder a esta lista desde algún script de shell de Unix (perl, bash, etc.)
Si su servidor es Apache, debe poder configurarlo para ver la lista de repositorios con viewvc ; este es el más básico, existen otras interfaces más complejas, pero este no es su propósito aquí.
En algunas versiones, ViewVC es ahora una opción de la instalación estándar, por ejemplo de Collabnet.
Editar : No importa mi idea anterior, Peter tiene una forma mucho más simple de enviar la lista de repositorios.
A partir de ahí, deberá:
- obtener la página HTML,
- extraer la lista, y
- procesarlo para la búsqueda de repositorio individual.
Desafortunadamente en este caso no puedo pensar en algo más sencillo.
Hay ejemplos en SO sobre cómo extraer texto de páginas HTML en Python , esta sería una buena opción ya que Python también tiene enlaces para SVN, para realizar la búsqueda del repositorio; aún así puede llamar a svn
directamente desde Python, si lo prefiere.
Si Python no es su taza de té, tendrá que procesarlo de manera diferente con las herramientas de GNU (wget, luego analizar herramientas o paquetes existentes; no puedo ser de mucha ayuda allí, Carl le dio más detalles en esta publicación).
¿Su acceso a SVN no funciona como un servicio web? Cuando accedo al directorio superior de mi servidor SVN, obtengo una página que es esencialmente una tabla de contenido de las obras completas. Es una lista desordenada que puedo escanear simplemente.
EDITAR: Así es como lo haría desde la línea de comando:
wget http://user:password@svn-url/ -O - | grep /<li/>
A veces es posible que desee comprobar en la marca de tiempo para cuando se actualizó el repositorio, para obtener esta información práctica puede usar la opción svn -v (verbosa) como en
svn list -v svn://123.123.123.123/svn/repo/path
En mi empresa no configuraron el servidor para proporcionar una lista de repositorios, por lo que svn list
funcionó para un repositorio específico pero no a un nivel superior para listar todos los repositorios.
Sin embargo, instalaron FishEye, que le proporciona una GUI que enumera los repositorios https://www.atlassian.com/software/fisheye
Es una opción paga, por lo que no es para todos, pero la funcionalidad es agradable.
Si conoce su camino en Java, puede usar SvnKit para navegar, buscar y sabe Dios qué con su servidor de Subversion.
Después de eso, puede empaquetar su programa e invocarlo a través de una tarea Ant o un script de shell.
Es una solución bastante "de fuerza bruta", pero una vez que dominas SvnKit, puedes hacer muchas cosas geniales.
Si habilita svn a través de apache y una directiva SVNParentPath , puede agregar una directiva SVNListParentPath On a su ubicación svn para obtener una lista de todos los repositorios.
Su apache conf debe ser similar a esto:
<Location /svn>
DAV svn
SVNParentPath "/net/svn/repositories"
# optional auth stuff
SVNListParentPath On # <--- Add this line to enable listing of all repos
</Location>
También estaba buscando hacer una lista de repositorios en SVN. Hice algo como esto en el intérprete de comandos de shell:
~$ svn list https://www.repo.rr.com/svn/main/team/gaurav
Test/
Test2/
Test3/
Test4/
Test5/
Test6/