2009-11-06 17 views
17

¿Hay alguna manera de buscar un archivo en un repositorio de subversión?¿Cómo buscar un archivo en el servidor de subversión?

Algo similar al comando Unix 'find, con el que puedo encontrar la ubicación de un archivo en un repositorio.

Sé que hay svn list, pero esto me da una lista de todos los archivos en un directorio. Quiero encontrar el directorio de un archivo está en

+0

¿En qué plataforma se está ejecutando? –

+0

Alguna versión de Solaris. – lamcro

Respuesta

25

Usted puede utilizar el siguiente comando, junto con un grep, en el servidor:.

svnlook tree --full-paths <repository path> | grep <file> 

Esa es la opción más rápida si usted tiene que mirar en un gran repositorio.

Si sólo tiene acceso a la parte del cliente, de nuevo con un grep:

svn list -R <URL> | grep <file> 

debe hacer lo que necesita.

Ambos recurrirán a través de los directorios, sin embargo, con el cliente puede comenzar en otro lugar que no sea la raíz del repositorio, pero será algo más lento ya que la información debe pasar por la red (posiblemente).

Editar: También, tanto le da la opción de buscar a una revisión pasado (se suprima el archivo):

  • svn list -R -r <revision/revision range> <URL> y
  • svnlook tree -r <revision> <path>.

Simplemente escriba svn help list o svnlook help tree para obtener más información.

+0

Como comentario, todavía me gustaría que hubiera un comando 'find' real, simplemente porque tendría sentido. – RedGlyph

+0

¿Funciona esto para ramas/troncos? – lamcro

+0

Sí, 'svnlook' comienza desde la raíz y lista _everything_. 'svn list' le permite elegir el punto de partida, ya sea el nombre de su repositorio (raíz) o un subdirectorio específico como una rama. – RedGlyph

Cuestiones relacionadas