Está en la página 1de 8

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC

CARRERA PROFESIONAL DE INGENIERÍA INFORMÁTICA Y SISTEMAS

1. DATOS ACADEMICOS:
Nombre Asignatura : Ingeniería de software II
Tema : Control de versiones
Docente : Manuel Jesús Ibarra Cabrera

2. PROCEDIMENTAL
- Realiza programas utilizando el control de versiones de software, tanto en plataforma
Windows como en Linux.

3. SESION Nº 01 (Tiempo Estimado: 02 Horas)


El trabajo consiste en crear un servidor “subversión” y manipularlo con un cliente
TortoiseSVN
4. MARCO TEÓRICO
Introducción
- Alguna vez te ha sucedido que cuando estabas haciendo un programa (ejm.
Multiplicar 2 matrices) lo tenias todo bien hecho y funcionando, y de repente
quisiste modificar algo y ya no funcionó!... y quisiste volver a la versión anterior
y por más que intentaste con Ctrol-Z no lo lograste!
- Alguna vez te ha pasado que cuando estabas haciendo un programa, y tenias algo
funcional, y tal vez modificaste algo y grabaste algo que no debías haberlo
hecho y ya no puedes volver a la versión anterior.
- Alguna vez te ha pasado que al hacer un programa entre varios compañeros,
decidieron juntar los programas y resulta que las funciones (o procedimientos)
de uno de ellos sobrescribió al del otro y finalmente no lograron juntarlo!.

Ante los problemas anteriores, hoy en día se maneja un tema muy importante como
es el del control de versiones de los programas (en general de cualquier
documento).

Control de versiones

Definición

Un sistema de control de versiones (o sistema de control de revisiones) es una combinación de


tecnologías y prácticas para seguir y controlar los cambios realizados en los ficheros del
proyecto, en particular en el código fuente, en la documentación y en las páginas web.

Porque usarlo?
La razón por la cual el control de versiones es universal es porque ayuda virtualmente en todos
los aspectos al dirigir un proyecto: comunicación entre los desarrolladores, manejo de los
lanzamientos, administración de fallos, estabilidad entre el código y los esfuerzos de desarrollo
experimental y atribución y autorización en los cambios de los desarrolladores. El sistema de
control de versiones permite a una fuerza coordinadora central abarcar todas estas áreas. El
núcleo del sistema es la gestión de cambios: identificar cada cambio a los ficheros del proyecto,

1
anotar cada cambio con meta-data como la fecha y el autor de la modificación y disponer esta
información para quien sea y como sea. Es un mecanismo de comunicación donde el cambio es
la unidad básica de información.

Ejemplos de Herramientas
Ejemplos de este tipo de herramientas son entre otros
- CVS
- Subversion
- SourceSafe
- ClearCase
- Darcs
- Bazaar
- Plastic SCM
- Git,
- Mercurial
- Perforce

5. TRABAJO PRÁCTICO

Ejemplo 1: Subversion

I) Instalar TortoiseSVN
Solicita el instalador e instálalo

II) Crear el repositorio “SERVER”


a. Crear una carpeta “miweb” en el escritorio
b. Hacemos clic derecho sobre ella y buscamos la opción [Create repository here], que
se encuentra dentro del ítem [TortoiseSVN]. La herramienta nos mostrará una
ventana donde tendremos que elegir el tipo de repositorio.

2
Click “Start Repobrowser”

3
III) Hacer el primer Checkout (CLIENTE)
Ahora debemos crear una carpeta para trabajar en nuestra copia privada y hacer el primer
checkout (bajar del server hacia nuestra PC Cliente)

a) Crear una carpeta “D:\webCamila”, ingresar dentro de esta carpeta


Click derecho en el vacío y luego “ChekOut”, luego completar el siguiente cuadro:

Esto puede ser una


dirección en internet
(SERVER)

Esto es mi carpeta
local de trabajo

Luego OK

IV)Hacer algún cambio


Ahora bien, crearemos un archivo nuevo de texto en la misma carpeta del punto anterior.
Este archivo será luego nuestro primer commit.

