Vous êtes sur la page 1sur 5

1

Ingeniera Electrnica
Curso: Herramientas De Diseo Electrnico Grupo #:1

Ventajas y Desventajas de los repositorios (GIT, SVN, TFS)

Estudiantes: Nicols Montejo Prez II. MARCO TEORICO


Docente: Francisco Javier Beltrn
Fecha: 07/02/2017 Sistemas de control de versiones
Resumen: El presente articulo abarca el tema de repositorios centralizados [1]
centralizados, en especial GIT (software de control de
versiones diseado por Linus Torvalds, pensando en la Las ventajas de estos sistemas es que todo el
eficiencia y la confiabilidad del mantenimiento de versiones mundo puede saber (hasta cierto punto) en que
de aplicaciones cuando stas tienen un gran nmero de estn trabajando los otros colaboradores del
archivos de cdigo fuente), TFS (Team Foundation Server, Es proyecto. Los administradores tienen control
una herramienta de colaboracin que integra las aplicaciones detallado de que puede hacer cada uno; y es
del cliente proveyendo herramientas de administracin, mucho mas fcil administrar un CVCS que tener
informacin del proyecto, reportes y control de cdigo fuente que lidiar con bases locales de cada cliente.
integrado), y finalmente SVN (es una herramienta de control
de versiones open source basada en un repositorio cuyo Entre sus desventajas esta en que si el servidor se
funcionamiento se asemeja enormemente al de un sistema de cae durante una hora, entonces durante esa hora
ficheros). nadie puede colaborar o guardar cambios
versionados de aquello en que estn trabajando,
Abstract: This article covers the topic of centralized si el disco duro en el que se encuentra la base de
repositories, especially GIT (version control software datos se corrompe, y no se han llevado copias de
designed by Linus Torvalds, thinking about the efficiency and seguridad adecuadamente, pierdes absolutamente
reliability of the maintenance of versions of applications when todo toda la historia del proyecto salvo
they have a large number of code files Source), TFS (Team aquellas instantneas que la gente pueda tener en
Foundation Server, is a collaboration tool that integrates sus mquinas locales.
client applications, information management tools, integrated
source code management), and finally SVN (is an open source Los VCSs locales sufren de este mismo
version control tool based on A repository whose operation problema cuando tienes toda la historia del
closely resembles a file system). proyecto en un nico lugar, te arriesgas a
perderlo todo.
Keywords: GIT, SVN, TFS, CVCS
Caractersticas GIT [3]
I. INTRODUCCIN
Es un repositorio desarrollado por Linus
El control de versiones es un sistema que registra los cambios
Torvalds, con licencia GNU GPL v2, esta
realizados sobre un archivo o conjunto de archivos a lo largo
programado en lenguaje C, Bourne Shell, Perl.
del tiempo, de modo que puedas recuperar versiones
especficas ms adelante. Entre sus caractersticas permite
El cdigo se almacena de forma pblica, aunque
revertir archivos a un estado anterior, revertir el proyecto
tambin se puede hacer de forma privada,
entero a un estado anterior, comparar a lo largo del tiempo,
creando una cuenta de pago.
visualizar quien modifico por ultima vez algo que puede estar
causando un problema, costo muy bajo entro muchas otras.
Tiene una control de versin distribuida, con Un
repositorio con Copias locales del repositorio en
Un mtodo de control de versiones usado por mucha gente es
las que se trabaja directamente, la autorizacin
copiar los archivos a otro directorio. Este enfoque es muy
de acceso es para la totalidad del directorio, el
comn porque es muy simple, pero tambin propenso a
seguimiento de cambios esta basado en
errores.
contenido, en la conectividad de red Solo
necesario para la sincronizacin y en el historial
El gran problema que se encuentra la gente es que necesitan
de cambios Tanto el repositorio como las copias
colaborar con desarrolladores en otros sistemas. Para solventar
de trabajo individuales incluyen el historial
este problema, se desarrollaron los sistemas de control de
completo
versiones centralizados (Centralized Version Control Systems
o CVCSs en ingls). Estos sistemas, como CVS, Subversion, y
GitHub aloja tu repositorio de cdigo y te brinda
Perforce, tienen un nico servidor que contiene todos los
herramientas muy tiles para el trabajo en
archivos versionados, y varios clientes que descargan los
equipo, dentro de un proyecto.
archivos desde ese lugar central
2
Ingeniera Electrnica
Curso: Herramientas De Diseo Electrnico Grupo #:1

