Desarrollo Subversivo
Agenda El modo “tradicional” de trabajo. Control de versiones? Subversion. Ciclo de trabajo. Uso en consola. Interfaces gráficas. Otros recursos. Cierre.
El esquema de trabajo “tradicional”. Gestión de cambios en archivos y directorios? Almacenamiento simple de archivos. Sistema de archivos. Servidor de archivos. No atomicidad Cambios a medias (BS?) Imposibilidad de registro histórico. Imposibilidad de revertir cambios. A menos que se tengan n “backups” por todos lados... Impedir cambios. Los contratos sociales son ineficientes. La pérdida de tiempo y esfuerzo es inevitable!
Control de versiones? Gestión de cambios en archivos y directorios. Historicidad Atomicidad Posibilidad de registro histórico. Por archivo Por autor Por línea de código Revertir cambios. Integrar cambios. Reducir impacto de conflictos. Impedir cambios. Proteger archivos o directorios.
Subversion Un sistema de control de versiones. Free/Open Source (cumple con las guías Debian) Maduro (se desarrolla desde 2000) Nació para resolver los problemas de CVS Debía lucir familiar para usuarios CVS No introduce ningún paradigma revolucionario Se asienta sobre estándares y productos abiertos.
Subversion Versionado de directorios Histórico real de versiones. Atomicidad. Abstracción del modelo de acceso/red empleado. Gestión eficiente de cambios. Facilidad de branches y tags a bajo costo. Metadatos. Extensiva documentación Excelentes APIs
La arquitectura de Subversion
Iniciando el trabajo con Subversion Servidor. Crear repositorio. Administrar Proveer URL/permisos Cliente. Línea de comandos. GUIs Iniciar ciclo de trabajo Decidir sobre el esquema de comunicación (o no). Apache/WebDAV Sobre HTTP Sobre SSL SVNserve protocol (TCP 3690) Sobre texto plano Sobre túnel SSH Local ( file:/// ...) Decidir sobre la organización de los archivos (o no).
Breakdown: Servidor svnadmin es LA herramienta para crear, administrar y reparar repositorios SVN. Existen unas pocas herramientas como svnlook, svndumpfilter y svnsync, pero su uso es esporádico y los repositorios SVN requieren poco mantenimiento. El motor subyacente de almacenamiento de cambios permite obtener copias “en caliente” sin detener el repositorio.
Breakdown: Servidor
Breakdown: Servidor
Breakdown: Servidor Configuración de Apache2: Activar mod_dav y mod_dav_svn Agregar un handler para cada repositorio:
Breakdown: Cliente (línea de comandos) Crear una copia de trabajo local (1 sola vez) Importar estructura y archivos preexistentes (1 sola vez) Iniciar el ciclo de trabajo propiamente dicho.
Breakdown: Cliente (línea de comandos) svn add: agregar archivos al working copy, para su posterior envío a repositorio:
Breakdown: Cliente (línea de comandos) svn commit: envío efectivo y atómico de los cambios efectuados localmente al repositorio central de código.
Breakdown: Cliente (GUI con Kioslave) Inicia el ciclo de trabajo propiamente dicho: svn update
Breakdown: Cliente (GUI con Kioslave) Se efectúan cambios localmente.
Breakdown: Cliente (GUI con Kioslave) Se envían los cambios locales a repositorio.
Otros clientes SVN Windows CLI TortoiseSVN (extensión de Explorer) Mac SCPlugin (extensión de Finder) Otros Subclipse (plugin para Eclipse)
Otras herramientas en torno a SVN (instalables) Trac
Otras herramientas en torno a SVN (instalables) Trac
Otras herramientas en torno a SVN (instalables) WebSVN
Otras herramientas en torno a SVN (online) Ohloh.net
Otras herramientas en torno a SVN (online) Ohloh.net
Otras herramientas en torno a SVN (online) Assembla.com
Mas referencias en línea Información y aplicaciones Subversion: http://subversion.tigris.org http://svnbook.red-beans.com http://tortoisesvn.tigris.org http://trac.edgewall.com Hosting Subversion para proyectos FOSS: http://sourceforge.net http://www.assembla.com http://opensvn.csie.org
Cierre Gracias, espero que usen SVN en sus próximos proyectos. (o cualquier otro software de control de versiones) ;)
Autor Ariel Graneros - dalecter@hotmail.com Esta obra está bajo una  licencia  de Creative Commons.

