tag - revertir cambios svn
¿Cómo puedo buscar en un repositorio svn la existencia de archivos en cualquier revisión? (3)
¿Cómo puedo buscar si un archivo llamado foo.txt
alguna vez fue foo.txt
a mi repositorio svn (en cualquier revisión)?
Haga clic derecho en la raíz de la carpeta desprotegida> TortoiseSVN> Mostrar registro
También puede ingresar nombres de archivos allí.
Use Subversion 1.8+ client y new --search
y --search-and
opciones estén disponibles para svn log
comando svn log
. Estas opciones no permiten realizar búsquedas de texto completo dentro de un repositorio y solo busca los siguientes datos:
- autor de la revisión (
svn:author
propiedad no versionada delsvn:author
), - fecha (
svn:date
propiedad no versionada), - texto de mensaje de registro (
svn:log
propiedad no versionada desvn:log
), - lista de rutas modificadas (es decir, rutas afectadas por la revisión en particular).
Por lo que supongo, puede buscar "foo.txt" con la siguiente línea de comando:
svn log -v --search "foo.txt"
.
Aquí está la página de ayuda completa sobre estas nuevas opciones de búsqueda de svn log
:
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.
Esto debería funcionar para usted:
svn log -r 0:HEAD -v $REPOSITORY_PATH | grep "/foo.txt"
Esto le dará las rutas a los archivos y el estado del registro. Si recibes algún golpe, sabes que existió en algún momento. Si no obtiene resultados, no hay nada que coincida en ningún lugar del repositorio en ninguna revisión. También verá los estados de cada línea de registro, por ejemplo:
A /some/path/foo.txt D /some/path/foo.txt
Pero supongo que la información adicional no es un problema para ti. :)