sábado, 16 de agosto de 2014

PARTE 2 - Ramas (Branches)

Link de emergencia (siempre buscar primero aquí cualquier error):

En el panel derecho del Blog tienen el índice de prácticas >>


En esta parte veremos las Ramas (Branches en Inglés) en detalle, que el menos ya conocemos por la Terminología común que hay que conocer

Las dudas preguntarlas en el hilo de la PARTE 2 en el foro.


Aquí explico más en detalle cómo se trabaja con una rama
Todavía no hagan ninguna, hasta que les indique más abajo luego de que lean el siguiente artículo:

Bueno, ahora sí:
Como habrán visto al sincronizar vuestro repositorio local Plastic con el repositorio público que comenté en la Parte 1 (punto 6 en adelante de la guía de replicación), hay muchas ramas nuevas que dejé preparadas con el nombre "tarea-nnn", donde preparé una rama de tarea para cada uno.

Deberían ver algo como esto:



Por las dudas vuelvan a sincronizar con GitHub, refresquen la vista con F5, y sigan atentamente los pasos a continuación.

15/09/2014 - Por algunos problemas con GitHub, hemos cambiado de repositorio. Ver en la Parte 1 como configurarlo.

De la rama de tarea que a cada uno le toque, según la lista que hay debajo, deberán crearse una sub-rama de trabajo cuyo nombre será vuestro nombre de usuario, así las identificamos más fácilmente, ya que deberán quedar de la forma /main/tarea-nnn/usuario.

Como hay muchas ramas y muchas se solapan, es díficil elegir una desde la vista del Explorador de Ramas, por lo que se debe usar la vista de "Ramas" del panel izquierdo en modo texto para crear la rama de trabajo.

La sub-rama que deben hacer se parecerá a la de la figura 5 del artículo anterior de ramas.

Ramas de tareas preasignadas por usuario:

- Allan Raúl Acuña (nicafox) - tarea-001
- Manuel Tovar [mtovar] (mtovar1111) - tarea-002
- Sergio Alejandro García Méndez (tayiogar) - tarea-002
- Osornino (osornino) - tarea-003
- Francisco Prieto (fajprieto) - tarea-004
- Antonio Meza (antoniomeza) - tarea-005
- Richard Silva (rsilvam) - tarea-006
- Armando Rodriguez B. (armandomx) - tarea-007
- Fidel Charny (fidelcharny) - tarea-008
- Ricardo Pina (ricpina) - tarea-009
- Irwin Rodriguez (Irwin1985) - tarea-010
- Guru Christian (jwchristianlg) - tarea-011
- Juan Miguel Solis (jmsolis) - tarea-012
- Sergio Alejandro Garcia Mendez (tayiogar) - tarea-013
- Viktor Velazquez (vivelas) - tarea-014
- Miguel Angel (Advenmig) - tarea-015
- Julian May (julianmd) - tarea-016
- Elvis Mallqui Sauñe (mashaell) - tarea-017
- Henry Herrera (hjherrera) - tarea-028
- Eric Zbrun. (EricZbrun) - tarea-023
- Luis Fernando Reyes.
- Tomás Cruz [tomcrux].
- Moisés Medina Paz. (mamp) - tarea-018
- Narcizo Norzagaray [kyro].
- Felix Rejopachi [farh].
- Luis [Desarrollos AM] (luis101962) - tarea-019
- Mauricio Pulla [mpulla] (mpulla) - tarea-020
- Carlos Alfaro (calfagua) - tarea-021
- Alex A. Vega [Alex Vargas] (AlexVargasVega) - tarea-022
- César Pistiner (cpistiner) - tarea-024
- Rodolfo Arias - tarea-029 (la tengo que crear)




Una vez que tengan la rama creada (click-derecho -> "Crear rama hija...") y que hayan comprobado en la vista Ramas que quedó de esta forma: "/main/tarea-nnn/usuario" (debe quedar marcada en negritas, si no se le debe hacer click-derecho y elegir "Apuntar workspace a esta rama") y que en la vista del Explorador de ramas el icono de la casa está en la nueva rama creada, entonces ya pueden comenzar a trabajar, para lo que comenzaremos a un formulario.
Lo de verificar las vistas de Ramas y Explorador de ramas es una doble verificación que haremos solo al principio, para evitar confusiones, ya que el no poder estar yo a vuestro lado mirando cómo lo hacen, no tengo otra forma de verificarlo.
Si se encuentran algún problema, envíen captura de pantalla para podernos situar en contexto.

Observen que en el workspace ya hay varios directorios y archivos existentes, que tomé de las prácticas de marzo.


Solo recuerden 3 cosas:

  1. Las reglas mínimas de buenas prácticas, que nos evitará algunos problemas
  2. Haber probado el funcionamiento de FoxBin2Prg en solitario
  3. Crear solamente un formulario en el directorio forms que lleve vuestro usuario (por ejemplo: frm_irwin.scx), sin clases ni nada, pero puede incluir imágenes y usar los datos de Tastrade que vienen en Fox, en cuyo caso no copien las tablas, úsenlas directamente con algo como USE ( HOME(2)+"tastrade\data\customer.dbf" ) que a todos les funcionará. También lo pueden agregar al menú que hay disponible y al proyecto, así se puede invocar desde los mismos.

Cuando tengan hecho el formulario con la funcionalidad que quieran, entonces pueden seguir leyendo los siguientes artículos para guardar vuestros cambios (checkin) en el control de código. (Recordar cerrar cualquier form, proyecto o clase que estén usando en el workspace y hacer CLEAR ALL / CLOSE ALL antes del checkin):

- FoxPro 9: Creando un componente y añadiéndolo al control de código (Plastic)

- FoxPro 9: Modificando un componente que ya está bajo control de código

- PlasticSCM: Hice un checkin erróneo en un archivo, ¿cómo lo arreglo?

- PlasticSCM: ¿Qué es el Diff?

- PlasticSCM: ¿Para qué sirve el Annotate?


Al finalizar lo anterior, si no hubo problemas y les quedó parecido a la imagen de abajo (podrían tener más changesets ustedes, si hicieron checkin más de una vez), hagan la sincronización, pero si hubo problemas, pregunten para resolverlos.


Para cuando terminen esta parte, ya sabrán:


- Cómo crear una rama
- Cómo subir código normalizado al control de código, tanto cosas nuevas como modificaciones
- Cómo hacer un Diff para ver las diferencias
- Como usar el Annotate para ver quién y cuándo se cambio una línea o bloque de código

Y deberían ver su rama de cambios parecida a esta (click para agrendar la imagen):





No hay comentarios:

Publicar un comentario