Subversion Ixchel Stephanie Zazueta García 2do Semestre Ingeniería en Software
El Concurrent Versions System, es una aplicación  que implementa un sistema de control de versiones: mantiene el registro de todo el trabajo y los cambios en los  ficheros  que forman un  proyecto  y permite que distintos  desarrolladores  colaboren.  CVS, qué es?
Arquitectura cliente-servidor. Originalmente, el servidor utilizaba un sistema operativo similar a Unix, aunque en la actualidad existen versiones de CVS en otros sistemas operativos, incluido Windows.  Varios clientes pueden sacar copias del proyecto al mismo tiempo. Cuando actualizan sus modificaciones, el servidor trata de acoplar las diferentes versiones. Los clientes pueden también comparar diferentes versiones de archivos, solicitar una historia completa de los cambios, o sacar una "foto" histórica del proyecto tal como se encontraba en una fecha determinada o en un número de revisión determinado. Los clientes también pueden utilizar la orden de actualización con el fin de tener sus copias al día con la última versión que se encuentra en el servidor. CVS también puede mantener distintas "ramas" de un proyecto. Por ejemplo, una versión difundida de un proyecto de programa puede formar una rama y ser utilizada para corregir errores. Características
Historia / Limitantes CVS fue desarrollado por GNU. Se otorga con licencia GPL. Actualmente existen muchas versiones de CVS implantadas en los diferentes sistemas operativos. Limitaciones del protocolo CVS: Los archivos en el repositorio sobre la plataforma CVS no pueden ser renombrados. Cada archivo en cada subdirectorio debe ser eliminado y re-agregado con el nuevo nombre. Soporte limitado para archivos Unicode con nombres de archivo no ASCII.
Fuerte integración con Apache : Esto permite definir controles de acceso avanzados y navegación vía web para consultar el deposito de archivos. Transparencia al eliminar y cambiar nombres de archivos   : CVS requiere intervención manual en el deposito para lograrlo, Subversion contempla esta deficiencia y la corrige con éxito. Copias ligeras sobre ramificaciones  : La generación de ramificaciones en CVS además de ser un proceso involucrado implica la generación de una copia nueva en el deposito, mismo mecanismo que hace crecer el tamaño del deposito, Subversion independientemente del numero de ramificaciones creadas mantiene un árbol diferencial de cambios, minimizando así el espacio consumido en el deposito. Copias diferenciales de archivos binarios  : Subversion es capaz de mantener un control diferencial sobre cualquier archivo binario del deposito, CVS requiere archivar copias completas de un archivo binario cada vez que éste cambia. SVN sobre CVS:
Es un software de sistema de control de versiones. (2000 / CollabNet Inc.) Es software libre bajo una licencia de tipo Apache/BSD. Se le conoce también como  svn  por ser ese el nombre de la herramienta de línea de comandos.  Una característica importante es que, a diferencia de  CVS , los archivos versionados no tienen cada uno un número de revisión independiente. Todo el repositorio tiene un único número de versión que identifica un estado común de todos los archivos del repositorio en cierto punto del tiempo. Qué es?
Se sigue la historia de los archivos y directorios a través de copias y renombrados. Las modificaciones (incluyendo cambios a varios archivos) son atómicas. La creación de ramas y etiquetas es una operación más eficiente; Tiene costo de complejidad constante y no lineal como en CVS. Se envían sólo las diferencias en ambas direcciones. Puede ser servido mediante Apache, sobre WebDAV/DeltaV. Esto permite que clientes WebDAV utilicen Subversion en forma transparente. Maneja eficientemente archivos binarios. Permite selectivamente el bloqueo de archivos.  Cuando se usa integrado a Apache permite utilizar todas las opciones que este servidor provee a la hora de autentificar archivos (SQL, LDAP, PAM, etc.). Características
El manejo de cambio de nombres de archivos no es completo. Lo maneja como la suma de una operación de copia y una de borrado. No resuelve el problema de aplicar repetidamente parches entre ramas, no facilita el llevar la cuenta de qué cambios se han trasladado. Esto se resuelve siendo cuidadoso con los mensajes de commit. Esta carencia será corregida en la próxima versión (1.5). Carencias
Arquitectura En un extremo se encuentra un repositorio de Subversion que conserva todos los datos versionados. Al otro lado, hay un programa cliente Subversion que administra réplicas parciales de esos datos versionados (llamadas “copias de trabajo”). Entre estos extremos hay múltiples rutas a través de varias capas de acceso al repositorio (AR). Algunas de estas rutas incluyen redes de ordenadores y servidores de red que después acceden al repositorio. Otras pasan por alto la red y acceden al repositorio directamente.
Subversion está construido sobre una capa de portabilidad llamada APR (Apache Portable Runtime), lo cual significa que Subversion debería funcionar en cualquier sistema operativo donde lo haga el servidor httpd Apache. La manera más sencilla de obtener Subversion es descargando un paquete binario construido para su sistema operativo. Alternativamente, usted puede compilar Subversion directamente a partir del código fuente.  Instalación
svn:  El programa cliente de línea de comandos. svnversion:  Programa para informar del estado (en términos de revisiones de los elementos presentes) de una copia de trabajo. Svnlook:  Una herramienta para inspeccionar un repositorio de Subversion. Svnadmin : Herramienta para crear, modificar o reparar un repositorio de Subversion. Svndumpfilter : Un programa para filtrar el formato de salida de volcado de repositorios Subversion. mod_dav_svn : Un módulo para el servidor HTTP Apache usado para hacer que su repositorio esté disponible a otros a través de una red. Svnserve : Un servidor independiente, ejecutable como proceso demonio o invocable por SSH; otra manera de hacer que su repositorio esté disponible para otros a través de una red. Componentes de Subversion
Comienzo rápido Para comenzar, cree un nuevo repositorio: $ svnadmin create /path/to/repos  $ ls /path/to/repos conf/  dav/  db/  format  hooks/  locks/  README.txt A continuación, se crea un árbol de ficheros y directorios para importar dentro del repositorio. Su estructura debería tener tres directorios en el primer nivel de la jerarquía llamados branches,tags, y trunk: /tmp/project/branches/ /tmp/project/tags/ /tmp/project/trunk/ foo.c bar.c Makefile …
Comienzo rápido Una vez tenga un árbol de datos listo para continuar, se importa dentro del repositorio con el comando svn import: $ svn import /tmp/project file:///path/to/repos -m "initial import" Adding  /tmp/project/branches Adding  /tmp/project/tags Adding  /tmp/project/trunk Adding  /tmp/project/trunk/foo.c Adding  /tmp/project/trunk/bar.c Adding  /tmp/project/trunk/Makefile … Committed revision 1. $
Comienzo rápido Para comenzar a manipular los datos del repositorio, se necesita crear una nueva “copia de trabajo” de los datos, una especie de entorno de trabajo privado: $ svn checkout file:///path/to/repos/trunk project A  project/foo.c A  project/bar.c A  project/Makefile … Checked out revision 1.
El repositorio La parte principal de Subversion es el repositorio, el cual es un almacén central de datos. El repositorio guarda información en forma de árbol de archivos. Cualquier número de clientes puede conectarse al repositorio y luego leer o escribir en esos archivos. El repositorio es una especie de servidor de archivos, pero no del tipo habitual. Lo que hace especial al repositorio de Subversion es que recuerda todos los cambios hechos sobre él.
Modelos de versionado El problema: Solución Bloqueo:
Solución copiar-modificar-mezclar:
Conclusión Subversion nos hubiera ayudado a hacer el trabajo de una manera más eficiente.
FIN.

