2011-08-19 30 views
17

Soy nuevo en TFS. Revisé una carpeta de TFS usando Visual Studio y luego eliminé un montón de archivos/agregué un par de archivos dentro de esa carpeta usando Windows Explorer (en realidad no lo hice, pero esa carpeta tiene bibliotecas de terceros y utilicé un instalador que hizo todos estos cambios).Eliminado un archivo fuera Visual Studio, TFS no lo reconoce

Ahora si voy a Visual Studio y tratar de comprobar en esa carpeta, estoy consiguiendo este error:

Check in: Operation not performed

Could not find file : /ThirdPartyFolder/aDeletedFile.aspx

He intentado seguir la solución propuesta en este post, pero que no funcionó : http://www.woodwardweb.com/tfs_top_tip/tfs_top_tip_11.html

Cuando hago 'Obtener versión específica' y especifica 'cambiar conjunto 1', no muestra los archivos eliminados en rojo como lo hace en la captura de pantalla de esa publicación de blog. Además, cuando hago clic en Aceptar, muestra la ventana Cambios pendientes-Conflictos con todos los archivos que se eliminaron. Aunque seleccioné "Mantener versión local", cuando intento registrarme, recibo el mismo error nuevamente.

¿Hay alguna manera en TFS para tomar lo que está en mi versión local y sobre escribir lo que hay en el servidor con mis archivos de versión local?

He hecho operaciones similares con Subversion, y esto nunca ha sido un problema. Con suerte, alguien me dejará saber cómo lograr esto en TFS.

Respuesta

11

Team Foundation Server requiere que se cuelguen explícitamente los cambios para estos archivos; si elimina un archivo localmente, esto no incluye explícitamente una eliminación en contra de Team Foundation Server. Esta es una característica realmente útil: el servidor optimiza los datos que le envía en función de su conocimiento del sistema de archivos local. Es decir, si dices "obtener lo último", conoce tus versiones actuales y solo entregará los cambios. Si trabajas con proyectos muy grandes, esto puede ser muy eficiente.

Sin embargo, cuando otros programas deciden realizar cambios sin tener en cuenta los cambios en el servidor, las cosas pueden confundirse. Afortunadamente, TFS tiene la capacidad de detectar los cambios que se realizaron al aire libre sin esperar explícitamente esos cambios. Puede usar las capacidades de "devolución en línea" de su cliente TFS.

Necesitará el Team Foundation Server Power Tools instalado, entonces simplemente puede ejecutar: tfpt online para detectar esos cambios y seleccionar cuáles colgarán en el servidor.

+2

La siguiente versión de TFS (v11) cambia esto: https://blogs.msdn.com/b/bharry/archive/2011/08/02/version-control-model-enhancements-in-tfs-11.aspx –

+0

Gracias Edward! Estoy instalando herramientas de TFS Power ahora, y espero que esto se resuelva. Volveré a publicar acerca de mi experiencia pronto. – kthiagar

+0

@Lars, ese fue un enlace muy útil. Es genial saber que estos cambios están llegando – kthiagar

1

Esta es una de las principales diferencias entre svn y tfs. Svn está de alguna manera más integrado con Windows Shell y cada cambio en su carpeta de trabajo afectará al servidor en la confirmación. Le propongo que realice cualquier movimiento , borre y cambie el nombre de las acciones dentro de la UI de tfs, no desde el shell.

+1

En realidad, no está más integrado: svn realiza un escaneo de su sistema de archivos local antes de cada confirmación. Puede emular el mismo comportamiento con TFS utilizando el comando en línea que, de manera similar, escanea el sistema de archivos. –

+0

Pero TFS todavía no hace cosas como menús contextuales con el botón derecho en Windows Explorer como TortoiseSVN, ¿verdad? ¿O eso existe en alguna parte? Me habría imaginado que vendría con la instalación de VS. Eso era a lo que estaba eludiendo y creo de lo que hsalimi estaba hablando. La interfaz de usuario de TortoiseSVN también es más directa para mostrarle los archivos no versionados o los archivos eliminados y confirmará lo que pueda. Entonces, me parece que desde el punto de vista del flujo de trabajo y la UI, TFS todavía tiene algo de madurez que hacer. –

11

(VS2012) Seleccione los archivos que faltan de la lista "Ingreso" de TFS y luego haga clic derecho en ellos y haga clic en "Deshacer cambios" para excluirlos de la lista de "Ingreso" para siempre.

+2

esto debería marcarse la respuesta – user3036342

Cuestiones relacionadas