Servidores SVN
Servidores SVN
el nombre de la herramienta utilizada en la lnea de comando. Subversion puede acceder al repositorio a travs de redes, lo que le permite ser usado por personas que se encuentran en distintas computadoras. A cierto nivel, la posibilidad de que varias personas puedan modificar y administrar el mismo conjunto de datos desde sus respectivas ubicaciones fomenta la colaboracin. Con esto podriamos evitar perdida de informacion o en nuestro caso por ejemplo perdida de un proyecto de elaboracion de software. Clientes SVN Existen varias interfaces a Subversion, ya sea programas individuales como interfaces que lo integran en entornos de desarrollo: -TortoiseSVN. Provee integracin con el explorador de Microsoft Windows. Es la interfaz ms popular en este sistema operativo. -Subclipse. Complemento que integra Subversion al entorno Eclipse. -Subversive. Complemento alternativo para Eclipse. -ViewVC. Interfaz web, que tambin trabaja delante de CVS. -Para Mac OS X, pueden emplearse SvnX, RapidSVN y Zigversion. -RapidSVN tambin corre en Linux. -RabbitVCS, para el administrador de archivos Nautilus del escritorio GNOME, inspirado por TortoiseSVN. -KDESvn. Provee integracin con el entorno de escritorio KDE, muy parecido en aparencia/funcionamiento/caractersticas a TortoiseSVN. -Easyeclipse, es un paquete basado en Eclipse, con algunos complementos de cdigo abierto. -sventon. Interfaz web. -Versions. Interfaz de escritorio para Mac OS X. -AnkhSVN. Extensin para Visual Studio, para las versiones 2002, 2003, 2005, 2008, 2010 y 2012. El Cliente o interfaz mas utilizado hoy en dia es Tortoise. Uso y reconocimiento Subversion es muy conocido en la comunidad de software libre y se utiliza en muchos proyectos, como: Apache Software Foundation
Django (migrado a Git) Free Pascal FreeBSD GCC KDE (en proceso de migracin a Git) Ruby Tigris.org Servicios que proporcionan almacenamiento usando Subversion gratuito para proyectos de software libre: SourceForge Google Code Project Kenai CodePlex Forja de Conocimiento Libre de la Comunidad RedIRIS de RedIRIS Subversin tambin est siendo adoptado en el mundo corporativo. En un informe 2007 de Forrester Research, reconoca a Subversion como el lder destacado en la categora de sistema de control de versiones. Subversion es un sistema de control de versiones que realiza un seguimiento de los cambios realizados en los archivos y carpetas (directorios), lo que facilita la recuperacin de datos y proporcionar un historial de los cambios que se han hecho en el tiempo. Subversion fue diseado para reemplazar Concurrent Versions System (CVS), un programa creado para guardar y recuperar varias versiones de cdigo fuente. Estas son las principales caractersticas de Subversion: Versiones est hecho para las carpetas as como para los archivos individuales. Hay una disposicin para agregar, eliminar, copiar y renombrar archivos y carpetas. Las propiedades del archivo y la carpeta se registran a travs del tiempo, creando as una historia detallada. Los desarrolladores pueden crear y enviar los cambios como atmicos, unidades autnomas. Es fcil de implementar nuevas funciones de red. Los archivos de texto y binarios se almacenan y se manejan de una manera consistente. Las ramas y las etiquetas se crean de manera eficiente y rpida. Subversion es fcil de usar con otro software y lenguajes de programacin. Karl Fogel y Ben Collins-Sussman Subversion diseado como software libre y de
cdigo abierto (FOSS). La intencin de los desarrolladores era resolver los errores y defectos inherentes caractersticas en CVS y proporcionar una mejor interfaz. Fogel y Collins-Sussman comenz a desarrollar Subversion en 2000. La comunidad de cdigo abierto ha colaborado en el proyecto desde ese momento.
Control de versiones Se llama control de versiones a la gestin de los diversos cambios que se realizan sobre los elementos de algn producto o una configuracin del mismo. Una versin, revisin o edicin de un producto, es el estado en el que se encuentra dicho producto en un momento dado de su desarrollo o modificacin. Aunque un sistema de control de versiones puede realizarse de forma manual, es muy aconsejable disponer de herramientas que faciliten esta gestin dando lugar a los llamados sistemas de control de versiones o SVC (del ingls System Version Control). Estos sistemas facilitan la administracin de las distintas versiones de cada producto desarrollado, as como las posibles especializaciones realizadas (por ejemplo, para algn cliente especfico). Ejemplos de este tipo de herramientas son entre otros: CVS, Subversion, SourceSafe, ClearCase, Darcs, Bazaar , Plastic SCM, Git, Mercurial, Perforce. El mtodo de control de versiones usado por mucha gente es copiar los archivos a otro directorio (quizs indicando la fecha y hora en que lo hicieron, si son avispados). Este enfoque es muy comn porque es muy simple, pero tambin tremendamente propenso a errores. Es fcil olvidar en qu directorio te encuentras, y guardar accidentalmente en el archivo equivocado o sobrescribir archivos que no queras. Para hacer frente a este problema, los programadores desarrollaron hace tiempo VCSs locales que contenan una simple base de datos en la que se llevaba registro de todos los cambios realizados sobre los archivos Sistemas Git Hasta hoy, la mayora de los proyectos en desarrollo de cdigo abiertro y un largo nmero de proyectos corporativos usan Subversion para manejar su cdigo fuente. Es el VCS ms popular y ha existido por cerca de casi una dcada. Tambin es muy similar en muchas formas a CVS, el cual fue el hermano mayor del control de fuentes anteriormente. Una de las grandes caractersticas de Git es el puente bidireccional llamado git svn. Esta herramienta permite el uso de Git como un cliente vlido para un servidor Subversion, as que puedes utilizar todas las caractersticas locales de Git y luego hacer un "push" al servidor de Subversion como si estuvieras usando Subversion localmente. Esto significa que puedes hacer "branching" y "merging" localmente,
usar el rea de "staging", usar "rebasing" y "cherry-picking", y as, mientras tus colaboradores continuan trabajando en sus formas antiguas y oscuras. Es una buena forma de mirar a Git dentro de un ambiente corporativo y ayudar a tus buenos desarrolladores a hacerse ms eficientes mientras tu haces lobby para que puedan cambiar la infraestructura y as soportar Git completamente. El puente de Subversion es la droga de la puerta de enlace hacia el mundo de DVCS. Ventajas de GIT Existen grandes ventajas como son independencia ya que se puede hacer el trabajo incluso si no tienes conexion a red y luego pasarlo a algun otro lugar sin complicarse la vida y mejoras en la cooperacion entre los desarrolladores ya que se puede trabajar en ciertas partes del proyecto sin tener que subir todo a un servidor. Tambien muestra una mejora notable en la rapidez de desarrollo ya que no solo aumenta la facilidad de trabajo dentro del equipo de desarrollo sino que las tareas a realizar son mas rapidas por la forma de trabajo distribuida. Un punto que muchos temen dentro de un SCV (sistema de control de versiones) es el uso de ramas (branches), cosa que dentro de git es algo completamente natural ya que, al ser pensado para su uso en proyectos grandes, muy activos y con una gran cantidad de programadores este problema fue solucionado y diseado para ser facil. Algunas otras cosas que se pueden decir de GIT es que guarda el contenido y no los archivos, consiguiendo las versiones a partir de instananeas del proyecto y no solo las diferencias de cada fichero, dando un control sobre la manipulacion de los ficheros. Y el uso de un indice donde se puede trabajar los cambios antes de mandarlos al repositorio pero despues de modificar el proyecto para tener completamente el control sobre nuestro proyecto. Porque usar GIT Con las ventajas sealadas anteriormente podemos ver que git nos ofrece una buena libertad a la hora de pensar en hacer trabajos en equipo ya que en primer lugar, al ser un SCV podemos estar tranquilos de enfocarnos en un area especifica sin preocuparnos en que hacen los demas programadores y si lo que hacemos causa dao al proyecto solo se debe volver a una version anterior. En segundo lugar ofrece una gran flexibilidad comparado con otros SCV usados como svn y cvs. Y por ultimo gracias a git-svn, podemos usar git para trabajar en sistemas anteriores combinando los requisitos que se imponen con el potencial de esta herramienta.
Bibliografia Direccion: http://fulapol.wordpress.com/2011/05/09/sistema-de-control-de-versiones-git-i/ Direccion: http://git-scm.com/book/es/Git-y-Otros-Sistemas-Git-y-Subversion http://git-scm.com/book/es/Empezando-Acerca-del-control-de-versiones Direccion: http://searchenterpriselinux.techtarget.com/definition/Subversion Posted by: Margaret Rouse Direccion: http://es.wikipedia.org/wiki/Subversion_(software)