You are on page 1of 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 1 Nociones b%sicas Nociones B%sicas * .

.ove – mv U9Ls& ➢ Locales& .Curso Avanzado SVN 1 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.rev<& (tt+&//dev!...7 8 svn (el+ Usar siem+re #ue se +ueda& ➢ 4o+y – c+ ➢ ./: ➢ 9emota ./:@9 / ../: ➢ 9emotas& (tt+&//dev!.

+ro+edit6 +ro+del.< ➢ Se +uede mover un c(ec)out o subdirectorio +or el disco duro sin +roblemas..etadatos 8 ls .svn ➢ svn in1o > ➢ svn +ro+list . 2 ..Curso Avanzado SVN 1 Nociones B%sicas& Estructura básica de un checkout ➢ ➢ =atos 8 ls .

.1 Nociones B%sicas& Estructura básica 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.e released estable ➢ internal e ternal ➢ .s branc(es ➢ ed.nada< ➢ ..ni1icado #ue nosotros le demos& ➢ trun) releases branc(es ➢ trun) ta. 3 ➢ .

er.e y su (i-o bastardo& u+date A .e y su (i-o bastardo& u+date .er.Curso Avanzado SVN 1 .

e ?r B0S"&H"0= .e ➢ ??dry?run +ara +revisualizar sin a+licar B ➢ .e 8 =IEE F @0G4H ➢ $< "ncontrar cambios en un sitio ➢ !< 0+licar los cambios en otro sitio .e ?r rev$&rev! ori.J< svn mer.er. ➢ svn u+date ?r H"0= svn (el+ mer.en KdestinoL ➢ "-em+lo& ➢ svn mer.e y su (i-o bastardo u+date& merge 101 ➢ CuD es mer.Curso Avanzado SVN 1 .by de1ault& I.

Curso Avanzado SVN 1 .er.e ?r B0S"& svn c+ nuestroEic(ero nuestroEic(ero! nuestro4(ec)out nuestro4(ec)out ➢ @ara evitar con1lictos6 no tener cambios locales M .e ?r /&2 3&A M&$$ otroSitio nuestro4(ec)out ➢ 9estaurar una version vieja& 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. svn mer.1i /1eature de otro sitio a nuestro c(ec)out/1ic(ero.e y su (i-o bastardo u+date& backports"rollbacks ➢ CuD es un bac)+ort& a+licar un bu.e ?c 26 A6 $'6$$ otroSitio nuestro4(ec)out svn mer.

er.er.e avanzado& branc(es .Curso Avanzado SVN 1 .e avanzado& branc(es $' .

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

/svn/+royecto/::: QQ R::: $! ➢ ➢ ➢ ➢ .Curso Avanzado SVN 1 ......../mi9ama $enombrar una rama& ➢ svn mv (tt+&//./mi9ama 0On as56 siem+re #uedar%n en el (istorialPP 0ta-o& (tt+&//...e avanzado de branc(es& premisas ➢ Crear una rama& ➢ svn c+ trun) mi9ama ➢ svn c+ (tt+&//...er./1oo Eliminar una rama #ue ya no (ace 1alta& ➢ svn rm (tt+&//../mi9ama (tt+&//./trun) (tt+&//.

./ta.aJ o c(ec)+oint im+ortante...e ce+to renombrar tal vez<.as& ➢ svn e +ort (tt+&//./ta.< $* ➢ ➢ ➢ .s/::: Lo normal es #ue -am%s se modi1i#uen estas ramas .zi+ ::: ➢ t(underbird :::.er.s/::: ::: ➢ zi+ ?r M :::.. "ntre.e avanzado de branc(es& ramas constantes ➢ Son lo m%s sim+le& ➢ svn c+ (tt+&//./trun) (tt+&//...Curso Avanzado SVN 1 ..zi+ . "s t5+ico usarlas +ara cada Ientre..o lo #ue sea.

er...e R/trun) @asar tu 1eature: a trun)& ➢ svn sSitc( R/trun) ➢ svn mer..+(+T svn ci @onerse al d5a con trun)& ➢ svn mer./trun) (tt+&//.e R/1eature: "liminar rama como siem+re& ➢ svn rm (tt+&//...Curso Avanzado SVN 1 ./1eature: =evelo+ear en esa rama& ➢ S(ile .$<& vi >./1eature: ➢ ➢ ➢ ➢ $/ ..e avanzado de branc(es& ramas a corto plazo ➢ 4rear rama como siem+re& ➢ svn c+ (tt+&//.

.Curso Avanzado SVN 1 .e avanzado de branc(es& ramas a largo plazo ➢ 4rear rama como siem+re& ➢ svn c+ (tt+&//./cliente: =evelo+ear en esa rama& ➢ S(ile .e R/trun) Bac)+ortear un revisiones concretas& ➢ svn mer..er../trun) (tt+&//.$<& vi >.e ?c /B6/M6$'M R/clienteVVV ➢ ➢ ➢ $2 .+(+T svn ci @onerse al d5a con todo trun)& ➢ svn mer.e ?c $2B R/clienteUUU ➢ svn mer..

e/u+date 0rre.lar los con1lictos de mer.Curso Avanzado SVN 1 0rre.e/u+date $3 .lar los con1lictos de mer.

Curso Avanzado SVN 1 0rre.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.lar los con1lictos& %u& son ➢ ➢ ➢ ➢ ➢ ➢ ➢ I.i casa es ne.i casa es blancaJ Wuan& I. $A .

mine6 1ic(ero.1 0rre.raJ QQQQQQ IGu casa es blancaJ <<<<<< ➢ ➢ ➢ ➢ "n-uto& vi 1ic(ero8Imi casa es ne. >>>>>> I.lar los con1lictos& c'mo se identi(ican ) resuelven ➢ ➢ ➢ Curso Avanzado SVN 0+arece una Z4Z en svn status 0+arecen 1ic(ero.r!A6 etc.ra6 la tuya blancaJ "n-uto& svn resolved 1ic(ero "n-uto& svn commit Svn& XYP $B .e. Svn modi1ica el 1ic(ero con el intento de mer.i casa es ne.

Curso Avanzado SVN 1 Svn e ternals y otros conse-os svn e ternals y otros conse-os $M .

X-o& las rutas no se actualizan solasP !' ➢ ./)arma/ta.s/v$. 4omo crearlos& ➢ svn +ro+edit svn&e ternals . libs/)arma ?r$!BA (tt+&//./)arma/trun) libs/)arma (tt+&//.Curso Avanzado SVN 1 Svn e*ternals y otros conse-os ➢ Son metadatos... @ermite symlin)ear a cual#uier directorio de cual#uier re+ositorio.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...

nore .\ ➢ ➢ @oder visualizar un di11& a+t?.>-+. =ebu.norar 1ic(eros de un directorio& ➢ Svn +ro+edit svn&i.et install colordi11 ec(o Zsvn di11 \> ]colordi11 ]less ?9Z >svndi11.> cac(e/. tm+.Curso Avanzado SVN 1 Svn e ternals y otros consejos ➢ Nersionar un 1ic(ero como e-ecutable& svn +ro+set svn&e ecutable I>J 1ic(ero I.s( ➢ 0utonotas en mantis^ !$ .