Adems de eso, puedes contribuir a mejorar el TFS [2]


software de los dems. Para poder alcanzar esta
meta, GitHub provee de funcionalidades para Team Foundation Server ofrece funciones de control
hacer un fork y solicitar pulls. de cdigo fuente, seguimiento de elementos de
trabajo, Team Foundation Build, un sitio web del
En la actualidad, GitHub es mucho ms que un portal del proyecto de equipo, creacin de informes y
servicio de alojamiento de cdigo. Adems de administracin de proyectos. Team Foundation
ste, se ofrecen varias herramientas tiles para el Server tambin incluye un almacn de datos donde se
trabajo en equipo. Entre ellas, caben destacar guardan los datos de seguimiento de elementos de
Una wiki para el mantenimiento de las distintas trabajo, el control de cdigo fuente, las
versiones de las pginas, Un sistema de compilaciones y las herramientas de pruebas. Otros
seguimiento de problemas que permiten a los servidores de Microsoft Visual Studio Team System
miembros de tu equipo detallar un problema con incluyen servidores de compilacin y servidores de
tu software o una sugerencia que deseen hacer, pruebas. Dependiendo de las necesidades de la
Una herramienta de revisin de cdigo, donde se empresa, podra optar por implementar slo algunos
pueden aadir anotaciones en cualquier punto de de estos servidores o bien todos ellos. Evale
un fichero y debatir sobre determinados cambios detenidamente tanto las caractersticas como los
realizados en un commit especfico y Un visor de requisitos de hardware y software de los servidores
ramas donde se pueden comparar los progresos de Microsoft Visual Studio Team System como parte
realizados en las distintas ramas de nuestro del planeamiento necesario para Microsoft Visual
repositorio Studio Team System.

Caractersticas de SVN [3] Todos los proyectos de equipo se almacenan y se


administran con Team Foundation Server. Para
Es desarrollado por CollabNet, Elego, Visual SVN, empezar a trabajar en un proyecto de equipo, primero
Wan disco, es un software libre bajo licencia de tipo deber conectarse al servidor de Team Foundation
apache/BSD, es de lenguaje C y es una Server adecuado. Antes de intentar conectarse a Team
multiplataforma. Foundation Server compruebe que es miembro de
algn grupo del servidor de Team Foundation Server
Es una herramienta de control de versiones open y que dispone de los permisos necesarios, o que su
source basada en un repositorio cuyo funcionamiento cuenta se ha agregado directamente al servidor de
se asemeja enormemente al de un sistema de ficheros. Team Foundation Server y se ha configurado con los
Es software libre bajo una licencia de tipo permisos correspondientes a la funcin que
Apache/BSD. Tiene una control de versin desempea en el proyecto. Si no se ha agregado al
centralizada, con Un repositorio central donde se servidor de Team Foundation Server, bien como
generan copias de trabajo, la autorizacin de acceso usuario o como miembro de un grupo, no podr
es dependiendo de la ruta de acceso, el seguimiento conectarse al servidor de Team Foundation Server.
de cambios esta basado en archivos, en la
conectividad de red es con cada acceso y en el III. PROCEDIMIENTO
historial de cambios Solo en el repositorio completo,
las copias de trabajo incluyen nicamente la versin A. Anlisis - Clculos: Los clculos realizados por el
ms reciente. estudiante para el diseo o anlisis del circuito o
sistema.
Utiliza el concepto de revisin para guardar los
cambios producidos en el repositorio. Entre dos Repositorio GIT
revisiones slo guarda el conjunto de modificaciones
Ventajas Trabaja sin conexin,
(delta), optimizando as al mximo el uso de espacio
teniendo una mejor velocidad
en disco.
y por lo tanto el control de
versiones se realizara dentro
SVN permite al usuario crear, copiar y borrar
de la propia red.
carpetas con la misma flexibilidad con la que lo hara
si estuviese en su disco duro local.
Los cambios solo
afectan al usuario
Dada su flexibilidad, es necesaria la aplicacin de
buenas prcticas para llevar a cabo una correcta
Se experimenta y se
gestin de las versiones del software generado
ramifica al gusto propio
No depende del
3
Ingeniera Electrnica
Curso: Herramientas De Diseo Electrnico Grupo #:1

