Articulo Para Control de Versiones

download Articulo Para Control de Versiones

If you can't read please download the document

  • date post

    11-Nov-2015
  • Category

    Documents

  • view

    219
  • download

    0

Embed Size (px)

description

Articulos de aplicaciones que sirven para el control de versiones

Transcript of Articulo Para Control de Versiones

Alcides Y. LeaosBarrio Polanco Calle 2 Nro 15Telf. +501 70898308alcides@dualbiz.netAriel DominguezPq. Industrial Mza 10 ATelf. +501 78523260ariel.dominguez.vargas@gmail.com

ABSTRACTEl presente artculo muestra la importancia de utilizar una herramienta para controlar las versiones de archivos o conjunto de archivos y a GIT como una de ellas.

INTRODUCCIONEl control de versiones es un sistema que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo, de modo que se puedan recuperar versiones especficas ms adelante. GIT es un sistema de control de versiones distribuido, donde los clientes no solo descargan la ltima versin de los archivos, replican completamente el repositorio, de tal manera que si un servidor cae, cualquiera de los repositorios de los clientes puede copiarse en el servidor para restaurarlo.El desarrollo de Git comenz luego que muchos desarrolladores del kernel de Linux decidieron dejar de utilizar el sistema BitKeeper. Git fue diseado por Linus Torvalds pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran nmero de archivos de cdigo fuente.FUNDAMENTOS DE GITGit almacena y modela la informacin de manera muy diferente a otros sistema, aunque su interfaz es muy similar.Instantneas no diferenciasLa principal diferencia entre GIT y cualquier otro (Subversion, Perfonmance, Bazaar), es como GIT modela sus datos.Muestras otros sistemas modelan su informacin como un conjunto de archivos y las modificaciones hecha a cada uno de ellos a lo largo del tiempo.

GIT modela sus datos como un conjunto de fotos instantneas de todos los archivos y guarda referencias.

Casi cualquier operacin es de manera localLa mayora de las operaciones de GIT solo necesita archivo y recursos locales para operar. Esto implica una mayor velocidad de respuestaIntegridadTodo en Git es verificado mediante una suma de comprobacin (checksum en ingls) antes de ser almacenado, y es identificado a partir de ese momento mediante dicha suma. Esto significa que es imposible cambiar los contenidos de cualquier archivo o directorio sin que Git lo sepa. Esta funcionalidad est integrada en Git al ms bajo nivel y es parte integral de su filosofa. No puedes perder informacin durante su transmisin o sufrir corrupcin de archivos sin que Git lo detecte.

El mecanismo que usa Git para generar esta suma de comprobacin se conoce como hash SHA-1. Se trata de una cadena de 40 caracteres hexadecimales (0-9 y a-f), y se calcula en base a los contenidos del archivo o estructura de directorios. Un hash SHA-1 tiene esta pinta.GIT generalmente solo aade informacinCuando realizas acciones en Git, casi todas ellas slo aaden informacin a la base de datos de Git. Es muy difcil conseguir que el sistema haga algo que no se pueda deshacer, o que de algn modo borre informacin.Los tres estadosGit tiene tres estados principales en los que se pueden encontrar los archivos: confirmado (committed), modificado (modified), y preparado (staged). Confirmado significa que los datos estn almacenados de manera segura en la base de datos local. Modificado significa que has modificado el archivo pero todava no se has confirmado a tu base de datos. Preparado significa que has marcado un archivo modificado en su versin actual para que vaya en tu prxima confirmacinINSTALACIONLa manera ms fcil de instalar GIT es descargando desde la pgina de GitHub y ejecutar dicho instalador.

CONFIGURACIONPrimeramente se tiene que crear el repositorio, clonar o abrir uno existente

Se tiene que direccionar donde se crear el repositorio

Luego de eso se puede comenzar a crear los diferentes archivos y trabajar con GIT

Richard H. Moron BordaCalle Pedro Galvez #3895Telf. +591 77858085richardom09@gmail.com

Gerardo MirandaAv. Ovidio Barbery c/ San Jos #10 Telf. +501 76668095Gerardo.miranda.cespes@gmail.com

1. ABSTRACTEl presente artculo hace una explicacin del software Subversion, el cual es open source y permite el control de versiones principalmente de archivos de cdigo fuente.INTRODUCCIONSubversion, conocido tambin como SVN, fue creado por CollabNet Inc. en 2000, y actualmente es un proyecto Apache liberado para la comunidad.Permite el acceso remoto al repositorio brindando la posibilidad de que varias personas puedan trabajar en el mismo conjunto de datos desde sus diferentes estaciones lo cual fomenta la colaboracin y control del histrico de los archivos del proyecto.Actualmente cuenta con varias interfaces de cliente para ser aprovechado desde diferentes plataformas, como ser ambientes de escritorio y acceso web entre otros.CARACTERSTICAS

