Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
¿Pero Que Demonios Es Subversion?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje ¿Pero Que Demonios Es Subversion? 
 
Hay un manual de subversion en la zona de descargas pero como por aquí hay mucha gente que empieza seguramente es una buena idea una explicación sencilla de para que les vale eso.

Es un programa muy potente. Tiene muchísimas opciones. Prácticamente se puede hacer con él todo lo imaginable respecto a mantener versiones de programas.

Escenarios
Pongamos que hago un programa y funciona bien. Un día veo una forma de mejorarlo y decido volver a tocarlo. Tengo que tener cuidado porque al cambiar cosas podría estropearlo.

Pongamos que deseo tener una versión estable que es la que funciona, pero ir trabajando con otras versiones de desarrollo. Subversion es lo tuyo.

Pongamos que sobre la versión de trabajo deseo hacer ramas. Osea que me pregunto ¿que pasa si lo hago así? ¿que pasa si lo hago asao? ¿cual es mejor?
Subersion permite tener varias ramas del mismo programa y en cada momento sigues con la que te interesa.

¿Como funciona?
Como dije tiene muchísimas opciones y posibilidades pero para que os vayais aficionando a una herramienta tan estupenda a la hora de programar os pongo lo sencillito para que probeis.

Lo que voy a hacer ahora es crear un repositorio en mi propio home donde iré guardando mis programas. Para hacerlo de forma profesional debería ser otro sitio y tal, pero esas cosas ya las pensareis vosotros. Solo me interesa que veais lo cómodo y útil que es y la cantidad de trabajo que quita.

Primero parece buena idea descargarse subversion porque si no os va a ser un poquillo dificil je je je

Pues como quiero crear un repositorio en mi home me creo un directorio para él.
Citar:
mkdir svn


Ahora crear el repositorio de 'proyecto 1
Citar:
svnadmin create proyecto_1


Ya está creado el repositorio. Con eso ya podríamos funcionar, pero para aprender bien hagamos tres directorios en el repositorio y así poder mantener una versión estable, una de trabajo y las ramas o posibilidades que querais hacer. Pueden llamarse como quieras pero todo el mundo pone trunk (trabajo) tags (estable) branches (ramas)

Citar:
svn mkdir file:///home/usuario/svn/proyecto_1/trunk
svn mkdir file:///home/usuaio/svn/proyecto_1/tags
svn mkdir file:///home/usuario/svn/proyecto_1/branches


Con eso hemos creado las tres posibilidades. Normalmente vosotros trabajais con la trunk que es la que se está programando. Cuando teneis algo que ya es estable y no va a tener cambios la pasais a tags y allí se queda para siempre. Con el tiempo quizá haya otra estable y la podreis meter allí también sin perder la primera.

Fijaos esa notación file:///home/usuario/svn/proyecto_1/trunk. Se pueden utilizar muchas notaciones distintas. Esta es la que se usa cuando el repositorio es local pero hay muchas otras posibilidades si está en red o si se accede de forma remota o por apache ... En cada caso se usa una pero nosotros como tenemos el repositorio local siempre usamos esa por ser la mas fácil de entender sin tener que tocar apache ni nada.

Ahora vamos a meter los archivos de lo que tenemos programado que imaginamos que está en el home en una carpeta proyecto_1 en trunk
Citar:
svn import /home/usuario/proyecto_1 file:///home/usuario/svn/proyecto_1/trunk -m 'versión inicial'


Con eso metemos todo lo que haya en el directorio proyecto_1 en el repositorio. Le ponemos además un comentario para que cuando un día vea muchas versiones y cada una tenga un comentario sepa reconocerlas. Si no le hubiera puesto el -m me habría salido un editor para que escribiera el comentario. Yo escribría el comentario y le daría a grabar y salir.

El caso es que ya tenemos todo nuestro proyecto en trunk. Aún nos queda un paso mas. Hay que "conectar" el directorio de trabajo vuestro donde guardais las cosas y el repositorio. Esto debe hacerse en un directorio vacío en el que queremos sacar del repositorio la versión trunk. Fijaros en el . final que indica que lo deje en el directorio actual
Citar:
cd /home/usuario/proyecto_1
svn checkout file:///home/usuario/svn/proyecto_1/trunk .