servidor dificultad de acceso


No hay punto dbil desde distintas
central ubicaciones.
Crear ramas es fcil y
sencillo, teniendo una buena Aprendizaje: Es algo
convergencia, contando as por lo que tendremos
con una nueva versin o que pasar cada vez
revisin de nuestro proyecto que queramos incluir
lista para ser distribuida, alguna nueva
compartida, liberada tecnologa en un flujo
de trabajo ya
Comparticin establecido.
selectiva: El desarrollo de la Deberemos formar al
aplicacin sern nicamente equipo de desarrollo
nuestro, pudiendo decidir qu o a aquellas personas
parte de nuestro proyecto a las que tendremos
compartimos y con quin, que dar acceso a
restringiendo a que slo pueda nuestro trabajo en el
verlo, que tenga la posibilidad servicio de control de
de aadir notas, comentarios o versiones; para evitar
que pueda aadir cambios. as posibles errores
en de trabajo ya
Sandbox:. Los establecido.
cambios realizados en una de Deberemos formar al
las ramas del proyecto no equipo de desarrollo
tendrn consecuencias para los o a aquellas personas
usuarios que actualmente usen a las que tendremos
o accedan a la versin sin que dar acceso a
modificar o principal. nuestro trabajo en el
servicio de control de
Flujo de trabajo versiones; para evitar
adaptable: En el sector de los as posibles errores
controladores de versiones en la realizacin de
encontraremos diferentes cambios
formas para gestionar el flujo
de desarrollo de la aplicacin,
destacando entre stos los
modelos centralizados y los
modelos de libre Repositorio SVN
configuracin. Ventajas Las modificaciones
(incluyendo cambios a
Seguridad: los varios archivos) son
controladores de versiones atmicas.
cuentan con sistemas de
La creacin de ramas y
cifrado y otros tipos de
etiquetas es una
medidas de seguridad que se
operacin ms
aplicarn para que nuestros
eficiente
datos permanezcan lo ms
ntegros posible. Se sigue la historia de
Coste: Los sistemas los archivos y
de hosting pueden llegar a directorios a travs de
presentar algn coste. copias y renombrados
Desventajas La principal . Tiene coste de
desventaja de los complejidad constante
repositorios basados y no lineal
en carpetas y Se envan slo las
archivos es su diferencias en ambas
4
Ingeniera Electrnica
Curso: Herramientas De Diseo Electrnico Grupo #:1

