tutorial team costos cost tfs

team - Diff Unificado en TFS



tfs tutorial (3)

Alguien sabe si esto (generar un diff unificado) es posible y si es así, ¿cómo?

Gracias.


Esta es una característica en curso diff (perdón por el juego de palabras) con SubVersion y otros, que connect.microsoft.com/VisualStudio/feedback/details/631052/… . Creo que pronto aparecerá una solución, sin embargo, hasta entonces he encontrado una solución:

  1. Cree una aplicación de formularios de Windows que tome 4 campos como parámetros de la línea de comandos (filepath1, label1, filepath2, label2) y devuelva una cadena unificada de los dos archivos (tal vez salida a un cuadro de texto rico o algo así). Tengo uno, pero creo que es un poco difícil de poner en CodePlex. Hay algunas bibliotecas Diff administradas.

  2. Configure la función de comparación de control de fuente de Visual Studio para que apunte a su aplicación diff. Asegúrese de que se abre y se compara correctamente.

  3. Cree una aplicación de parches de Windows Forms, que aplicará el parche a una carpeta. La aplicación también tiene que revisar cada archivo ya que está parcheado (¡divertido!).

  4. Configure dos espacios de trabajo, el habitual, y un MyWkSpace_PATCH. Esto se utiliza para parchear.

Todavía tengo que terminar el punto 3, pero esto me dará una funcionalidad similar a SubVersion. Te haré saber cómo va el punto 3!


Esto es lo que suelo hacer:

  • Genera un diff unificado desde la línea de comando tf para obtener un archivo de parche

    tf diff /recursive /format:unified . >> diff.patch

  • Descargue la utilidad de parche desde http://gnuwin32.sourceforge.net/packages/patch.htm

  • Aplicar parche con

    patch.exe -p0 < diff.patch

Obviamente, esto supone que los archivos de origen ya están desprotegidos. Si no lo están, especialmente cuando está aplicando parches a través de sucursales, escriba un script de shell simple para revisar el archivo diff, obtenga la ruta de los archivos y edítelos.


Es tf diff /shelveset:<set> /format:unified . Sin embargo, tenga en cuenta que, a diferencia de la mayoría de los sistemas modernos de control de versiones, TFS no puede funcionar con archivos de parches disponibles. Es decir, no puede tomar el resultado de la diferencia y aplicarlo a un conjunto de archivos para obtener los cambios resultantes. (Lo que la mayoría de la gente hace es comprimir los archivos que cambiaron y soltarlos y reemplazarlos como un "parche". Ick.)