2009-10-09 29 views
9

En subversión, ¿hay un comando para listar todos los repositorios disponibles registrados en un host en particular? Por ejemplo, en clearcase, un "cleartool lsvob" me daría la lista de todas las bases de datos versionadas en una región determinada. No he podido encontrar nada parecido a esto en la subversión.Listar todos los repositorios SVN

Gracias

+0

svn list funciona. Como se describe en la url a continuación - http://stackoverflow.com/questions/1541577/listing-all-svn-repositories – rajneesh

+0

@rajneesh, ese comando no funciona para mí. Estoy usando Visual SVN Server 1.9.4. Además, la URL que proporcionó solo enlaza con esta pregunta. (No estoy seguro si alguien lo cambió desde que publicó ese comentario.) – Sam

Respuesta

6

No. Cada depósito de la subversión es independiente y no sabe nada de los demás. No habría forma de localizar todos los repositorios de subversión.

Nos mantener a todos nuestros repositorios en una ubicación estándar (/data/svn) y fácilmente y programáticamente puede enumerar todos los repositorios:

ls /data/svn 

o desde un sistema remoto:

ssh svn ls /data/svn 
+0

OK gracias. Hacemos lo mismo aquí, pero mi pregunta pertenecía a algunas redes heredadas que tengo a mano, y no sé nada sobre cómo se configuró, etc. Gracias por la respuesta. –

+0

Ver mi respuesta. Las búsquedas exhaustivas funcionan. – BobC

+0

@BobC: No realmente. Aunque podría ser una forma viable de lograr algo similar, solo funciona si todos sus repositorios están en un sistema de archivos (y no hay ninguna razón por la que tengan que usar un sistema de archivos). La verdadera respuesta es que no puede hacerlo porque los repositorios son independientes, no existe dicho comando de subversión. –

1

Puede crea repositorios de subversión en cualquier lugar de tu servidor y no están vinculados entre sí.

En mi servidor pongo todo en/var/svn/entonces puedo listar todo el repositorio usando ssh y enumerar este repositorio.

5

SVN repos tienen una estructura distinta (/ conf,/hooks,/db,/locks), por lo que busca uno si sus componentes serían un comienzo.

Si localizar/updatedb se instala y actual:

locate /db | grep /db$ 

o por una búsqueda exhaustiva:

find/-type d | grep /db$ 

Una búsqueda más sofisticado sería comprobar si el conjunto completo de componentes.

0
$ find -iname .svn 

En él se consignarán todos los directorios de trabajo en un host

Cuestiones relacionadas