Descarga - Grupo N° 1 - Diseño Bases de Datos MediUnal Systems

Anuncio
AVANCE N° 4
Presentación del Repositorio
Presentado por:
GRUPO N°1
Camargo Bernal Jhon Jairo
Contreras Ospina Harold Esteban
López Espinosa Julián Mauricio
Maestre Torres Javier Hernán
Muñoz Sánchez Fernando
Pacheco Castro Víctor Uriel
Rodríguez Carreño Oscar Leandro
Torres Reyes Luis Eduardo
Presentado a:
Ing. ISMAEL CASTAÑEDA FUENTES
Profesor Asociado
Departamento de Ingeniería de Sistemas e Industrial
Facultad de Ingeniería
UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ
DEPARTAMENTO DE INGENIERÍA DE SISTEMAS E INDUSTRIAL
INGENIERÍA DE SISTEMAS
DISEÑO DE BASES DE DATOS
BOGOTÁ D.C.
13/04/2011
TABLA DE CONTENIDO
1. Resumen
2. ¿Qué es el control de versiones?
3. ¿Qué es un repositorio?
4. ¿Qué es subversión?
5. Ventajas de utilizar un repositorio
6. El Repositorio
7. ¿Cómo conectar el IDE Netbeans con XP-dev?
8. Herramientas adicionales que ofrece XP-dev
9. Bibliografía
1. Resumen
Ahora con la facilidad que nos presta la nube para compartir archivos y manejar
información en Internet, es común utilizar herramientas que nos permitan comunicarnos
con otras personas para realizar tareas especificas, una de ellas es el manejo de
repositorios que nos ayudan a administrar archivos mediante servidores en Internet, los
cuales llevan un control de los cambios realizados sobre estos. Estos servidores tienen
características que los hacen mas atractivos frente a otros y en esto nos basamos para
escoger el nuestro, en este trabajo se mostrará una visión general sobre el control de
versiones, el manejo de repositorios y las características del repositorio que estamos
utilizando para nuestro proyecto.
2. ¿Qué es control de versiones?
El control de versiones es la administración de cambios a documentos, programas y
otro tipo de información almacenada en archivos de computador. Es comúnmente
usada en desarrollo de software, donde un equipo de personas puede realizar cambios
a los mismos archivos. Estos cambios usualmente se identifican por un número o
código, denominado número de revisión. Cada revisión esta asociada a un control con
la fecha y la persona que realizó el cambio. Estas revisiones pueden ser comparadas,
restauradas y en algunos tipos de datos, unidas.
3. ¿Qué es un repositorio?
Un repositorio, depósito o archivo es un sitio centralizado donde se almacena y
mantiene información digital, habitualmente bases de datos o archivos informáticos 1. El
repositorio es donde los archivos actuales e históricos son almacenados, a
menudo estos se mantienen en servidores. En algunos casos también son
llamados depósitos, por ejemplo por las herramientas SVK, AccuRev o Perforce.
1
http://es.wikipedia.org/wiki/Repositorio
Los depósitos pueden distribuirse utilizando una red informática como Internet o en un
medio físico como un disco compacto. Y pueden ser de acceso público, o pueden estar
protegidos y necesitar de una autentificación previa. Los depósitos más conocidos son
los de carácter académico e institucional.2
4. ¿Qué es subversión?
Subversion es un sistema de control de versiones libre. Éste administra archivos y
carpetas, y los cambios que hagan sobre estos a través del tiempo. Esto le permite
recuperar versiones antiguas de su información, o examinar el historial de como su
información ha venido cambiando.
Subversion puede funcionar a través de redes lo cual le permite ser usado por
personas en diferentes computadores. Les da la capacidad a varias personas de
modificar y administrar el mismo conjunto de datos desde sus respectivos equipos.
Debido a que el trabajo es versionado, no hay que tener miedo si un cambio incorrecto
se hace en la información, ya que solo seria necesario deshacer ese cambio.
Algunos sistemas de control de versiones también tienen capacidades de administrar
las configuraciones de software (SCM). Estos sistemas tienen muchas características
que son específicos a desarrollo de software, como por ejemplo entender nativamente
lenguajes de programación y complementar con herramientas de compilación.
Subversion no tiene ninguna de estas capacidades, es un sistema general que puede
ser usado para administrar cualquier colección de archivos.
Existen servicios que proporcionan almacenamiento usando Subversion gratuito para
proyectos de software libre:
●
●
●
●
●
●
2
SourceForge
XP dev
Google Code
Project Kenai
CodePlex
Forja de Conocimiento Libre de la Comunidad RedIRIS de RedIRIS
http://es.wikipedia.org/wiki/Subversion
Subversión también está siendo adoptado en el mundo corporativo. En un informe 2007 de
Forrester Research, reconocía a Subversion como el líder destacado en la categoría de
sistema de control de versiones.3
5. Ventajas de usar un repositorio
El uso de Subversion ha facilitado no solo la integración de archivos, sino que
representa una variedad de ventajas para los equipos de trabajo, a continuación
mostraremos las ventajas que se generan a partir de la utilización de subversion.
● Se puede tener un control cronológico de las modificaciones realizadas al
trabajo, haciendo que la identificación de cambios sea más fácil.
● Está basado en una metodología de trabajo colectivo y colaborativo de todos los
miembros.
● Ayuda a medir no solo la cantidad de trabajo, sino la calidad del trabajo
desarrollado
● Se puede tener control y hacer balances de productividad de cada participante.
● Se pueden tener líneas de desarrollos independientes a partir de diferentes
versiones (branches) que son generadas a partir de modificaciones a la versión
central
6. El Repositorio
Para el desarrollo de nuestro proyecto “Mediunal” utilizamos el repositorio llamado “XP
dev” (http://www.xp-dev.com/) el cual presta servicio gratuito de almacenamiento y
administración de proyectos sobre varias plataformas, entre ellas Netbeans y
JDeveloper.
3
http://es.wikipedia.org/wiki/Subversion
Este servidor permite el manejo de proyectos tanto de software libre como de software
propietario y permite realizar las operaciones básicas sobre archivos que poseen todos
los repositorios: Commit, Update, Merge y Delete, acompañadas de algunas
operaciones adicionales como el de restaurar el proyecto a una versión anterior,
bloquear y desbloquear archivos, realizar una copia idéntica del proyecto a una carpeta
de nuestro sistema y forzar una actualización sin prestar importancia a los cambios
hechos con anterioridad.
Entre otras características XP-dev presta el servicio de manejo de cuentas de usuario
para que solo ciertas personas tengan acceso al proyecto, así como manejo de
diagramas de eficiencia, foros para resolver preguntas entre los integrantes del equipo
de trabajo, foros para asignación de tareas y control sobre el desarrollo de las mismas
mediante porcentaje completado y horas estimadas tanto de las que se pronostican
como de las que se consumen realmente.
XP-dev es una herramienta de uso intuitivo que brinda una interfaz fresca y amigable
para el usuario, facilitando su manipulación e interacción con otras herramientas de
desarrollo y reduciendo el tiempo y costes que incluye la manipulación de un proyecto
de esta índole de otra forma.
7. Cómo conectar el IDE Netbeans con XP-dev
Para conectar Netbeans con subversion tenemos que seguir estos pasos:
1. Debemos crear una cuenta en www.xp-dev.com
2. Descargamos e instalamos Netbeans de la página:
http://netbeans.org/
3. Solicitamos al dueño del proyecto permiso para acceso al mismo y poder modificarlo.
4. Nos aseguramos que tenemos acceso al proyecto logándonos en la
pagina y dirigiéndonos a la sección de “Proyects”
5. En Netbeans entrar a tools/options/miscelaneous/versioning/subversion
3. Especificamos el directorio de instalación de subversion, si no se encuentra
instalado, descargamos el plugin necesario que es solicitado en la misma ventana.
4. Reiniciamos el IDE
5. Para conectarnos con el repositorio vamos en team/subversión/Checkout
6. Escribimos la siguiente URL:
http://svn3.xp-dev.com/svn/MediUnalSystems/
Y escribimos el nombre de usuario y contraseña de nuestra cuenta
7. Damos clic en siguiente, seleccionamos la carpeta del proyecto y el numero de la
revisión con la que queremos empezar a trabajar:
8. Luego hacemos click en finalizar y hacemos click en open project.
9. Al modificar algún archivo, las líneas agregadas aparecerán al comienzo con un
color verde.
10. Cuando se borran un segmento de líneas de un archivo aparece, antes de la
primera línea borrada un triangulo rosado.
al hacer click sobre este triangulo, se mostraran las líneas de código que se borraron
11. Cuando se modifican alguna línea esta aparece al principio resalta de de color azul
12. Al modificar un archivo, este aparecerá de color azul. Al agregar un archivo nuevo
al proyecto este aparecerá de color verde.
13. Para hacer commit o update, lo podemos hacer sobre un archivo o carpeta. Se
hace click derecho sobre el archivo o carpeta, seleccionamos la opción subversion y en
el menú que se despliega seleccionamos commit o update.
14. Para ver los cambios que hemos hecho sobre el proyecto hacemos click derecho
sobre el proyecto y seleccionamos la opción subversion->Show Changes. En la parte
inferior del IDE nos aparecerá una lista con los archivos que hemos modificado o
agregado, al hacer doble clck sobre alguno, se desplegara la siguiente pantalla:
En la parte de la izquierda aparece el archivo como esta en el repositorio y en la
derecha aparecerá el archivo como lo tenemos localmente con los cambios resaltados
en verde.
15. Es importante tener en cuenta que antes de hacer commit, debemos hacer update,
ya que si otra persona ha modificado el proyecto en el repositorio no podremos hacer
commit. Al hacer update es muy probable que se presenten conflictos en algunos
archivos, para solucionar esto debemos hacer merge a los archivos que presentan
confiltos.
Al hacer merge a un archivo nos aparecerá una ventana como la anterior pero dividido
en tres secciones. En la primera el archivo local, en la segunda el archivo en el
repositorio, en la tercera nos aparecerá como quedara el archivo después del merge,
este ultimo lo podemos modificar y dejarlo a nuestro gusto.
16. Por último, podemos revertir las modificaciones hechas.
Al seleccionar esta opción se nos mostrara el siguiente cuadro en donde debemos
seleccionar el tipo de revertimiento que deseamos.
Con la primera opción revertimos los cambios hechos localmente, con la segunda
opción nos podemos regresar hasta una revisión especifica, con la tercera opción
seleccionamos una revisión de inicio y una final. Junto con alguna de estas tres
opciones podemos, si deseamos, borrar los archivos o carpetas nuevos que hemos
agregado al proyecto.
8. Herramientas adicionales que ofrece XP-dev
(reparticion de tareas, foros, etc.)
Características más importantes
●
●
●
●
●
●
●
●
●
Webhooks
Commits via E-mail
Acceso SSL seguro
Copias de seguridad fuera de sitio en tiempo real y todas las noches
Migrar fácilmente desde / hacia otro proveedor
Alojamiento directo de archivos usando Jekyll
WebDAV habilitado
Navegador Online de repositorios
Integración con Basecamp, FogBugz, Faro, DoneDone, Fixx y Twitter
Gestión de Proyectos
●
●
●
●
●
●
●
●
●
Seguimiento del proyecto: iteraciones, historias, tareas y errores
Filtros personalizados para los bugs e historial
Gráficos de velocidad
Acceso SSL seguro
Páginas wiki
Foros
Blogs
Archivos adjuntos
Subversion: Vincular con confirmación a historial, tareas y bugs
Trac Hosting
● Rapidez, seguridad en proyectos Trac
● Enlace de Subversion confirmando entradas Trac
● Cambiar estados Trac directamente de los mensajes de confirmación
● Administrar los permisos de usuario con facilidad
● Toneladas de plugins activados y listos para usar
Infraestructura
● Centros de datos seguros y rápidos
● Copias de seguridad en centros de datos redundantes, independientes
● Todos los datos alojados en servidores dedicados con discos duros encriptados
9. Bibliografía
Subversion Book - http://svnbook.red-bean.com/
Revision control - http://en.wikipedia.org/wiki/Revision_control
XP-dev - http://www.xp-dev.com/
http://es.wikipedia.org/wiki/Subversion
http://es.wikipedia.org/wiki/Repositorio
Descargar