Desarrollo Subversivo

  • 1.
  • 2.
    Agenda El modo“tradicional” de trabajo. Control de versiones? Subversion. Ciclo de trabajo. Uso en consola. Interfaces gráficas. Otros recursos. Cierre.
  • 3.
    El esquema detrabajo “tradicional”. Gestión de cambios en archivos y directorios? Almacenamiento simple de archivos. Sistema de archivos. Servidor de archivos. No atomicidad Cambios a medias (BS?) Imposibilidad de registro histórico. Imposibilidad de revertir cambios. A menos que se tengan n “backups” por todos lados... Impedir cambios. Los contratos sociales son ineficientes. La pérdida de tiempo y esfuerzo es inevitable!
  • 4.
    Control de versiones?Gestión de cambios en archivos y directorios. Historicidad Atomicidad Posibilidad de registro histórico. Por archivo Por autor Por línea de código Revertir cambios. Integrar cambios. Reducir impacto de conflictos. Impedir cambios. Proteger archivos o directorios.
  • 5.
    Subversion Un sistemade control de versiones. Free/Open Source (cumple con las guías Debian) Maduro (se desarrolla desde 2000) Nació para resolver los problemas de CVS Debía lucir familiar para usuarios CVS No introduce ningún paradigma revolucionario Se asienta sobre estándares y productos abiertos.
  • 6.
    Subversion Versionado dedirectorios Histórico real de versiones. Atomicidad. Abstracción del modelo de acceso/red empleado. Gestión eficiente de cambios. Facilidad de branches y tags a bajo costo. Metadatos. Extensiva documentación Excelentes APIs
  • 7.
  • 8.
    Iniciando el trabajocon Subversion Servidor. Crear repositorio. Administrar Proveer URL/permisos Cliente. Línea de comandos. GUIs Iniciar ciclo de trabajo Decidir sobre el esquema de comunicación (o no). Apache/WebDAV Sobre HTTP Sobre SSL SVNserve protocol (TCP 3690) Sobre texto plano Sobre túnel SSH Local ( file:/// ...) Decidir sobre la organización de los archivos (o no).
  • 9.
    Breakdown: Servidor svnadmines LA herramienta para crear, administrar y reparar repositorios SVN. Existen unas pocas herramientas como svnlook, svndumpfilter y svnsync, pero su uso es esporádico y los repositorios SVN requieren poco mantenimiento. El motor subyacente de almacenamiento de cambios permite obtener copias “en caliente” sin detener el repositorio.
  • 10.
  • 11.
  • 12.
    Breakdown: Servidor Configuraciónde Apache2: Activar mod_dav y mod_dav_svn Agregar un handler para cada repositorio:
  • 13.
    Breakdown: Cliente (líneade comandos) Crear una copia de trabajo local (1 sola vez) Importar estructura y archivos preexistentes (1 sola vez) Iniciar el ciclo de trabajo propiamente dicho.
  • 14.
    Breakdown: Cliente (líneade comandos) svn add: agregar archivos al working copy, para su posterior envío a repositorio:
  • 15.
    Breakdown: Cliente (líneade comandos) svn commit: envío efectivo y atómico de los cambios efectuados localmente al repositorio central de código.
  • 16.
    Breakdown: Cliente (GUIcon Kioslave) Inicia el ciclo de trabajo propiamente dicho: svn update
  • 17.
    Breakdown: Cliente (GUIcon Kioslave) Se efectúan cambios localmente.
  • 18.
    Breakdown: Cliente (GUIcon Kioslave) Se envían los cambios locales a repositorio.
  • 19.
    Otros clientes SVNWindows CLI TortoiseSVN (extensión de Explorer) Mac SCPlugin (extensión de Finder) Otros Subclipse (plugin para Eclipse)
  • 20.
    Otras herramientas entorno a SVN (instalables) Trac
  • 21.
    Otras herramientas entorno a SVN (instalables) Trac
  • 22.
    Otras herramientas entorno a SVN (instalables) WebSVN
  • 23.
    Otras herramientas entorno a SVN (online) Ohloh.net
  • 24.
    Otras herramientas entorno a SVN (online) Ohloh.net
  • 25.
    Otras herramientas entorno a SVN (online) Assembla.com
  • 26.
    Mas referencias enlínea Información y aplicaciones Subversion: http://subversion.tigris.org http://svnbook.red-beans.com http://tortoisesvn.tigris.org http://trac.edgewall.com Hosting Subversion para proyectos FOSS: http://sourceforge.net http://www.assembla.com http://opensvn.csie.org
  • 27.
    Cierre Gracias, esperoque usen SVN en sus próximos proyectos. (o cualquier otro software de control de versiones) ;)
  • 28.
    Autor Ariel Graneros- dalecter@hotmail.com Esta obra está bajo una licencia de Creative Commons.