Workspaces

Al trabajar con el control de código del TFS, tenemos 2 sopas a elegir, local o server workspace.

Cada una con sus pros y contras, depende de cual sea la necesidad que tengas podrías ocupar una u otra. ahora te voy a decir cuales son las características de cada una de ellas.

En lo personal siempre he preferido el modo local ya que podríamos trabajar desconectados sin problemas por si en algún momento nos queremos desligar de cualquier tipo de conectividad.

Local, con este tipo de workspace podemos

Realizar cualquier modificación sobre el código ya sea agregar, borrar, mover o renombrar y editar, obvio primero debemos de contar con los archivos localmente con la opción de get.

Al ejecutar cualquiera de las acciones anteriores y te encuentras en modo desconectado, al conectar nuevamente al TFS te detecta todos los cambios que ejecutaste y así podrás ejecutar el checkin para que lleve al servidor.

Una ligera desventaja que se tiene es que al momento de que el proyecto va creciendo este decremento el rendimiento en las acciones de get. Pero existe formas de solucionar esto, al final explico como.

 

Server

Este es ocupado principalmente cuando tenemos una gran cantidad de elementos a descargar para poder trabajar con el proyecto. De cuantos hablo oficialmente son 100,000 pero mucho de ello dependerá del tamaño de cada uno de ellos e incluso si son archivo de texto (codigo) o imágenes.

Cuando tenemos este tipo de workspace debemos de configurar para el Team Project la opción de obtener siempre la ultima versión al momento de hacer la edición del archivo (al ejecutar el checkout).

Vamos a ver como hacerlo

1. entrar al Visual studio/team explorer/ y dar click sobre el icono en forma de clavija para conectarnos a un TFS y seleccionamos la opcion Select Team Projects

2014-10-24_111054

2. Selecionamos el TFS a conectarnos y seleccionamos el Team Project que deseamos trabajar, realemente aqui podemos tener n cantidad de proyectos y el resultado es que podemos ver todos los proyectos listados dentro de cada TFS.  dar click en connect.

2014-10-24_111142

3. Damos doble click sobre el proyecto que vamos a trabajar

2014-10-24_111405

4. Existen varias formas de asignar un workspace, vamos a ver las mas sencillas para entender. En la parte inferior damos click en el icono v para luego dar click en Manage Workspace

Screenshot_1

5. Vamos a ver esta ventana que nos crea con la combinación del nombre de nuesto equipo, usuario, un nombre por default es el mismo que el nombre del equipo.2014-10-24_111641 2014-10-24_111645

6. Damos click en Edit

2014-10-24_111809

7. Damos clcik en advanced donde vamos a ver las opciones que se comentaron al inicio del post.

2014-10-24_111858

8. antes de definir como vamos a trabajar vamos a asignar un Working Folder.

Working folder. es la asignacion de un espacio-carpeta donde el tfs va a estar sincronizado y estara “monitoreando” cuales son los cambios que se ejecutan dentro de esta carpeta.

2014-10-24_112249

Recomendacion. siempre asignar los working folder al nivel de cada team project. Si ven la imagen anterior observan que el nivel raiz de cada team project es el que tengo mapeado directo sobre una carpeta local.

El local folder tambien debera de crearse sobre un espacio unico es decir en mi caso tengo mi carpeta raiz d:\tfsurieloko y cada uno de los TP que tengo en mi TPC.

9. para agregar un nuevo working folder, dar click sobre el renglon vacio “click here to enter a new working folder” y mostrara un icono […] dar click nuevamente.

2014-10-24_112411

10. Abrira una ventana con el TPC y los TP que tenemos permiso. selecionar uno al nivel Raiz, dar click en ok

2014-10-24_112519

11. En la ultima columna dar click y nuvamente dar click sobre […], abrira una ventana para buscar la carpeta local, seleccionamos y damoa click en ok.

2014-10-24_112726

2014-10-24_112659

12. Que pasa no nos coloco el nombre del tp como les habia dicho, facil solo copiamos unicamente el nombre del TP para que la carpeta local cree la misma estructura que tenemos dentro del TFS.

13. Damos click en ok

2014-10-24_112833