Más contenido relacionado

ODP
Subversion
PPT
Presentación SUbversion
ODP
Sistemas para el Control de Versiones de Código
PPTX
Técnicas avanzadas de control de versiones
PPTX
Subversion
PDF
Control de versiones y Subversion
PDF
Cvs EspañOl
PPT
Subversion
Presentación SUbversion
Sistemas para el Control de Versiones de Código
Técnicas avanzadas de control de versiones
Subversion
Control de versiones y Subversion
Cvs EspañOl

La actualidad más candente (20)

ODT
OpenLdap en RedHat 6.2
PDF
Practica1 pro ft_pd_fran_gavilan
PPTX
Creacion de un Repositorio Local en CentOS_6.0
PPT
Mercurial
PDF
Yungán geovanny bdii_t7
PPTX
Maven Overview
PPTX
Subversión
PDF
04 Php. Configuracion De Apache
PPTX
SERVIDOR WEB PARA LINUX
PDF
Guia01 control versiones
PPT
Servidor De Prueba (Wamp Y Php)Presentacion
 
PPTX
Servidor web para linux
DOCX
Asignacion nº 1
PPTX
Archivo pdf
PDF
Debian
PDF
EJB con Eclipse y JBoss
PDF
Control de versiones
PDF
92 Php. Instalar Php4 Como Cgi
PDF
Tomcat y Jboss
OpenLdap en RedHat 6.2
Practica1 pro ft_pd_fran_gavilan
Creacion de un Repositorio Local en CentOS_6.0
Mercurial
Yungán geovanny bdii_t7
Maven Overview
Subversión
04 Php. Configuracion De Apache
SERVIDOR WEB PARA LINUX
Guia01 control versiones
Servidor De Prueba (Wamp Y Php)Presentacion
 