Ya está la versión que quiero en mi carpeta y puedo trabajar con ella. Haré los cambios que estime oportunos y cuando termine haré
Citar:
cd /home/usuario/proyecto_1
svn ci -m 'he cambiado colores en el menú del cliente'
Y con eso ya se cambian los archivos y todo. Si borré alguno se borra del repositorio. Si añadí alguno se añade.

Ahora imaginemos que he hecho muchos cambios y deseo guardarlo en una rama por si acaso
Citar:
svn import /home/usuario/proyecto_1 file:///home/usuario/svn/proyecto_1/branches -m 'versión sin menú de cliente y operando por email'

Ahora tengo la versión en desarrollo y tengo la branche.

Al día siguiente voy a trabajar y se que en el directorio de trabajo tengo lo que hice ayer (que es la branche) y quiero trabajar con la versión en desarrollo.
Pues borro todo lo que hay en esa carpeta
Citar:
cd /home/usuario/proyecto_1
rm -rf *
svn checkout file:///home/usuario/svn/proyecto_1_trunk

Ahora tengo mi versión trunk para trabajar con ella y cuando quiera siempre puedo volver a subirla a trunk con lo que en trunk tendré dos revisiones y podré cada vez operar con cualquiera de ellas.

Si quiero hacer otro proyecto pue hago lo mismo con proyecto_2 y ya está. Parece que he hecho mucho pero no es así. En realidad dos renglones porque en lo que veis ahí he creado un repositorio, le he hecho ramas, le he metido cosas, als he bajado, he versionado, ... normalmente vosotros llegais, os bajais lo que querais y cuando os convenga los subis. También decir que es muy cómodo trabajar por apache pero no quieo hacer esto mas extenso.

FIN:
Puede ser mucho mas complicado porque a menudo se trabaja entre varias personas que tocan el mismo archivo (incluso la misma línea) y hay conflictos, a veces quieres acceder de forma remota a tu subversion, crear un directorio en ese sitio y descargarte una de tus versiones para hacer algo allí ... etc. Esto solo es un intento de que veais que es muy útil y que no muerde.

Solo pediros que lo useis con responsabilidad porque si borrais la carpeta con vuestro trabajo para bajaros algo del repositorio y la cagasteis cuando dejasteis cosas allí pues la habeis cagado bien cagada. No quisiera ser responsable de ello. Es lo mismo que pasa si borras pensando que tienes copia de seguridad y luego resulta que no la tienes.

Por último añadir que hay software para no tener que usar la consola. Los mas populares son kdesvn y rapidsvn. Lo único malo que les veo es que son demasiado buenos y tienen todas las opciones y para alguien que se mete por primera vez con ello se hace un poquillo dificil porque tienes mogollón de opciones alllí.

 
 



 
última edición por soplo el Domingo, 23 Enero 2011, 06:51; editado 2 veces 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿Pero Que Demonios Es Subversion? 
 
Conejudo Soplo. Chapó.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿Pero Que Demonios Es Subversion? 
 
hola soplo recorriendo ubuntu encontre e. Bazaar Explorer.

no se si seirve para lo que decis,

gracias  si me respondes.

atte: sergio
 



 
hostinglobal - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿Pero Que Demonios Es Subversion? 
 
pues primera noticia que existe. Por lo que se ve tiene buena pinta je je je

Y parece ser software libre también.

 
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿Pero Que Demonios Es Subversion? 
 
Otra buena opción es "Git". Es incluso más rápido que SVN:

http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Subversion (SVN) soplo General 3 Jueves, 01 Octobre 2009, 21:32 Ver último mensaje
soplo
No hay nuevos mensajes Iniciarse Con Subversion fernando General 2 Sabado, 10 Marzo 2012, 22:42 Ver último mensaje
fernando
No hay nuevos mensajes Error Al Hacer Un Commit Con Subversion lumbanico General 3 Lunes, 17 Septiembre 2012, 07:09 Ver último mensaje
lumbanico
No hay nuevos mensajes Subversion calcena General 3 Lunes, 16 Octobre 2017, 17:36 Ver último mensaje
jsbsan
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron