2011-09-14 14 views
8

¿hay alguna manera de obtener el historial de versiones de un archivo si solo conoce un nombre antiguo del archivo?TFS: busque un archivo movido por el nombre anterior

Actualmente estoy buscando una copia anterior de nuestro repositorio (no sé la fecha exacta, la copia fue tomada). Cuando lo comparo con el repositorio actual, hay un archivo, que solo existe en la copia, pero no en el repositorio actual. No ha sido eliminado en el repositorio. Supongo que ha sido movido o renombrado. ¿Hay alguna forma en TFS para encontrar el historial de versiones usando la ruta y el nombre anterior?

Sé que podría excavar usando el nombre o algunos fragmentos de código. Pero En mi opinión esto no es una solución aceptable cuando se utiliza un repositorio :)

Muchas gracias

Andreas

+1

¿Desea hacer esto desde la línea de comandos o mediante programación en el código C#? (Vi la etiqueta C#) – bryanmac

Respuesta

2

En Team Explorer 2010, sólo tiene que activar la opción "Mostrar archivos eliminados" y vaya a la carpeta original, podrá ver el archivo que se movió o eliminó. Puede ver el historial en el elemento para ver su último conjunto de cambios: esto le mostrará si se eliminó por completo o si simplemente se renombró y, por lo tanto, el elemento ya no existe en el nombre de ruta actual (también conocido como "ranura") y se eliminó de esa manera. Puede profundizar en los detalles del conjunto de cambios para ese conjunto de cambios para ver el nuevo nombre de ruta (ranura) que ocupa ese elemento.

Como mencionas, sin duda podrías hacer esto con un pequeño golpe contra la API TFS usando el método GetItems. Aunque entiendo que no es lo que quieres hacer, pensé que valía la pena solo porque la API TFS es sorprendentemente fácil de usar.

+0

Tengo instalado Visual Studio 2010 Premium, incluido TeamExplorer, y veo los archivos eliminados, pero no los movidos. ¿Hay alguna versión diferente de TeamExplorer que no conozca? Por cierto: Sí, la TFS-API es realmente buena y fácil de usar, una vez que la tienes instalada, lo que fue un poco molesto para mí :) – Andreas

+0

¿Tu servidor también es TFS 2010? El comportamiento de los cambios de nombre (en el servidor) cambió entre 2008 y 2010. –

+0

No, todavía no teníamos tiempo para actualizar. Ahora tenemos una razón más. Muchas gracias. – Andreas

0

Un par de enfoques simples (no ya se ha sugerido en otras respuestas) puede ayudar:

En su nueva repositorio, vaya a la carpeta que utiliza para contener el archivo edad, haga clic derecho y mostrar la historia . Esto mostrará todos los cambios versionados a los archivos en esa carpeta. Ahora revise la lista de cambios para archivos que ya no existen en la carpeta, y haga doble clic en ellos para verlos y determinar si el archivo se parece a un antecesor de su nuevo archivo.

O elija un enfoque de fuerza bruta: obtenga todo el código fuente en su disco y busque archivos del mismo nombre, o archivos con el mismo texto, como el archivo que está buscando (I Buscaría comentarios que parezcan estar viejos y que utilicen una redacción distintiva que probablemente no haya aparecido en muchos lugares. Es menos probable que los comentarios hayan cambiado que los nombres de clase/método que podrían haberse refactorizado si el archivo renombrado)

Grep puede ser una manera fea, de fuerza bruta de abordar el problema, pero a veces es la más rápida y fácil. Las herramientas de la CLI de TFS son potentes, pero poco útiles, complejas y poco documentadas, por lo que, a menos que ya sea un experto, pueden tomar muchas medidas de prueba y error para lograr que hagan lo que usted desea.

Cuestiones relacionadas