El siguiente procedimiento explica brevemente los pasos a seguir para subir cambios al repositorio compartido o subir nuevo cdigo con la ayuda del manejador de versiones Mercurial. 1.Grabartodosloscambiosrealizadosenelrepositoriolocal(COMMIT)
Fig1.Commit
2. Bajar el cdigo del servidor al repositorio local (PULL). En el flujo ideal se realiza el merge sin conflictos, es decir no existen cambios en el servidor que afecten a la misma clasemodificadalocalmente.
Fig2.PullBajarelcdigodelservidor
3.Subirlasolucinunificada,alrepositoriocompartido(PUSH).
Fig3.PushSubircambiosalservidor
4.Findelproceso
ResolucindeConflictos
Si al bajar el cdigo sepresentaalgnconflictoporqueotrapersonaharealizado cambios sobre la misma clase a subir, se puede aplicar cualquiera de las siguientes soluciones paraarreglarelconflicto:
Fig4.Alertacuandoexistenconflictos
Solucin 1: Mezclar cabeceras (Solucin por defecto, en el caso que esta solucin no funcionesepuedeaplicarcualquieradelassiguientes.)
Fig5.Alertacuandonosepuedemezclarcabecerasyesnecesarioaplicarotrasolucin
Solucin2:Comparacinfsicamanualmente
Fig6.Conflictospendientesporresolver
Fig7.Comparacinmanualdeversiones
Solucin 3: Modificar por consola utilizando el comando hg merge en la direccin del proyecto yluegohgcommit.Enelmejordeloscasosestasolucinsersuficiente,caso contrario ser necesariorealizarigualmenteunacomparacinmanualantesdeejecutarel COMMIT. Solucin4:Clicderechosobreelproyecto/Refresh/Update Luego de arreglar conflictos tomando cualquiera de las soluciones, se realiza COMMIT
nuevamenteysesubelasolucinalrepositoriocompartido(PUSH)
Fig8.Commitluegodesolucionarlosconflictos
Fig9.PushSubircambiosalrepositoriocompartido
Consideracionesadicionales
Se recomienda realizar Commit local cada vez que se termine algn cambio considerable,conelfindeguardarunmejorversionamiento. Cuando se agregan nuevas clases, recordar que se debe atar estas clases a la solucin antes de hacer Commit. En este caso dar clic derechosobreelproyecto >Team>Add Para el procesodelmergesedebeignorarelarchivodeconfiguracin,paralocual sedebedarclicderechosobrePom>Team>Ignore Se debe comunicar al resto del equipo siempre que se suban cambios, especialmente cuando hay conflictos en el merge, para evitar eliminacin de cdigoorevertirloscambiosrealizadosporotrapersona. La persona que cause daos en el cdigo del repositorio por no realizar adecuadamente el proceso de merge o por falta de comunicacin con sus compaeros, ser responsable de ayudar a la correccin y/o recuperacin del cdigo,mslamultacorrespondientedediezdlares.
DiagramadeFlujodelproceso