¿Cuál es la diferencia entre "Comparar con la versión de Workspace" y "Comparar con la última versión"?

90

Estoy usando Visual Studio 2012 con TFS. Siempre que quiera comparar mis archivos extraídos, tengo dos opciones para elegir:

  1. Comparar con la versión del espacio de trabajo
  2. Comparar con la última versión

captura de pantalla

Cuál es la diferencia ?

Bilal Fazlani
fuente

Respuestas:

77

Comparar con la última versión parece claro. Compara archivos con la última versión de TFS. Por lo tanto, obtendrá todas las diferencias entre la última versión registrada en el control de código fuente y la carpeta con la que esté comparando.

Comparar con la versión de Workspace puede resultar confuso, pero en realidad es bastante simple. TFS realiza un seguimiento de la versión del archivo que ha recuperado en su espacio de trabajo. Esta suele ser la última versión, o bastante parecida a eso , pero no tiene por qué ser así .

Al usar la Get Specific Versionopción, puede recuperar cualquier versión de un archivo en su espacio de trabajo local. Incluso puede recuperar archivos de diferentes versiones en su espacio de trabajo. Cuando seleccione esta opción, se realizará una comparación con la versión que se encuentra actualmente en su espacio de trabajo.

Comparar pantalla

jessehouwing
fuente
"Cuando seleccione esta opción, se realizará una comparación con la versión que se encuentra actualmente en su espacio de trabajo". comparación con qué?
Bilal Fazlani
Con la versión en disco por defecto. O cualquier versión que seleccione como ruta de destino. Al final, usted es el responsable de elegir la versión de origen y la de destino para realizar una comparación.
jessehouwing
2
Con la versión del conjunto de cambios que descargó por última vez en el espacio de trabajo seleccionado con lo que esté actualmente en el disco.
jessehouwing
2
Para agregar más claridad, obtener una versión del espacio de trabajo puede ser diferente de la última o lo mismo que la última. Depende completamente de lo que haya sacado de su repositorio
Llamado
1
Ejemplo: estás en un equipo y el 3/5 obtienes un archivo. Lo modifica pero no lo registra. El 5/5 compara con la última versión y ve que encuentra más diferencias de las esperadas: Eso es porque otra persona hizo más cambios en el mismo archivo. Pero si compara con la versión de Workspace, obtendrá solo las diferencias entre sus cambios locales y cómo era el archivo fuente CUANDO LO RECUPERÓ inicialmente. Muy útil para comprobar lo que SÓLO había cambiado ...
Roger
79
  • La comparación con la versión del espacio de trabajo en realidad compara el archivo editado con la versión del archivo en el momento en que lo desprotegió (compara exclusivamente sus cambios).

  • La comparación con la última versión compara el archivo editado con la última versión del archivo presente en su repositorio de código, es decir , puede incluir cambios realizados por sus colegas .

http://codereferences.blogspot.ca/2012/03/tfs-compare-with-workspace-version.html

serhio
fuente
1
serhio, usted y @jessehouwing están declarando comportamientos conflictivos para el tipo de comparación de la versión del espacio de trabajo. Parece que está diciendo que se utilizará la última versión del archivo si el espacio de trabajo está configurado para utilizar la última versión. Sin embargo, lo que dice implica que el archivo de origen puede no ser necesariamente la última versión, sino la versión del archivo durante su pago.
samis
2
Ésta es la mejor explicación más sencilla. Workspace no recupera la última versión del servidor automáticamente. Mantiene el archivo que obtuvo más reciente. Digamos que obtiene lo último, edita el archivo. Mientras tanto, su co-desarrollador se registró, después de que recibiera la última versión. Su espacio de trabajo no conoce los cambios registrados por su co-desarrollador. En este punto, Comparar con el espacio de trabajo y Comparar con la última versión será diferente.
SKCS Kamal
5

La respuesta de @ serhio el 28/3/14 es una excelente respuesta narrativa. Sin embargo, estoy seguro de que muchos (incluyéndome a mí) necesitan una copia de seguridad con un ejemplo, y aquí está:

  1. Para todos, "Última versión" = Conjunto de cambios n. ° 1.
  2. Obtienes lo último.
  3. Para usted, "Versión del espacio de trabajo" = Conjunto de cambios n. ° 1.
  4. Haces cambios.
  5. Desarrollador B "Obtener lo último".
  6. Para el desarrollador B, "Versión del espacio de trabajo" también = Conjunto de cambios n. ° 1.
  7. El desarrollador B realiza cambios.
  8. Desarrollador B "Check-in".
  9. Para todos, "Última versión" = Conjunto de cambios n. ° 2.
  10. Para el desarrollador B, "Versión del espacio de trabajo" = conjunto de cambios n. ° 2.
  11. Para usted, "Versión del espacio de trabajo" sigue siendo = Conjunto de cambios n. ° 1.
  12. Usted "Obtener lo último", "Fusionar conflictos" (si es necesario) y "Registrarse".
  13. Para todos, "Última versión" = Conjunto de cambios n. ° 3.
  14. Para usted, "Versión del espacio de trabajo" = Conjunto de cambios n. ° 3.
  15. Para el desarrollador B, "Versión del espacio de trabajo" sigue siendo = Conjunto de cambios n. ° 2.
Tom
fuente
0

Para reformular la respuesta:

El archivo local es siempre en el que está trabajando.

El archivo del servidor puede ser:

  1. La última versión que incluye todos los demás registros. (Ves tus cambios, así como los cambios de otras personas ).

  2. La versión tal como estaba cuando la extrajo (solo verá sus cambios, incluso si otras personas se han registrado desde entonces).

Si ninguna otra persona registra archivos desde su pago, ambos de los anteriores producen exactamente el mismo resultado.

Entonces, si desea comparar lo que ha hecho con lo que era cuando comenzó, seleccione Versión del área de trabajo

Si desea comparar lo que ha hecho con lo que han hecho otras personas, seleccione Última versión

Greg Gum
fuente