direcciones
Maneja eficientemente
archivos binarios Repositorio TFS
Permite selectivamente Ventajas con TFS changeset
el bloqueo de archivos. (Conjunto de
Se usa en archivos Cambios TFS) que os
binarios que, al no permitir revisar las
poder fusionarse anotaciones de los
fcilmente, conviene testers sobre el
que no sean editados cdigo del proyecto o
por ms de una rama que estn
persona a la vez. trabajando para
Cuando se usa integrado a corregir aquellas
Apache permite utilizar todas anotaciones o
las opciones que este servidor comentarios.
provee a la hora de autentificar Herramientas de
archivos (SQL, LDAP, PAM, prueba integradas,
etc.). Sistema de
Desventajas El manejo de cambio seguimiento de
de nombres de errores,
archivos no es Construcciones
completo. Lo maneja automatizadas
como la suma de una Desventajas un cambio entre las
operacin de copia y diferentes ramas
una de borrado dentro de TFS suele
No resuelve el tardar de 15 a 30
problema de aplicar minutos
repetidamente parches Si creamos una rama
entre ramas, no facilita y trabajamos en sta
llevar la cuenta de qu durante unos das,
cambios se han puede darse la
realizado. Esto se situacin en la que
resuelve siendo encontremos que la
cuidadoso con los rama principal ha
mensajes de commit. sufrido cambios con
Problemas con respecto a nuestro
cambios de nombre en punto de partida
archivos y directorios
Confusin con
versiones anteriores IV. RESULTADOS
Problemas con el Los sistemas de control de versiones ofrecen un soporte muy
borrado de archivos o importante en el proceso de desarrollo de software,
directorios coadyuvando en la gestin del control de versiones de los
Pueden hacerse archivos de cdigo fuente e impulsando el trabajo colaborativo
persistentes y no al permitir que mltiples desarrolladores trabajen
borrarse paralelamente en un mismo proyecto en forma autnoma e
adecuadamente independiente. Adicionalmente, los sistemas de control de
Almacenamiento de versiones proporcionan los mecanismos para que cualquier
copias locales versin de un proyecto pueda ser recuperada para visualizarse
Los metadatos del o modificarse, desplegando las diferencias entre las versiones
control de versiones existentes. Por otro lado, el desarrollo distribuido es soportado
(.svn) pueden a travs de redes de datos con diferentes mecanismos de
corromperse autentificacin.
fcilmente por errores
del usuario En los sistemas centralizados tiene como ventajas y
desventajas que es consistente, es decir la versin principal es
5
Ingeniera Electrnica
Curso: Herramientas De Diseo Electrnico Grupo #:1

siempre la misma, adems cualquier cambio debe pasar por el B. Personales: consideraciones que aprendi el
repositorio central, la informacin es centralizada y no hay estudiante para obtener mejores resultados en
rplicas de la versin principal pues las operaciones con el futuras prcticas.
repositorio pueden ser lentas y restrictivas, posee un sistema
abierto y gratuito. - Los sistemas centralizados se basan en un
repositorio central y Se pueden compartir
En un sistema distribuido de control de versiones (DVCS) copias locales sin pasar por el repositorio
Cada usuario tiene una copia completa del proyecto, todas las central
copias tienen el mismo nivel, no hay repositorio central, La
divergencia entre versiones (fork) se ve como algo positivo y - Se aprendieron las diferencias,
los repositorios son mucho ms pequeos. caractersticas, ventajas y desventajas de los
repositorios tanto de los sistemas
centralizados como distribuidos.

V. CONCLUSIONES
Se deben presentar en dos categoras: VI. REFERENCIAS
A. Tcnicas: obtenidas en el desarrollo de la [1] Hernndez Rodrguez Jess Ignacio, Anlisis y Desarrollo
prctica. web.

[2] M. SC, Hans-Petter Halvorsen, University College of


- Se define el proceso de creacin y
Southeast Norway, disponible online en:
actualizacin de repositorios, tanto en el
http://home.hit.no/~hansha/documents/software/software_dev
enfoque centralizado como distribuido,
elopment/topics/resources/SCC%20Overview.pdf
detallndose el proceso de actualizacin de
archivos de cdigo fuente de acuerdo a cada
[3] M. SC, Osvaldo Pereira Barzaga, Sistemas Distribuidos-
una de las herramientas revisadas.
Contol de Versiones (GIT, SVN, SourceSafe, Team
Foundation), disponible online en:
- la presente investigacin servir como base
http://www.academia.edu/23948368/SISTEMAS_DISTRIBUI
terica para el desarrollo de una herramienta
DOS_Control_de_Versiones_SRC_Git_SVN_SourceSafe_Tea
para el control de versiones basado en
m_Foundation
servicios web.

Vous aimerez peut-être aussi