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

"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

1
Nociones b%sicas

Nociones B%sicas

Curso Avanzado SVN

Nociones B%sicas& SVN 101

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

Curso Avanzado SVN

Nociones B%sicas& Estructura bsica de un checkout

=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.

Nociones B%sicas& Estructura bsica de un repositorio

Curso Avanzado SVN

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 e ternal ;nada< ...
3

Curso Avanzado SVN

.er,e y su (i-o bastardo& u+date

.er,e y su (i-o bastardo& u+date

Curso Avanzado SVN

.er,e y su (i-o bastardo u+date& merge 101

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
B

Curso Avanzado SVN

.er,e y su (i-o bastardo u+date& backports"rollbacks

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"& svn c+ nuestroEic(ero nuestroEic(ero! nuestro4(ec)out nuestro4(ec)out

@ara evitar con1lictos6 no tener cambios locales


M

Curso Avanzado SVN

.er,e avanzado& branc(es

.er,e avanzado& branc(es

$'

Curso Avanzado SVN

.er,e avanzado de branc(es& premisas

Gi+os b%sicos& 9amas constantes ;nunca cambiar%n<& Ga,s6 releases6 sna+s(ots 9amas a corto +lazo ;(oras/d5as<& Eeatures6 bu,1i es com+licados 9amas a lar,o +lazo ;in1inito<& "stable6 trun) 0ntes de remezclar ramas ni mer,ear nada& Eliminar"Committear siempre los cambios locales##

$$

Curso Avanzado SVN

.er,e avanzado de branc(es& premisas

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:::
$!

Curso Avanzado SVN

.er,e avanzado de branc(es& ramas constantes

Son lo m%s sim+le& svn c+ (tt+&//.../trun) (tt+&//.../ta,s/::: Lo normal es #ue -am%s se modi1i#uen estas ramas ;e ce+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...<
$*

Curso Avanzado SVN

.er,e avanzado de branc(es& ramas a corto plazo

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:

$/

Curso Avanzado SVN

.er,e avanzado de branc(es& ramas a largo plazo

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

$2

Curso Avanzado SVN

0rre,lar los con1lictos de mer,e/u+date

0rre,lar los con1lictos de mer,e/u+date

$3

Curso Avanzado SVN

0rre,lar los con1lictos& %u& son


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.

$A

0rre,lar los con1lictos& c'mo se identi(ican ) resuelven


Curso Avanzado SVN

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

$B

Curso Avanzado SVN

Svn e ternals y otros conse-os

svn e ternals y otros conse-os

$M

Curso Avanzado SVN

Svn e*ternals y otros conse-os

Son metadatos. @ermite symlin)ear a cual#uier directorio de cual#uier re+ositorio. 4omo crearlos& svn +ro+edit svn&e ternals .
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
!'

Curso Avanzado SVN

Svn e ternals y otros consejos

Nersionar un 1ic(ero como e-ecutable& svn +ro+set svn&e ecutable 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^
!$

También podría gustarte