Servidor web para linux
Asignacion nº 1
Archivo pdf
Debian
EJB con Eclipse y JBoss
Control de versiones
92 Php. Instalar Php4 Como Cgi
Tomcat y Jboss
Publicidad

Similar a Subversion (20)

PPT
Presentacion Subversion
ODP
Desarrollo Subversivo
PPTX
PPT Git GitHub
PDF
Subversion Press
PDF
Control de versiones utilizando subversion
PDF
Unidad 2
PDF
Tutorial de subvesion
PPT
"Control de Versiones - CVS en proyectos .NET"
PPTX
Lp II clase03 - Entornos de Desarrollo
PPT
Control de Versiones - Uso de CVS en proyectos .NET
PDF
Unidad_2
PDF
Integrando sonar
PDF
PPTX
software APACHE.
DOCX
Reporte servicios web
PDF
Gestión del software con Maven y Jenkins
PDF
Control de versiones con git
PDF
[ES] Control de versiones con subversion
PDF
Servicio apache gnu linux-centos ::: http://leymebamba.com
Presentacion Subversion
Desarrollo Subversivo
PPT Git GitHub
Subversion Press
Control de versiones utilizando subversion
Unidad 2
Tutorial de subvesion
"Control de Versiones - CVS en proyectos .NET"
Lp II clase03 - Entornos de Desarrollo
Control de Versiones - Uso de CVS en proyectos .NET
Unidad_2
Integrando sonar
software APACHE.
Reporte servicios web
Gestión del software con Maven y Jenkins
Control de versiones con git
[ES] Control de versiones con subversion
Servicio apache gnu linux-centos ::: http://leymebamba.com
Publicidad

Último (20)

PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
PDF
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
PDF
Ficha de Atencion a Padres de Familia IE Ccesa007.pdf
PDF
Didáctica de las literaturas infantiles.
PDF
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PDF
Modelo Educativo SUB 2023versión final.pdf
PDF
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
PDF
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
PDF
Las Matematicas y el Pensamiento Cientifico SE3 Ccesa007.pdf
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PPTX
4. Qué es un computador PARA GRADO CUARTO.pptx
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
PPTX
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
PDF
Házlo con Miedo - Scott Allan Ccesa007.pdf
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PDF
Lo que hacen los Mejores Profesores de la Universidad - Ken Bain Ccesa007.pdf
PPTX
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
PDF
KOF-2022-espanol-mar-27-11-36 coke.pdf jsja
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
Ficha de Atencion a Padres de Familia IE Ccesa007.pdf
Didáctica de las literaturas infantiles.
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
Modelo Educativo SUB 2023versión final.pdf
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
Las Matematicas y el Pensamiento Cientifico SE3 Ccesa007.pdf
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
4. Qué es un computador PARA GRADO CUARTO.pptx
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
Házlo con Miedo - Scott Allan Ccesa007.pdf
Ernst Cassirer - Antropologia Filosofica.pdf
Lo que hacen los Mejores Profesores de la Universidad - Ken Bain Ccesa007.pdf
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
KOF-2022-espanol-mar-27-11-36 coke.pdf jsja

