2009-05-07 27 views
27

Estoy intentando obtener una lista de todos los check-ins (limitados/ordenados por fecha) a través del editor de consultas TFS en Visual Studio Team Explorer.Consulta de TFS (en Visual Studio) para obtener todos los check-ins

Puedo hacer una consulta que enumere todos los errores, el elemento acumulado de sprint o el elemento acumulado del producto, pero no puedo encontrar el check-in real. ¿Es posible o debo hacer consultas (SQL) directamente en la base de datos?

Ideas?

Respuesta

23

Simplemente abra la ventana Team Explorer, expanda el proyecto TFS y haga doble clic en el nodo Source Control allí.

Luego puede simplemente hacer clic derecho en un proyecto o directorio en el control de fuente TFS y seleccionar Ver historial, luego obtendrá todas las confirmaciones.

6

Echa un vistazo TFS Sidekick from Attrice. Es una herramienta muy agradable y gratuita que uso regularmente. Tiene un complemento de historia que le permite consultar conjuntos de cambios por usuario en el nodo de árbol de origen que selecciona en el lado izquierdo de la interfaz de usuario. Puede ordenar los resultados por fecha. También puede hacer clic con el botón derecho en un conjunto de cambios para ver los detalles tales como los archivos y los elementos de trabajo.

2

Puede ver el historial de un archivo o carpeta haciendo clic derecho en el archivo/carpeta en el explorador de soluciones o en las ventanas del explorador de control de fuente y luego copie/pegue el contenido del historial si lo desea en otro lugar.

Más interesantemente en el caso de uso del que pareces estar hablando, puedes extraer todo este tipo de información del TFS Data Warehouse y hacer tu propio informe en Excel. Echar un vistazo a la siguiente entrada del blog que hice sobre este tema para obtener más información:

Getting Started with the TFS Data Warehouse

11
USE TfsVersionControl  

select distinct top 100 c.CreationDate,c.Comment,u.DisplayName, v.Fullpath 
from tbl_changeset as c 
join tbl_identity as u on u.Identityid = c.OwnerId 
join dbo.tbl_Version as v on v.Versionfrom = c.ChangeSetId 
Order by c.CreationDate desc 

Aquí está el informe del sql que hice para ver los cambios recientes.

+0

he intentado numerosas soluciones en el último día, en un intento de resolver este problema (Team Foundation Sidekicks, Windows PowerShell, TFS Power Tools, etc.) hasta que me topé tu elegante solución Muchas gracias por publicar :-) – 5arx

+0

¿Cómo obtener la acción de check-in, es decir si el check-in fue para agregar, editar, eliminar, fusionar, etc.? –

+0

tbl_identity no existe para mí. –

24

El tf command-line utility (disponible a través del símbolo del sistema VS2010) proporciona una forma de recuperar el historial de todas las comprobaciones de un archivo o carpeta especificada.

Específicamente, el tf history command permite filtrar por rango de fechas. Por ejemplo, para obtener todas las confirmaciones para el presente mes de junio (es decir, 06/01/11 a 06/30/11), a continuación, utilizar el parámetro \version con la opción de fecha (D"[start date]"~"[end date]"):

tf history c:\MyProject /recursive /version:D"06/1/11"~D"06/30/11" 

Esto lanzará una ventana de GUI interactiva que muestra todas las confirmaciones que ocurrieron entre esas fechas. La ventana de GUI es equivalente a la ventana de historial que se muestra en Visual Studio. Por lo tanto, se puede perforar hacia abajo para ver los detalles del conjunto de cambios, comparar a los archivos a versiones anteriores, etc.

Si simplemente desea ver la lista histórica sin la ventana de interfaz gráfica de usuario a continuación, agregar el parámetro /noprompt:

tf history c:\MyProject /recursive /version:D"06/1/11"~D"06/30/11" /noprompt 

Esto generará los resultados en la ventana de la consola del símbolo del sistema.

9

Esto es lo que utilizamos

USE [Tfs_DefaultCollection] 

SELECT distinct cs.CreationDate, cs.[ChangeSetId], c.DisplayPart, cs.[Comment] 
from [tbl_ChangeSet] AS cs 
left outer JOIN [tbl_Identity] AS i ON cs.[OwnerId] = i.[IdentityId] 
left outer JOIN [Constants] AS c ON i.[TeamFoundationId] = c.[TeamFoundationId] 
left outer join dbo.tbl_Version as v on v.Versionfrom = cs.ChangeSetId 
WHERE creationdate > '04/12/2012' 
and (v.fullpath like '%\Web%' 
or v.FullPath like '%\Databases%') 
ORDER BY cs.[CreationDate] desc 
Cuestiones relacionadas