Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CVS Subversion Presentación
CVS Subversion Presentación
con Subversion
Modos de funcionamiento
REPOSITORIO COPIA LOCAL
SERVIDOR SubVersion
Exclusivos: para poder realizar un cambio es necesario marcar en el repositorio el elemento que se desea modificar y el sistema se encargar de impedir que otro usuario pueda modificar dicho elemento. Colaborativos: en el que cada usuario se descarga la copia la modifica y el sistema automticamente mezcla las diversas modificaciones. El principal problema es la posible aparicin de conflictos que deban ser solucionados manualmente o las posibles inconsistencias que surjan al modificar el mismo fichero por varias personas no coordinadas. Adems, esta semntica no es apropiada para ficheros binarios.
Terminologa de inicio
Revisin ("version): Una revisin es una versin determinada de un archivo. Exportacin ("export"): Una exportacin crea un rbol de directorios limpio sin los archivos propios de control del CVS. Importacin ("import"): Una importacin es la accin de copia un rbol de directorios local (que no es en ese momento una copia de trabajo) en el repositorio por primera vez.
Operaciones bsicas
REPOSITORIO
CHECK-IN CHECK-OUT
COPIA LOCAL
SERVIDOR SubVersion
-Check-in o commit (publicar,enviar,submit,ci,install): Un commit sucede cuando una copia de los cambios hechos a una copia local es escrita o integrada sobre el repositorio. -Check-out o update (sync): Un despliegue crea una copia de trabajo Local desde el repositorio. Se puede especificar una revisin concreta, y por defecto se suele obtener la ltima.
Conflictos de cambio
index.php v1 index.php v1
CHECK-OUT
index.php v1
SERVIDOR SubVersion
CHECK-OUT
Conflictos de cambio
index.php modificado index.php v2
CHECK-IN
index.php v1
SERVIDOR SubVersion
Uno de los usuarios, realiza modificaciones sobre el archivo index.php. Y lo sube al servidor realizando un Check-in o commit (confirmacin). El software cliente comprueba que la ltima copia local del usuario se corresponda con la versin 1 del archivo, y en el repositorio est la misma versin 1, por lo tanto se pueden subir los nuevos cambios al repositorio en el servidor. En el repositorio el archivo ahora ser la revisin o versin 2.
Conflictos de cambio
index.php v2 index.php v2
CHECK-IN
index.php - modificado
SERVIDOR SubVersion
Otro usuario que tena una versin 1 del archivo realiza una modificacin, sobre las misma lneas que la realizada por el anterior usuario. El usuario realiza un check-in o confirmacin de sus cambios, sin antes realizar un check-out para comprobar si alguien a modificado algo. El software comprueba que la ltima versin conocida era la v1, pero en el servidor esta la v2, por lo tanto hay cambios que en la copia local modificada no se encuentra, as que se produce un CONFLICTO DE CAMBIO.
Resolucin de conflicto
El usuario al que se le presenta el conflicto debe resolverlo, eligiendo una versin anterior y desechando la suya, o combinando (modificando el archivo) para solventarlo. En la resoluciones de conflicto cada software presenta las opciones de solucin a su modo.
Otros trminos
Branch o tag: Un mdulo o software puede ser branched o bifurcado en un momento de tiempo de forma que, desde ese momento en adelante, dos copias de esos ficheros puedan ser desarrolladas a diferentes velocidades o de diferentes formas, de modo independiente. El programa tiene entonces 2 (o ms) "ramas". Por ejemplo tener una versin Stable, y una versin Posterior en desarrollo.
Otros trminos
Integracin, fusin o merge: Una integracin o fusin une dos conjuntos de cambios sobre un fichero o un conjunto de ficheros en una revisin unificada de dicho fichero o ficheros.
Forma de trabajo
REPOSITORIO
CHECK-IN CHECK-OUT
REPOSITORIO LOCAL
SERVIDOR SubVersion
SOLO SUBIR
SERVIDOR WEB
TortoiseSVN
Cliente de Subversin Se integra con el Explorador de archivos til para programas que no integran cliente de SVN
TortoiseSVN
TortoiseSVN - RepoBrowser
Permite ver el repositorio remoto Boton derecho en el Explorador TortoiseSVN -> Repo-Browser Cadena de conexin: svn://10.136.61.162
TortoiseSVN
FTP:\Desarrollo\TortoiseSVN