Vous êtes sur la page 1sur 8

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURMAC

CARRERA PROFESIONAL DE INGENIERA INFORMTICA Y SISTEMAS

1. DATOS ACADEMICOS:
Nombre Asignatura
:
Tema
:
Docente
:

Ingeniera de software II
Control de versiones
Manuel Jess 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 subversin y manipularlo con un cliente
TortoiseSVN
4. MARCO TERICO
Introduccin
- 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 versin anterior
y por ms 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 debas haberlo
hecho y ya no puedes volver a la versin anterior.
- Alguna vez te ha pasado que al hacer un programa entre varios compaeros,
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 da se maneja un tema muy importante como
es el del control de versiones de los programas (en general de cualquier
documento).
Control de versiones
Definicin
Un sistema de control de versiones (o sistema de control de revisiones) es una combinacin de
tecnologas y prcticas para seguir y controlar los cambios realizados en los ficheros del
proyecto, en particular en el cdigo fuente, en la documentacin y en las pginas web.
Porque usarlo?
La razn por la cual el control de versiones es universal es porque ayuda virtualmente en todos
los aspectos al dirigir un proyecto: comunicacin entre los desarrolladores, manejo de los
lanzamientos, administracin de fallos, estabilidad entre el cdigo y los esfuerzos de desarrollo
experimental y atribucin y autorizacin en los cambios de los desarrolladores. El sistema de
control de versiones permite a una fuerza coordinadora central abarcar todas estas reas. El
ncleo del sistema es la gestin 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 modificacin y disponer esta
informacin para quien sea y como sea. Es un mecanismo de comunicacin donde el cambio es
la unidad bsica de informacin.
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 PRCTICO
Ejemplo 1: Subversion
I) Instalar TortoiseSVN
Solicita el instalador e instlalo
II) Crear el repositorio SERVER
a. Crear una carpeta miweb en el escritorio
b. Hacemos clic derecho sobre ella y buscamos la opcin [Create repository here], que
se encuentra dentro del tem [TortoiseSVN]. La herramienta nos mostrar una
ventana donde tendremos que elegir el tipo de repositorio.

Click Start Repobrowser

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 vaco y luego ChekOut, luego completar el siguiente cuadro:
Esto puede ser una
direccin en internet
(SERVER)

Esto es mi carpeta
local de trabajo

Luego OK

IV)Hacer algn 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)

V) Hacer el primer commit


Ahora subiremos el archivo creado en el punto anterior. Si prestamos atencin, 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 informacin que tendremos que completar sobre
la versin 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 versin 1 del proyecto

Luego OK
5

Modifica el archivo index.html, agrega ms archivos, etc., y juega todo lo que quieras
De aqu en adelante, el proceso de trabajo ser similar: hacer un
checkout de la ltima versin en el repositorio, realizar cambios en
nuestra copia privada, luego hacer un update y, por ltimo, un
commit. En la prctica, 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 ms 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 versin del proyecto, es decir, una working copy, a
nuestra mquina. Es lo rimero que tenemos que hacer al iniciar una sesin 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 compaeros. Este comando debe ejecutarse a menudo para tener siempre
una copia fresca del proyecto.
3) SVN COMMIT
Enva al repositorio los cambios que hicimos en nuestra copia privada. De ms est decir que es
una buena prctica, en cada commit, comentar los cambios que hicimos en la versin que
estamos enviando. De esta manera, nuestros compaeros de equipo tendrn una buena ayuda
sobre qu es lo nuevo en la ltima versin que estn descargando (los comentarios se pueden
agregar usando el mismo comando commit o, como veremos ms 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
concepcin ms simple consiste en tres pasos: 1. checkout, 2. update y 3. commit. Con el
tiempo aprenderemos ms comandos tiles para trabajar con el sistema, como svn diff, que
permite buscar diferencias entre los archivos que estamos subiendo.

6. TRABAJO DE INVESTIGACIN
1) Averigua en cmo usar el comando DIFF
2) Crea una pgina web de tu grupo, El jefe de proyecto debe decir que partes debe hacer cada
uno, por ejemplo: Pgina 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:

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

b) Crear una cuenta

c) Crear un nuevo proyecto

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 actualizacin, conflicto
de versiones, Trunk, Branches, etc. Debers averiguar en qu consisten y como resolverlos.

Vous aimerez peut-être aussi