2010-03-02 18 views
5

Cada versión Me parece una buena práctica volver atrás y tomar todas las notas del conjunto de cambios para compararlas con las notas de la versión para asegurarme de que no nos perdamos nada. Como tenemos una lista de todos los cambios de funciones bastante bien documentados en las notas del conjunto de cambios, son un recurso valioso.TFS - Obtenga un rango de conjuntos de cambios

Lo que no he encontrado es una buena manera de extraer estos de TFS 2008. Lo que he intentado:

  • La ventana de la historia VS: Esto sólo proporciona los primeros 100 caracteres o menos, estilo elipse truncado.
  • TFS Powertools: Tal vez me falta algo, pero no puedo obtener un formato de salida que no implique matacar a las nuevas líneas en los comentarios, por lo que cualquier cosa utilizable parece un PITA, pero tal vez una solución de PowerShell sería perfecto aquí?

lo que busco es bastante simple:

  • Changeset comenta
  • ID
  • Fecha
  • nombre de usuario si es posible

Esto dentro de un cierto rango .. . Si está restringido en fechas o ID, cualquiera de los dos está bien. Si pudiera restringirlo a dentro de una determinada rama en el proyecto, eso sería un gran bonificación.

Lo que estoy haciendo ahora para obtener estos datos es la apertura de la TFS SQL Server directamente y funcionando esto en la base de datos TfsVersionControl:

SELECT ChangeSetId, CreationDate, Comment 
FROM  tbl_ChangeSet 
WHERE  ChangeSetId > 6300 

he intentado, pero no encontró un buen recurso para esto, parece que toda la gran información TFS que estaba en los blogs de Vertigo se ha perdido porque los enlaces ahora están muertos. ¿Alguien tiene una forma mejor/sensata de sacar esta información? El formato no es importante, cualquier cosa en formato tabular/xml/lo que yo pueda convertir para que sea legible funciona.

Nota al margen: Estamos actualizando a VS 2010 dentro de una semana aproximadamente de lanzamiento ... si la respuesta es VS2010/TFS2010 solo eso es aún mejor ya que es una solución a largo plazo.

Respuesta

9

El Team Foundation Power Tools (October 2008) viene con un complemento de PowerShell (32 bits solo si usted está en Windows x64). Intente esto:

Add-PSSnapin Microsoft.TeamFoundation.PowerShell 
Get-TfsItemHistory . -Recurse -Version C57460~58090 | 
    fl Comment,ChangesetId,CreationDate,Committer 


Comment  : Added printf's in a couple of event callbacks 
ChangesetId : 58090 
CreationDate : 2/25/2010 1:46:09 PM 
Committer : ACME\johndoe 
... 

Esto hace preservar nuevas líneas en los comentarios. SI está en Windows x64, asegúrese de ejecutar esto desde un indicador de PowerShell de 32 bits (x86).

+0

Gracias Keith, terminó con: 'Get-TfsItemHistory" $/ProjectName "-Recurse -Version C6000 ~ 6761 -Servidor" tfs "| fl Comentario, ChangesetId, CreationDate, Committer | fuera de archivo C: \ Changesets.txt' Funciona como un encanto. Realmente aprecio el anuncio de 32 bits, me hubiera golpeado la cabeza en el escritorio porque no es un error intuitivo en 64 bits. –

0

Existe este proyecto de código abierto en http://tfschangelog.codeplex.com que está diseñado para permitir a los usuarios especificar el rango de conjuntos de cambios y generar notas de versión basadas en los comentarios de chnageset y los workitems asociados para cada conjunto de cambios dentro del rango dado.

TFS ChangeLog extrae información en XML y luego usa XSLT 2.0 para transformarla a HTML. Los usuarios pueden definir sus propios estilos, filtros, métodos de salida, etc. para generar información útil sobre notas de la versión. De hecho, abre la posibilidad para que los desarrolladores y probadores proporcionen contenidos significativos para sus notas de lanzamiento.

Esta herramienta viene en dos formas diferentes que incluyen la versión de escritorio y una versión de línea de comando. Debido al soporte para la interfaz de línea de comando, es posible programar la generación de notas de la versión del programador de Windows.

Cuestiones relacionadas