Entre sus principales prestaciones de Subversion podemos mencionar: Realiza el commit como operaciones atmicas, es decir que los cambios no tienen efecto hasta que se complete todo el commit. Mantiene el histrico de los archivos renombrados, copiados o eliminados. Tambin versiona los directorios. Los cambios se actualizan en ambas direcciones. Permite el bloqueo de archivos mientras estn en edicin. Es posible realizar un seguimiento de flujo para los Merges. Puede funcionar con el servidor HTTP de Apache con protocolo Web y aprovechas las prestaciones del servidor. Tambin puede funcionar con un servidor independiente con su propio protocolo.Clientes Actualmente existen varias interfaces a Subversion, ya sea programas individuales como interfaces que lo integran en entornos de desarrollo. Algunas de ellos son: TortoiseSVN, Subclipse, Subversive, ViewVC, RapidSVN, Versions y muchos ms.Soporte Apache ofrece soporte para Subversion mediante los siguientes canales oficiales: documentacin en lnea, Wiki, mailing lists, posibilidad de reportar bugs, adems de ello se pueden encontrar muchos foros de terceros.LIMITACIONESActualmente cuenta con algunas limitaciones como el manejo de cambio de nombres de archivos que no es completo. No resuelve el problema de aplicar repetidamente parches entre ramas, no facilita llevar la cuenta de qu cambios se han realizado. Esto se resuelve siendo cuidadoso con los mensajes de commit.CONCLUSIONESSubversion es un software que permite controlar las versiones del cdigo del proyecto y permite la colaboracin entre los miembros, cuenta con muchas herramientas de clientes para aprovecharlo y de igual manera puede ser instalado de forma independiente o con el servidor Web de apache, depende cuales sean las necesidades del equipo Subversion podra adaptarse a estas.

Aunque cuenta con varias prestaciones no debemos dejar de lado las limitaciones y como estas podran afectar nuestro proyecto, sin embargo al ser un proyecto open source mantenido por Apache actualmente vemos que est siendo aprovechado por la comunidad y mejorando sus prestaciones.[Ver Demo] https://www.youtube.com/watch?v=D6cnYFlBCqc

Isai GalarzaCalle Mexico #169Telf. +501 76697797Isai.galarza@qbit.com.boLeonardo Vargas PeaAv. Mario Gutirrez #3320Telf. +501 65053299Leonardo.vargas.83@gmail.com

ABSTRACTEste articulo pretende ayudar a equipos de desarrollo colaborativos entiendan los beneficios de esta herramienta como control de versiones, para el buen tratamiento del cdigo de sus proyectos.INTRODUCCIONStash es una solucin para administrar repositorios Git de manera centralizada en los servidores propios de nuestra empresa. Nos ofrece capacidades similares a servicios como Bitbucket o Github, con la ventaja de poder ser nosotros quien escojamos dnde y cmo instalar la aplicacin, mantenerla, e integrarla con nuestro entorno.UTILIZANDO STASHStash est pensado tambin para equipos que no utilizan Git pero quieren empezar a hacerlo. Podemos utilizar Stash como la aplicacin alrededor de la cual giren nuestros proyectos, revisiones de cdigo, comentarios consiguiendo as los beneficios de un modelo centralizado junto con las facilidades y agilidad de un modelo distribuido.

Para estos equipos que an no conozcan los Sistemas de Control de Versiones Descentralizados, Atlassian ha preparado un espacio en el que explica el funcionamiento y las ventajas de este paradigma.Gestin sencilla y centralizada de usuariosPara facilitar la gestin de usuarios de nuestros repositorios, Stash est completamente integrado con LDAP, de modo que podemos conectarlo al servidor de nuestra empresa, as de fcil. Si lo preferimos, tambin tenemos la opcin de conectarlo a nuestra instancia de JIRA, que har las veces de servidor Crowd.Stash nos permite asignar permisos a cada usuario sobre distintos repositorios, teniendo as los proyectos y su cdigo tan compartimentados como necesitemos.

Seguimiento del cdigoLa interfaz de Stash est pensada para hacer sencilla la visualizacin y revisin de cdigo. Con Stash podemos realizar muy fcilmente un seguimiento de qu commits han resuelto qu incidencias, quin ha escrito qu cambio y en general, por qu se ha escrito cada lnea.

Administracin sencilla y estructurada de los proyectosEs habitual que un proyecto gestionado con un DCVS tenga multitud de repositorios. Stash contempla ese esquema de organizacin, facilitndonos la administracin de los proyectos, su integracin con nuestras herramientas y la gestin de permisos de los mismos.

Integracin con JIRAIntegrar Stash con JIRA es muy sencillo y nos proporciona multitud de ventajas. Basta con incluir la clave de una incidencia en un commit para tener ambos automticamente enlazados. De esta forma podemos saber en todo momento qu commits contienen cdigo de qu incidencias.Esta integracin tambin nos permite visualizar el cdigo desde JIRA. Si queremos conocer qu solucin se le di a una incidencia, solo tenemos que buscarla en JIRA, abrir la pestaa Source y tendremos una lista de los commits que se corresponden con ella, pudiendo visualizar as los cambios que se hicieron en el cdigo para solucionar nustro problema.Extensible a travs de la APIComo es costumbre en las aplicaciones de Atlassian, Stash p