¿Pueden los cambios pendientes de TFS mostrar archivos que realmente han cambiado como SourceGear Vault?


He estado usando SourceGear vault para algunos proyectos personales y Team Foundation Server para proyectos de trabajo. Una cosa que falta TFS es una característica simple que Vault tiene en su ventana de diálogo de registro.

En el cliente del almacén, puede ver si el archivo extraído cambió de la versión anterior registrada. Aquí hay una captura de pantalla . Observe la columna "Detalles"? Eso te dice que hay una diferencia. La forma en que esto es súper útil es si tienes que revisar un proyecto completo porque vas a hacer re-generación de código. Revisaré mi proyecto de biblioteca de clases y luego regeneraré mis plantillas de CodeSmith. Hacer esto puede resultar en solo unos pocos archivos específicos de cambiar. Cuando veo la pantalla de registro pendiente, veo los archivos que realmente cambiaron y puedo comparar para ver el impacto.

SO... puede TFS hacer esto? Tal vez hay una herramienta 3rd-party que lo hará por mí? ¿Hay un SDK de TFS o PowerTool que tengo que conseguir. ¿Alguien quiere construirlo?

Author: MADCookie, 2010-07-28

5 answers

Para esta página, puede ejecutar este comando desde el símbolo del sistema de Visual Studio.

tfpt uu /noget /r *

Necesitará tener TFS Power Tools instalado para que esto funcione. Además, asegúrese de navegar hasta la raíz de la carpeta asignada dentro del símbolo del sistema (es decir, C:\TFS por ejemplo).

Enlaces de herramientas eléctricas TFS (si aún no lo tiene)
Herramientas eléctricas TFS para 2010
Herramientas eléctricas TFS para 2012

 10
Author: WEFX,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-03 19:51:02

Seleccione todos los archivos en la ventana "Cambios pendientes" y active el menú contextual. A continuación, haga clic en "Deshacer..." > "Deshacer los Cambios" > "No a Todo". Los archivos sin cambios se deshará.

 18
Author: alga,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-12 16:17:05

No hay necesidad de deshacer los archivos que no han cambiado, ya que TFS notará que no han cambiado al registrarse y solo asociará los archivos realmente modificados. Los archivos desprotegidos, pero sin cambios se volvieron a su última activada en la versión y no se asocia con el checkin. Es imposible en TFS (aunque no muy claramente documentado) para comprobar en un archivo sin cambios. Siempre volverá a la versión anterior si no hay cambios.

Puede deshacer rápidamente su cambio archivos llamando a 'tfpt.exe uu / r ' desde la línea de comandos (necesita tener las herramientas eléctricas de Team Foundation para esto) o usando el botón "Deshacer sin cambios" en la ventana de cambios pendientes. Esto eliminó cualquier elemento de la lista que no haya cambiado inmediatamente. Para que puedas ver exactamente lo que estás registrando.

Deshacer opción sin cambios

Aunque podría ser que esta opción es añadida por el Team Foundation Power Tools o el TFS Source Control Explorer Extensions (que son una necesidad para cada usuario de TFS de todos modos).

Véase también:

 7
Author: jessehouwing,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-08 17:44:20

No me gusta responder a mis propias preguntas, pero parece que no podría haber una solución real de Microsoft por ahí. Para mí, así es como manejo el problema en la oficina usando Visual Studio.

  1. Antes de volver a generar los objetos de negocio, hago una copia de toda la estructura de carpetas
  2. Compruebo todo el proyecto o la carpeta generada por la raíz
  3. Inicio el generador de código. A veces, sé exactamente lo que está cambiando, pero otras veces, podría hacer un muchos cambios y no quiero perderme nada. My code generator at work también genera todos los archivos SQL necesarios para SOLTAR / CREAR procedimientos almacenados.
  4. Usando SourceGear DiffMerge, comparo las carpetas de la carpeta recién generada y la carpeta previamente respaldada.

Esto lleva bastante tiempo. Nunca pensé en ello como un problema hasta que vi Vault identificar que un archivo era diferente en el disco del repositorio.

Tal vez todos puedan decir cómo generar / regenerar código cuando se trabaja con un repositorio de control de código fuente.

 4
Author: MADCookie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-27 23:33:06

Trabajo en un entorno de desarrollo corporativo donde muchos desarrolladores pueden estar trabajando en el mismo archivo, y tenemos TFS como nuestro control de código fuente también. En nuestro documento de Mejores Prácticas para TFS, realmente desalentamos la comprobación de archivos que los desarrolladores no tienen la intención de cambiar, de esa manera, naturalmente, excluimos archivos sin diferencias al enviar un conjunto de cambios.

Para responder a su pregunta, normalmente solo miro la ventana "Cambios pendientes" y corro un Compare en el archivos "cambiados" de los que no estoy seguro the la herramienta de comparación debería decirle inmediatamente si su copia local es la misma que la copia del servidor. Desafortunadamente, no hay una solución alternativa real aparte de lo que sugerí, pero no veo el escenario en el que deba revisar una rama completa del proyecto para editarla.

 1
Author: danyim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-27 21:39:49