14. Al hacer esto siempre nos va a preguntar si queremos descargar el codigo contenido dentro del TP, Hay que seleccionar No. Porque si tenemos un esquema ya de ramificacion y de persmisos sobre cada rama o carpeta no tiene sentido que me ponga a bajar codigo que no tengo permiso de modificar o las ramas que no tengo chance de hacer merge. Esa es la razon.

2014-10-24_113133

15 damos click en close

16 antes de hacer el get vamos a ver otra forma de asignar un working folder. Entramos al source control explorer, si navegamos por cada uno de nuestros proyectos vemos en la parte superior cual es el local path asignado

2014-10-24_113459

 

17 Para esto ejercicio elimine el mapeo anterior y lo voy a generar nuevamente de esta forma. Seleccionamos el tp y damos click sobre la liga “Not mapped”2014-10-24_113614

18. Mostrara esta ventana donde daremos click en […], buscamos la carpeta al nivel de donde queremos que se cree nuestro vinculo y damos ok.

2014-10-24_113812

2014-10-24_112659

Haciendo esto por default pone el nombre del tp que habiamos selecionado.

19. damos click en map y nuevamente nos va a preguntar si queremos hacer el get, decimos que no

20 Ya con el working folder mapeado podemos ir directo a navegar sobre el tp y seleccionar alguna carpeta en particular y dar get Todas las acciones que se hagan en el Source control explorer son recursivas Ojo con esto.

Screenshot_2

21 Voy a seleccionar solo una carpeta y voy a dar get latest version. localmente me trae la estructura superior sin nada mas a excpcion de la carpeta que seleccione y todo lo contenido recursivamente.

2014-10-24_114253

22. Si nuevamente cambio y me voy a raiz y doy get latest version me traera todo el contenido en donde este posicionaod en forma recursiva.

Screenshot_3

2014-10-24_114652

Que pasa si tenemos carpetas muy pesadas con imagenes o doctos o simplemente con cosas que no debemos de hacer nada o que incluso se estan tardando en descargar. Existe la opcion cloak lo cual nos pone una marca en el lugar que la establescamos (en recursivo) para no descargar el codigo.

23. dentro del source control explorer buscamos la carpeta que queremos poner en cloak y damos click derecho/seleccionamos la opcion advanced/y cloak. mostrara una ventana de confirmacion, damos clcik en cloak.

Screenshot_6

2014-10-24_114751

24. visualmente no tiene una marca, solo vemos en el detalle del source control explorer uyna leyenda que dice cloacked

2014-10-24_115936

Pero si entramos al detalle de nuestro working folder veremos que esta en Cloak, como hacemos esto siguiendo los pasos iniciales o bien dentro del Source control explorer en la parte superior damos click sobre Workspace y luego  workspace

Screenshot_4

 

25.  En la siguiente ventana dar click en edit y veremos nuevamente el detalle de los working folders con un registro agregado que en lugar de decir activo dice Cloaked.2014-10-24_115028

2014-10-24_115041

Si queremos quitar esto basta con seleccionarlo y dar click en remove. O bien seleccionar la carpeta y click derecho/advanced/Uncloacked

Como validamos que esto funciona. Antes había hecho get y ya tengo todo el codigo, voy a borrarlo localmente y hacer el get a nivel raíz, no me debe de descargar la carpeta que puse como Cloak. e incluso hay otra forma de descargar código.

Damos click derecho sobre la carpeta, seleccionamos advanced y luego get specific version.

Screenshot_5

Para forzar un get seleccionamos las dos opciones y damos click en get, cada una de las opciones tiene su significado.

la primera nos pregunta si queremos sobreescribir los archivos que no estan en checkout

la segunda dice si queremos sobreescribir los archivos aunque correspondan a la version que estamos descargando.

2014-10-24_115454

Al terminar el get vemos que no descargo la carpeta model, la que habia puesto en cloak

2014-10-24_1157332014-10-24_115922

Todo esto lo hicimos con nuestro workspace en modo local si hacemos el cambio a server trabaja similar salvo que tenemos que hacer un pequeño cambio mas

Entramos al workspace, damos click en edit luego en advanced y en la opcion de Location cambiamos a Server, damos click en ok y listo

2014-10-24_120118

Un paso mas, dentro del team explorer vamos al home y luego a settings. dentro del team project seleccionar source control.

2014-10-24_120153

2014-10-24_133741

Selecionamos la opcion Enable get the latest on checkout dar click en ok

y terminamos

2014-10-24_120400

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s