Porque no deberiamos activar la opción de get latest version on checkout en TFS.

Y me refiero a una característica que en la primera versión de TFS fue eliminada desde el diseño de la aplicación y no una omisión de la característica.  El objetivo de que fuera así tiene que ver con la necesidad de que el código en el repositorio de tfs permanezca en un estado estable que pueda ser construido y probado debido a que se encuentra en un estado consistente.

Por lo tanto cuando nosotros descargamos una versión de nuestro repositorio, nos encontramos con una versión en el tiempo que en teoria deberia de compilar (digo en teoria porque nunca falta el que tira el build) y por lo tanto nosotros hacemos nuestras modificaciones y antes de integrar nuestros cambios con los de los demas deberemos descargar la ultima versión de los archivos de los demas, para verificar que nuestros cambios son compatibles con ese nuevo snapshot que estariamos descargando del código fuente.

Y entonces nos enfrentamos a la pregunta

¿Porque es mala idea el descargar la ultima versión al hacer el check out?

Y la razón es la siguiente, cuando tu actualizas un solo archivo este archivo no corresponde a la misma versión en el tiempo que todo lo demas. Por lo tanto es probable que tu felizmente desarrolles con la idea de que el código funciona correctamente con el código de los demás mientras que si lo subes al source control, dicho código no necesariamente va a compilar. Por lo tanto estas perdiendo sincronia y con ello la posibilidad de implementar un mecanismo eficiente de integración continua.

 

 

 

Mas información

http://blogs.msdn.com/buckh/archive/2005/08/20/454140.aspx