Ir al contenido principal

control de versiones



Control de versiones

Una versión, revisión o edición de un producto, es el estado en el que se encuentra dicho producto en un momento dado de su desarrollo o modificación. Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo. Los sistemas de control de versiones facilitan la administración de las distintas versiones de cada producto desarrollado, así como las posibles especializaciones realizadas (por ejemplo, para algún cliente específico).
El control de versiones se realiza principalmente en la industria informática para controlar las distintas versiones del código fuente. Sin embargo, los mismos conceptos son aplicables a otros ámbitos como documentos, imágenes, sitios web, etcétera.
Aunque un sistema de control de versiones puede realizarse de forma manual, es muy aconsejable disponer de herramientas que faciliten esta gestión (CVS, Subversion, SourceSafe, ClearCase, Darcs, Bazaar, Plastic SCM, Git, Mercurial, etc.).

Funcionalidades
Un sistema de control de versiones debe proporcionar:
  • Mecanismo de almacenamiento de los elementos que deba gestionar (ej. archivos de texto, imágenes, documentación...)
  • Posibilidad de realizar cambios sobre los elementos almacenados (ej. modificaciones parciales, añadir, borrar, renombrar o mover elementos)
  • Registro histórico de las acciones realizadas con cada elemento o conjunto de elementos (normalmente pudiendo volver o extraer un estado anterior del producto)
Aunque no es estrictamente necesario, suele ser muy útil la generación de informes con los cambios introducidos entre dos versiones, informes de estado, marcado con nombre identificativo de la versión de un conjunto de ficheros, etcétera.
Todos los sistemas de control de versiones se basan en disponer de un repositorio, que es el conjunto de información gestionada por el sistema. Este repositorio contiene el historial de versiones de todos los elementos gestionados.
Cada uno de los usuarios puede crearse una copia local duplicando el contenido del repositorio para permitir su uso. Es posible duplicar la última versión o cualquier versión almacenada en el historial. Este proceso se suele conocer como check out o desproteger. Para modificar la copia local existen dos semánticas básicas:
  • 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 automáticamente combina las diversas modificaciones. El principal problema es la posible aparición de conflictos que deban ser solucionados manualmente o las posibles inconsistencias que surjan al modificar el mismo fichero por varias personas no coordinadas. Además, esta semántica no es apropiada para ficheros binarios.
Tras realizar la modificación es necesario actualizar el repositorio con los cambios realizados. Habitualmente este proceso se denomina publicar, commit, check in o proteger.




Herramientas Para Control De Versiones

Existen actualmente en el mercado una enorme cantidad de herramientas para realizar Control De Versiones.

Subversión

El objetivo del proyecto Subversión es construir un sistema de Control De Versiones que sería la sustitución de CVS en la comunidad de Software Libre.
Es Software Libre bajo una licencia de tipo Apache/BSD y se le conoce también como SVN por ser ese el nombre de la herramienta de línea de comandos. Una característica importante de Subversion es que, a diferencia de CVS, los archivos versionados no tienen cada uno un número de revisión independiente. En cambio, 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.
 Ventajas frente al CVS
  • 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 (en CVS siempre se envían al servidor archivos completos).
  • Puede ser servido mediante Apache, sobre WebDAV/DeltaV. Esto permite que clientes WebDAV utilicen Subversion en forma transparente.
  • Maneja eficientemente archivos binarios (a diferencia de CVS que los trata internamente como si fueran de texto).
  • Permite selectivamente el bloqueo de archivos. Se usa en archivos binarios que, al no poder fusionarse fácilmente, conviene que no sean editados por más de una persona a la vez.


TortoiseSVN

Es un cliente de Subversion, implementado como una extensión shell de Windows.
TortoiseSVN es realmente fácil de usar Revisión de control / control de versiones / control de código para Windows. Dado que no es una herramienta para un IDE específico puede utilizarla con cualquier herramienta de desarrollo que le guste. TortoiseSVN es de utilización libre.




CVS

CVS es el mas popular sistema de control de versiones en la actualidad. Es robusto, probado mundialmente, y de Software Libre. Pero debido a diversas dificultades en mantener su código estable después de muchos años, y como la necesidad de elaborar nuevos paradigmas de herramientas de control de versión, fue creado el Subversion.

SVK

SVK es un sistema de control de versiones descentralizado construido con el robusto sistema de ficheros de Subversion. Soporta repositorio en espejo, desconectado de la operación, merge sensibtivo a la historia, y se integra con otros sistemas de control de versiones, así como populares herramientas merge visuales.

FishEye

Su repositorio código fuente contiene una gran cantidad de información útil que no es fácil de extraer, comprender o mantener al día. FishEye abre su repositorio lo ayuda a comprender mejor la evolución de su código fuente.

Comentarios

Entradas populares de este blog

Porque las gaseosas crush salierón del mercado

Porque las gaseosas crush salierón del mercado Las gaseosas crush es una marca estado unidense creada en 1916 por el químico Clayton J. Powel este en varios países de Suramérica, actualmente en Colombia es el único país donde no se descontinuo debido a su poco consumo, pero a pesar de eso era uno de los países donde se ofrecían más sabores de la bebida crush como lo eran: • Crush Durazno. • Crush Conexión Mandarina. • Crush Fusión (descontinuada). • Crush Manzana. • Crush Pasión (Manzana) (descontinuada) • Crush Tentación (Manzana) (descontinuada). • Crush Naranja. • Crush Uva. • Crush Mora. • Crush Banano (descontinuada) • Crush Nevula • Crush Pera • Crush Sandía (descontinuada) • Crush Tropical (descontinuada) • Crush Bacana (descontinuada) Este salió del mercado en el año 2008 debido que la marca no vio progreso en Colombia A pesar de eso no todos los sabores fueron sacados del mercado sino que lo sustituyo la marca fanta en el año 2012 y promoviendo los sabores que e...

Armando mi home studio y mostrando mi nuevo canal de youtube - Ruspec

Hola parceros hoy le traigo una nueva entrada en mi blog principalmente para mostrarles el nuevo canal de youtube el cula ya tiene aproximadamente unos 15 videos en los cuales estoy creando mi home estudio el cual lo realice desde cero, actualmente ya he comprado varias cosas como el microfono, las bases de estos, interfaces de audio marca behringer, aqui algunas imágenes canal youtube ->  https://www.youtube.com/channel/UCdb9tPtTJcYN-LyLL6YHDKg actualmente tengo varios videos en youtube en donde realizo mis unboxing, y donde tengo algunas canciones de diferente generos como rap, trap entre otros, los invito a que lo visiten, opinen y se suscriban, para seguir subiendo nuevo contenido cada semana, tambien pueden escribir en los comentarios dudas uo temas a fines que quieren que hable en los proximos videos. canal youtube ->  https://www.youtube.com/channel/UCdb9tPtTJcYN-LyLL6YHDKg muchas gracias por su atencion prestada parceros. ...

investigacion de diagrama de clases

-¿QUE ES UN DIAGRAMA DE CLASES? Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un  sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro. ES UNA ESTRUCTURA DONDE SE REPRESENTAN: Entidades y actuaciones La arqutectura  conceptual de un dominio Soluciones de diseño de una arquitectura Componentes de software orientada a objetos. ¿PARA QUE SIRVE? Para visualizar las relaciones entre las clasesque involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de contenimiento. Para realizar abstraccion de un dominio. Formalizar el analisis de conceptos. Definir una solucion de diseño. Construir componentes de software. ...