Subversion

  • 1. Subversion Ixchel Stephanie Zazueta García 2do Semestre Ingeniería en Software
  • 2. El Concurrent Versions System, es una aplicación que implementa un sistema de control de versiones: mantiene el registro de todo el trabajo y los cambios en los ficheros que forman un proyecto y permite que distintos desarrolladores colaboren. CVS, qué es?
  • 3. Arquitectura cliente-servidor. Originalmente, el servidor utilizaba un sistema operativo similar a Unix, aunque en la actualidad existen versiones de CVS en otros sistemas operativos, incluido Windows. Varios clientes pueden sacar copias del proyecto al mismo tiempo. Cuando actualizan sus modificaciones, el servidor trata de acoplar las diferentes versiones. Los clientes pueden también comparar diferentes versiones de archivos, solicitar una historia completa de los cambios, o sacar una "foto" histórica del proyecto tal como se encontraba en una fecha determinada o en un número de revisión determinado. Los clientes también pueden utilizar la orden de actualización con el fin de tener sus copias al día con la última versión que se encuentra en el servidor. CVS también puede mantener distintas "ramas" de un proyecto. Por ejemplo, una versión difundida de un proyecto de programa puede formar una rama y ser utilizada para corregir errores. Características
  • 4. Historia / Limitantes CVS fue desarrollado por GNU. Se otorga con licencia GPL. Actualmente existen muchas versiones de CVS implantadas en los diferentes sistemas operativos. Limitaciones del protocolo CVS: Los archivos en el repositorio sobre la plataforma CVS no pueden ser renombrados. Cada archivo en cada subdirectorio debe ser eliminado y re-agregado con el nuevo nombre. Soporte limitado para archivos Unicode con nombres de archivo no ASCII.
  • 5. Fuerte integración con Apache : Esto permite definir controles de acceso avanzados y navegación vía web para consultar el deposito de archivos. Transparencia al eliminar y cambiar nombres de archivos : CVS requiere intervención manual en el deposito para lograrlo, Subversion contempla esta deficiencia y la corrige con éxito. Copias ligeras sobre ramificaciones : La generación de ramificaciones en CVS además de ser un proceso involucrado implica la generación de una copia nueva en el deposito, mismo mecanismo que hace crecer el tamaño del deposito, Subversion independientemente del numero de ramificaciones creadas mantiene un árbol diferencial de cambios, minimizando así el espacio consumido en el deposito. Copias diferenciales de archivos binarios : Subversion es capaz de mantener un control diferencial sobre cualquier archivo binario del deposito, CVS requiere archivar copias completas de un archivo binario cada vez que éste cambia. SVN sobre CVS:
  • 6. Es un software de sistema de control de versiones. (2000 / CollabNet Inc.) Es software libre bajo una licencia de tipo Apache/BSD. Se le conoce también como svn por ser ese el nombre de la herramienta de línea de comandos. Una característica importante es que, a diferencia de CVS , los archivos versionados no tienen cada uno un número de revisión independiente. Todo el repositorio tiene un único número de versión que identifica un estado común de todos los archivos del repositorio en cierto punto del tiempo. Qué es?
  • 7. Se sigue la historia de los archivos y directorios a través de copias y renombrados. Las modificaciones (incluyendo cambios a varios archivos) son atómicas. La creación de ramas y etiquetas es una operación más eficiente; Tiene costo de complejidad constante y no lineal como en CVS. Se envían sólo las diferencias en ambas direcciones. Puede ser servido mediante Apache, sobre WebDAV/DeltaV. Esto permite que clientes WebDAV utilicen Subversion en forma transparente. Maneja eficientemente archivos binarios. Permite selectivamente el bloqueo de archivos. Cuando se usa integrado a Apache permite utilizar todas las opciones que este servidor provee a la hora de autentificar archivos (SQL, LDAP, PAM, etc.). Características
  • 8. El manejo de cambio de nombres de archivos no es completo. Lo maneja como la suma de una operación de copia y una de borrado. No resuelve el problema de aplicar repetidamente parches entre ramas, no facilita el llevar la cuenta de qué cambios se han trasladado. Esto se resuelve siendo cuidadoso con los mensajes de commit. Esta carencia será corregida en la próxima versión (1.5). Carencias
  • 9. Arquitectura En un extremo se encuentra un repositorio de Subversion que conserva todos los datos versionados. Al otro lado, hay un programa cliente Subversion que administra réplicas parciales de esos datos versionados (llamadas “copias de trabajo”). Entre estos extremos hay múltiples rutas a través de varias capas de acceso al repositorio (AR). Algunas de estas rutas incluyen redes de ordenadores y servidores de red que después acceden al repositorio. Otras pasan por alto la red y acceden al repositorio directamente.
  • 10. Subversion está construido sobre una capa de portabilidad llamada APR (Apache Portable Runtime), lo cual significa que Subversion debería funcionar en cualquier sistema operativo donde lo haga el servidor httpd Apache. La manera más sencilla de obtener Subversion es descargando un paquete binario construido para su sistema operativo. Alternativamente, usted puede compilar Subversion directamente a partir del código fuente. Instalación
  • 11. svn: El programa cliente de línea de comandos. svnversion: Programa para informar del estado (en términos de revisiones de los elementos presentes) de una copia de trabajo. Svnlook: Una herramienta para inspeccionar un repositorio de Subversion. Svnadmin : Herramienta para crear, modificar o reparar un repositorio de Subversion. Svndumpfilter : Un programa para filtrar el formato de salida de volcado de repositorios Subversion. mod_dav_svn : Un módulo para el servidor HTTP Apache usado para hacer que su repositorio esté disponible a otros a través de una red. Svnserve : Un servidor independiente, ejecutable como proceso demonio o invocable por SSH; otra manera de hacer que su repositorio esté disponible para otros a través de una red. Componentes de Subversion
  • 12. Comienzo rápido Para comenzar, cree un nuevo repositorio: $ svnadmin create /path/to/repos $ ls /path/to/repos conf/ dav/ db/ format hooks/ locks/ README.txt A continuación, se crea un árbol de ficheros y directorios para importar dentro del repositorio. Su estructura debería tener tres directorios en el primer nivel de la jerarquía llamados branches,tags, y trunk: /tmp/project/branches/ /tmp/project/tags/ /tmp/project/trunk/ foo.c bar.c Makefile …
  • 13. Comienzo rápido Una vez tenga un árbol de datos listo para continuar, se importa dentro del repositorio con el comando svn import: $ svn import /tmp/project file:///path/to/repos -m "initial import" Adding /tmp/project/branches Adding /tmp/project/tags Adding /tmp/project/trunk Adding /tmp/project/trunk/foo.c Adding /tmp/project/trunk/bar.c Adding /tmp/project/trunk/Makefile … Committed revision 1. $
  • 14. Comienzo rápido Para comenzar a manipular los datos del repositorio, se necesita crear una nueva “copia de trabajo” de los datos, una especie de entorno de trabajo privado: $ svn checkout file:///path/to/repos/trunk project A project/foo.c A project/bar.c A project/Makefile … Checked out revision 1.
  • 15. El repositorio La parte principal de Subversion es el repositorio, el cual es un almacén central de datos. El repositorio guarda información en forma de árbol de archivos. Cualquier número de clientes puede conectarse al repositorio y luego leer o escribir en esos archivos. El repositorio es una especie de servidor de archivos, pero no del tipo habitual. Lo que hace especial al repositorio de Subversion es que recuerda todos los cambios hechos sobre él.
  • 16. Modelos de versionado El problema: Solución Bloqueo:
  • 18. Conclusión Subversion nos hubiera ayudado a hacer el trabajo de una manera más eficiente.
  • 19. FIN.