Está en la página 1de 21

Subversion

Uso avanzado
Bruno Gonzalez <bruno@irontec.com>
Irontec Internet y Sistemas sobre GNU/Linu
Curso Avanzado SVN
!
1
"s#uema del curso
$.Nociones b%sicas&
$.Svn $'$
!."structura de un c(ec)out
*."structura de un re+o
!.mer,e y su (i-o bastardo& u+date
*..er,e avanzado& branc(es
/.0rre,lar los con1lictos de mer,e/u+date
2."ternals
3..iscelanea
Curso Avanzado SVN
*
Nociones b%sicas
1
Nociones B%sicas
Curso Avanzado SVN
/

4omandos t5+icos

4(ec)out svn co

U+date svn u+

4ommit svn ci

Status svn st

cat6 blame6 lo,7 8 svn (el+

Usar siem+re #ue se +ueda&

4o+y c+

.ove mv

U9Ls&

Locales& ./:

9emotas& (tt+&//dev!.../:

9emota ;rev<& (tt+&//dev!.../:@9


1
Nociones B%sicas& SVN 101
Curso Avanzado SVN
2

=atos 8 ls

.etadatos 8 ls .svn

svn in1o >

svn +ro+list ;+ro+edit6 +ro+del...<

Se +uede mover un c(ec)out o subdirectorio


+or el disco duro sin +roblemas.
1
Nociones B%sicas& Estructura bsica de un checkout
Curso Avanzado SVN
3

trun) ta,s branc(es&

"s un estandard de?1acto

@odemos usarlo o no6 a svn le da igual

Los directorios de svn tienen el si,ni1icado


#ue nosotros le demos&

trun) releases branc(es

trun) ta,s branc(es

ed,e released estable

internal eternal

;nada<

...
1
Nociones B%sicas& Estructura bsica de un
repositorio
Curso Avanzado SVN
A
.er,e y su (i-o bastardo& u+date
1
.er,e y su (i-o bastardo& u+date
Curso Avanzado SVN
B

CuD es mer,e 8 =IEE F @0G4H

$< "ncontrar cambios en un sitio

!< 0+licar los cambios en otro sitio ;by


de1ault& I.J<
svn mer,e ?r rev$&rev! ori,en KdestinoL

"-em+lo&

svn mer,e ?r B0S"&H"0= .

svn u+date ?r H"0=

svn (el+ mer,e

??dry?run +ara +revisualizar sin a+licar


1
.er,e y su (i-o bastardo u+date& merge 101
Curso Avanzado SVN
M

CuD es un bac)+ort& a+licar un bu,1i/1eature


de otro sitio a nuestro c(ec)out/1ic(ero.
svn mer,e ?r9"N?$&9"N otroSitio nuestro4(ec)out
svn mer,e ?c 9"N otroSitio nuestro4(ec)out

Bac)+ort de varios revisiones concretas&


svn mer,e ?c 26 A6 $'6$$ otroSitio nuestro4(ec)out
svn mer,e ?r /&2 3&A M&$$ otroSitio nuestro4(ec)out

9estaurar una version vieja&


svn mer,e ?r B0S"& nuestroEic(ero nuestro4(ec)out
svn c+ nuestroEic(ero! nuestro4(ec)out

@ara evitar con1lictos6 no tener cambios


locales
1
.er,e y su (i-o bastardo u+date& backports"rollbacks
Curso Avanzado SVN
$'
.er,e avanzado& branc(es
1
.er,e avanzado& branc(es
Curso Avanzado SVN
$$

Gi+os b%sicos&

9amas constantes ;nunca cambiar%n<&

Ga,s6 releases6 sna+s(ots

9amas a corto +lazo ;(oras/d5as<&

Eeatures6 bu,1ies com+licados

9amas a lar,o +lazo ;in1inito<&

"stable6 trun)

0ntes de remezclar ramas ni mer,ear nada&


Eliminar"Committear siempre los
cambios locales##
1
.er,e avanzado de branc(es& premisas
Curso Avanzado SVN
$!

Crear una rama&

svn c+ trun) mi9ama

svn c+ (tt+&//.../trun) (tt+&//.../mi9ama

$enombrar una rama&

svn mv (tt+&//.../mi9ama (tt+&//.../1oo

Eliminar una rama #ue ya no (ace 1alta&

svn rm (tt+&//.../mi9ama

0On as56 siem+re #uedar%n en el (istorialPP

0ta-o& (tt+&//.../svn/+royecto/::: QQ R:::


1
.er,e avanzado de branc(es& premisas
Curso Avanzado SVN
$*

Son lo m%s sim+le&

svn c+ (tt+&//.../trun) (tt+&//.../ta,s/:::

Lo normal es #ue -am%s se modi1i#uen estas


ramas ;ece+to renombrar tal vez<.

"s t5+ico usarlas +ara cada Ientre,aJ o


c(ec)+oint im+ortante.

"ntre,as&

svn e+ort (tt+&//.../ta,s/::: :::

zi+ ?r M :::.zi+ :::

t(underbird :::.zi+ ;o lo #ue sea...<


1
.er,e avanzado de branc(es& ramas constantes
Curso Avanzado SVN
$/

4rear rama como siem+re&

svn c+ (tt+&//.../trun) (tt+&//.../1eature:

=evelo+ear en esa rama&

S(ile ;$<& vi >.+(+T svn ci

@onerse al d5a con trun)&

svn mer,e R/trun)

@asar tu 1eature: a trun)&

svn sSitc( R/trun)

svn mer,e R/1eature:

"liminar rama como siem+re&

svn rm (tt+&//.../1eature:
1
.er,e avanzado de branc(es& ramas a corto plazo
Curso Avanzado SVN
$2

4rear rama como siem+re&

svn c+ (tt+&//.../trun) (tt+&//.../cliente:

=evelo+ear en esa rama&

S(ile ;$<& vi >.+(+T svn ci

@onerse al d5a con todo trun)&

svn mer,e R/trun)

Bac)+ortear un revisiones concretas&

svn mer,e ?c $2B R/clienteUUU

svn mer,e ?c /B6/M6$'M R/clienteVVV


1
.er,e avanzado de branc(es& ramas a largo plazo
Curso Avanzado SVN
$3
0rre,lar los con1lictos de mer,e/u+date
1
0rre,lar los con1lictos de mer,e/u+date
Curso Avanzado SVN
$A

I.i casa es blancaJ

Wuan& I.i casa es ne,raJ 8 svn commit

Svn& XYP

"n-uto& IGu casa es blancaJ 8 svn commit

Svn& error6 u+datea tu version

"n-uto& svn u+date

Svn& error6 (ay un con1licto


SNN no sabe si debe de-arlo como -uan
#uiere o como en-uto #uiere.
1
0rre,lar los con1lictos& %u& son
Curso Avanzado SVN
$B

0+arece una Z4Z en svn status

0+arecen 1ic(ero.mine6 1ic(ero.r!A6 etc.

Svn modi1ica el 1ic(ero con el intento de


mer,e.
>>>>>>
I.i casa es ne,raJ
QQQQQQ
IGu casa es blancaJ
<<<<<<

"n-uto& vi 1ic(ero8Imi casa es ne,ra6 la tuya blancaJ

"n-uto& svn resolved 1ic(ero

"n-uto& svn commit

Svn& XYP
1
0rre,lar los con1lictos& c'mo se identi(ican )
resuelven
Curso Avanzado SVN
$M
svn eternals y otros conse-os
1
Svn eternals y otros conse-os
Curso Avanzado SVN
!'

Son metadatos. @ermite symlin)ear a


cual#uier directorio de cual#uier re+ositorio.

4omo crearlos&

svn +ro+edit svn&eternals .


libs/)arma ?r$!BA (tt+&//.../)arma/trun)
libs/)arma (tt+&//.../)arma/ta,s/v$.2J

Usar revisiones o ramas constantes siem+reP

0s5 un c(ec)out de tu +royecto obtendra


siem+re )arma en el mismo estado
a(ora y el a[o #ue viene.

X-o& las rutas no se actualizan solasP


1
Svn e*ternals y otros conse-os
Curso Avanzado SVN
!$

Nersionar un 1ic(ero como e-ecutable&


svn +ro+set svn&eecutable I>J 1ic(ero

I,norar 1ic(eros de un directorio&

Svn +ro+edit svn&i,nore .


tm+.>
cac(e/.>-+,
=ebu,\

@oder visualizar un di11&


a+t?,et install colordi11
ec(o Zsvn di11 \> ]colordi11 ]less ?9Z >svndi11.s(

0utonotas en mantis^
1
Svn eternals y otros consejos

También podría gustarte