Crea un archivo “index.html” en la carpeta local “D:\webCamila” (escribir un hola mundo


en HTML)

4
V) Hacer el primer commit
Ahora subiremos el archivo creado en el punto anterior. Si prestamos atención, el icono
de la carpeta con nuestra copia privada ahora tiene un icono de una tilde. Esto quiere
decir que hay cambios en esa carpeta, listos para ser sincronizados en el repositorio.

Hacemos clic derecho en la carpeta (d:\webCamila) y seleccionamos [SVN Commit].


TortoiseSVN mostrará una ventana con información que tendremos que completar sobre
la versión que estamos subiendo. En la mitad inferior de esta ventana veremos los
archivos que fueron modificados (en este caso, el archivo html) y sus propiedades.
Seleccionamos el archivo y continuamos. TortoiseSVN aplicará los cambios en el
repositorio para completar la flamante versión 1 del proyecto

Luego OK

5
Modifica el archivo index.html, agrega más archivos, etc., y juega todo lo que quieras…

De aquí en adelante, el proceso de trabajo será similar: hacer un


checkout de la última versión en el repositorio, realizar cambios en
nuestra copia privada, luego hacer un update y, por último, un
commit. En la práctica, y con grupos de trabajo, el proceso no es tan
sencillo, ya que si hay inconsistencias entre los archivos, tendremos
que combinarlos (lo que en la jerga se conoce como merge), lo cual a
veces puede resultar en más de un dolor de cabeza. Pero, claro, todo
esto se aprende durante la marcha.

VI)Consideraciones a tener en cuenta

Veamos en qué consisten:


1) SVN CHECKOUT

Descarga una copia privada de la última versión del proyecto, es decir, una working copy, a
nuestra máquina. Es lo rimero que tenemos que hacer al iniciar una sesión de trabajo con SVN.
2) SVN UPDATE

Como su nombre indica, se usa para actualizar nuestra working copy con los últimos cambios
hechos por nuestros compañeros. Este comando debe ejecutarse a menudo para tener siempre
una copia fresca del proyecto.

3) SVN COMMIT
Envía al repositorio los cambios que hicimos en nuestra copia privada. De más está decir que es
una buena práctica, en cada commit, comentar los cambios que hicimos en la versión que
estamos enviando. De esta manera, nuestros compañeros de equipo tendrán una buena ayuda
sobre qué es lo nuevo en la última versión que están descargando (los comentarios se pueden
agregar usando el mismo comando commit o, como veremos más adelante, completando un
campo en una ventana).

Estos comandos tienen sus semejantes en la herramienta visual, TortoiseSVN, por lo que
haciendo un par de clics evitaremos tipearlos en una ventana de terminal. Sin embargo, lo
importante en este punto es que entiendan el proceso de trabajar con Subversion, que en su
concepción más simple consiste en tres pasos: 1. checkout, 2. update y 3. commit. Con el
tiempo aprenderemos más comandos útiles para trabajar con el sistema, como svn diff, que
permite buscar diferencias entre los archivos que estamos subiendo.

6. TRABAJO DE INVESTIGACIÓN

1) Averigua en cómo usar el comando DIFF


2) Crea una página web de tu grupo, El jefe de proyecto debe decir que partes debe hacer cada
uno, por ejemplo: Página principal, integrantes, proyectos, buscadores ,contactos, etc. Cada
uno debe trabajar localmente y luego juntarlo en el servidor.
3) El mismo ejercicio anterior pero utilizando http://xp-dev.com
Ayuda:

6
a) Ir a http://xp-dev.com/

b) Crear una cuenta

c) Crear un nuevo proyecto

7
d) Crear un repositorio

e) Ahora investiga como enviar los archivos al server. Éxitos

4) Aquí no queda todo, hay situaciones en las que hay conflictos en la actualización, conflicto
de versiones, Trunk, Branches, etc. Deberás averiguar en qué consisten y como resolverlos.

También podría gustarte