2011-12-21 16 views
15

Estoy buscando una manera de iniciar un diff en múltiples archivos muy fácilmente.Atajo TFS para hacer un diff en todos los archivos modificados con la última versión

me resulta muy tedioso tener que:

  • Haga clic derecho sobre cada archivo
  • haga clic para comparar
  • Haga clic con la versión de espacio de trabajo.
  • Enjuague y repita para cada archivo en mi cambio establecen

Idealmente, me gustaría ser capaz de resaltar todos los archivos en mi conjunto de cambios, y llevar a cabo una acción rápida que puso en marcha varias ventanas de una herramienta diff, o los lanza uno después del otro.

Probablemente sea bueno saber que mi pregunta es muy similar a this question, pero estoy buscando una forma de hacerlo a granel.

Respuesta

15

Utilice Tf Command Line Utility. Viene con Visual Studio. Tendrás un símbolo del sistema especial con las herramientas cargadas llamadas "Símbolo del sistema de Visual Studio (2010)" en el menú Inicio. Debería cd en el directorio raíz de la solución. De esta forma, no tiene que proporcionar los comandos con un nombre de servidor, credenciales o información de área de trabajo. Lo recogerá automáticamente.

Corrí el difference command. Sin ningún parámetro, muestra automáticamente la diferencia para cada cambio pendiente.

D:\my-project> tf diff 

Al cerrar la ventana diff, aparecerá el siguiente cambio.

+0

Es una pena que no vea solo los "Cambios incluidos". – stuartd

+1

Advertencia de que esto abre todas las diferencias, sería bueno si realmente pudieras buscar diffs en su lugar –

+0

¿Hay alguna manera de que se ejecute todo de una vez y no esperar a que se cierren las ventanas de cada diferencia? (de esa manera terminarían en pestañas separadas más allá de comparar, por ejemplo) –

1

Parece que no hay una buena manera de hacerlo. Tenemos que comparar la carpeta principal de múltiples archivos, y en el panel "diferencia de carpeta", haga doble clic en cada archivo para verificar los cambios en el archivo.

+1

rechazada como la respuesta de Anthony Mastrean (escrito después de éste) no muestran una manera de hacerlo. –

0

Es un poco exagerado resolver este problema pero tal vez mire git2tfs, esto podría permitirle un mejor flujo de trabajo para evitar estos problemas y liberarlo de algunas otras cargas de tfs (por ejemplo, archivos de solo lectura)

+1

¿Estás hablando de [git-tfs] de spraint (https://github.com/git-tfs/git-tfs)? –

+0

sí, esa es la única –

9

Hay una extensión de Visual Studio llamada Diff All Files for VS2015 que hace casi exactamente lo que quiere el OP. Tiene la ventaja de que no es necesario que descienda a un shell para ejecutarlo. (También parece ser versiones para VS 2012 y VS 2013.)

instalar:

  1. seleccione Herramientas -> Extensiones y actualizaciones ...
  2. seleccione "Online"
  3. Enter " Diff All Files for VS2015 "en el cuadro de búsqueda.
  4. Seleccione la extensión "Diff All Files for VS2015" e instálela.

Agrega una sección al panel Cambios pendientes en Team Explorer.

0

Tengo dos adiciones a la respuesta de Anthony Mastrean.Los escribiría como un comentario si tuviera 50 representantes: -/

  1. En VS2017 todos los diffs se abren en pestañas.
  2. Si desea diff todos los archivos modificados en la carpeta actual y sus subcarpetas utiliza tf diff . /recursive
Cuestiones relacionadas