una tutorial trabajo tortoise tag subversion repositorio español crear copia comandos svn search code-search-engine

trabajo - svn tutorial español



Búsqueda de repositorio SVN (14)

  1. Crea el espejo git-svn de ese repositorio.
  2. Busque secuencias agregadas o eliminadas dentro de git: git log -S''my line of code'' o lo mismo en gitk

La ventaja es que puede realizar muchas búsquedas de forma local, sin cargar el servidor y la conexión de red.

¿Hay algún buen software que me permita buscar en mi repositorio SVN fragmentos de código? Encontré ''Ojo de pez'' pero el costo es de 1.200 y está muy por debajo de mi presupuesto.


// Editar: La herramienta ya fue mencionada en otra respuesta, así que dale todos los créditos a Kuryaki.

Acabo de encontrar http://www.supose.org/wiki/supose que es una herramienta de línea de comandos basada en Java que escanea un repositorio para crear un índice y luego puede responder a ciertos tipos de consultas. Todavía estamos evaluando la herramienta, pero parece prometedor. Vale la pena mencionar que hace un índice completo de todas las revisiones, incluidos los archivos de código fuente y los formatos de oficina comunes.


A partir de Subversion 1.8, puede usar la opción --search con svn log comando svn log . Tenga en cuenta que el comando no realiza búsquedas de texto completo dentro de un repositorio, solo considera los siguientes datos:

  • autor de la revisión ( svn:author propiedad no versionada del svn:author ),
  • fecha ( svn:date propiedad no versionada),
  • texto de mensaje de registro ( svn:log propiedad no versionada de svn:log ),
  • lista de rutas modificadas (es decir, rutas afectadas por la revisión en particular).

Aquí está la página de ayuda sobre estas nuevas opciones de búsqueda:

If the --search option is used, log messages are displayed only if the provided search pattern matches any of the author, date, log message text (unless --quiet is used), or, if the --verbose option is also provided, a changed path. The search pattern may include "glob syntax" wildcards: ? matches any single character * matches a sequence of arbitrary characters [abc] matches any of the characters listed inside the brackets If multiple --search options are provided, a log message is shown if it matches any of the provided search patterns. If the --search-and option is used, that option''s argument is combined with the pattern from the previous --search or --search-and option, and a log message is shown only if it matches the combined search pattern. If --limit is used in combination with --search, --limit restricts the number of log messages searched, rather than restricting the output to a particular number of matching log messages.


Dolorosamente lenta (y crudamente implementada) pero una combinación de svn log y svn cat funciona si está buscando el historial de archivos individuales o pequeños repositorios:

svn log filetosearch | grep ''^r'' | cut -f1 -d'' '' | xargs -i bash -c "echo ''{}''; svn cat filetosearch -''{}''"

dará salida a cada número de revisión donde el archivo cambió y el archivo. Siempre puedes incluir cada revisión en un archivo diferente y luego grep para los cambios.

PD. ¡Votos masivos a cualquier persona que me muestre cómo hacer esto correctamente!


Empecé a usar esta herramienta

http://www.supose.org/wiki/supose

Funciona bien simplemente careciendo de una interfaz de usuario visual, pero es rápido y algo mantenido


Este ejemplo canaliza el contenido completo del repositorio a un archivo, que luego puede buscar rápidamente nombres de archivo dentro de un editor:

svn list -R svn://svn > filelist.txt

Esto es útil si el repositorio es relativamente estático y desea realizar búsquedas rápidas sin tener que cargar todo repetidamente desde el servidor SVN.




Muchos repositorios SVN son sitios HTTP "simplemente", por lo que puede considerar buscar en una aplicación de búsqueda "rastreador web" que pueda apuntar a la raíz SVN y le proporcionará una funcionalidad básica. Actualizarlo probablemente sea un truco, tal vez algún cheque SVN en hackeo puede hacer cosquillas en el índice para descartar o reindexar los cambios sobre la marcha.

Solo pensando en voz alta.


Si estás realmente desesperado, haz un volcado del repositorio (mira "svnadmin dump") y luego grep a través de él. No es bonito, pero puede mirar alrededor de los resultados de la búsqueda para encontrar los metadatos que indican el archivo y la revisión, luego verifíquelos para verlos mejor.

No es una buena solución, sin duda, pero es gratis :) SVN no proporciona ninguna función para buscar registros pasados ​​(o incluso archivos de registro pasados, AFAIK).


Si solo busca el nombre del archivo, use:

svn list -R file:///subversion/repository | grep filename

Windows:

svn list -R file:///subversion/repository | findstr filename

De lo contrario, finalice la búsqueda y realice la búsqueda en el sistema de archivos:

egrep -r _code_ .


Solo una nota, FishEye (y muchos otros productos de Atlassian) tienen una edición inicial de $ 10, que en el caso de FishEye te ofrece 5 repositorios y acceso para hasta 10 committers. El dinero va a la caridad en este caso.

www.atlassian.com/starter



hay krugle y koders, pero ambos son caros. Ambos tienen complementos ide para eclipse.