SVN: forma de determinar la revisión comparando el contenido del file o file

Tengo un escenario donde tengo un file y necesito saber qué revisión en la fuente es este file.

Es posible que tenga cientos de revisiones en un file en particular y que tenga un file que coincida con una o más de esas revisiones. ¿Hay alguna forma en Tortoise, Cornerstone o mediante la línea de command para hacer esto?

Disculpas si la pregunta no es la más clara. Para ser sincero, no estoy seguro de cómo decir lo que estoy buscando.

Encontré una pregunta similar sobre git aquí;

GIT: determinar la revisión basada en un file

Apartando un poco de esta respuesta , aquí hay un file por lotes rápido y sucio que hará el trabajo, suponiendo que el file de input ya está bajo control de versión.

@echo off set file=%1 set temp_file="temp.file" if [%file%] == [] ( echo Usage: "%0 <file>" exit /b ) for /F "tokens=1 delims=-r " %%R in ('"svn log -q %file%"') do ( svn cat -r %%R %file% > %temp_file% fc %temp_file% %file% > nul if errorlevel 0 if not errorlevel 1 echo Matches revision r%%R del /Q %temp_file% ) 

Esto obtiene el logging para el nombre de file dado, y para cada revisión hace lo siguiente:

  • vuelca la versión del file en esa revisión a un file temporal en el disco
  • compara la revisión object de dumping con el file de input
  • si son equivalentes, fc establece el errorlevel de errorlevel en 0, así que verifique y Matches revision r###
  • elimina el file temporal

Si tiene que usar cualquier contenido fuera de VCS e identificar las resistencias correspondientes y no agregar estos datos a un file (file de text) o a un repository (binarys), es su falla (los Git-boys deben sufrir y ser insoportables, porque no tienen palabras key directamente / pero tienen manchas | limpiar filters / y properties de revisión /? /, pero en SVN tienes estas posibilidades). ¡Vuelva a pensar en su flujo de trabajo y comience a utilizar Power!

En su estado actual (sin palabras key, sin metadatos) puede (para cada file)

  • calcular cualquier hash disponible para el file no versionado
  • calcule el mismo hash para este file para todas las revisiones en cuestión en el repository
  • compare hashes y encuentre una coincidencia