Canviar de branca a subversion


Imaginem el següent escenari: us han demanat una modificació a un programa, que teniu al subversion, així que feis un checkout del trunk i quan duis una bona estona programant us n’adonau que el canvi té més impacte del que suposaveu, prou per crear-ne una branca, però tampoc voleu perdre el que heu fet. Aquí teniu una de les maneres de fer-ho.

El problema que volem resoldre és que ens n’hem adonat massa tard de l’impacte d’un canvi i hem fet moltes modificacions a la branca principal (trunk), ara el que ens agradaria és poder crear i fer feina a una altra branca, però sense perdre la feina que hem feta o perdre massa temps en el procés.
El primer que farem serà guardar els canvis que hem fet. Per això afegirem els arxius que hagem afegit nous al control de versions amb un

svn add [nom de l’arxiu]

seguidament crearem un arxiu amb els canvis que hem fet per tal de no perdre’ls i als posarem a un directori temporal, o al nostre home com a l’exemple

svn diff > ~/canvis-que-no-vull-perdre.patch

Això ens a creat un arxiu que és del mateix tipus que el que es fa servir per enviar pegats per arreglar errors.
Seguidament cream la branca

svn copy [repositori]/trunk> [repositori]/branches/[nom] -m [comentari]

Si no sabeu ben bé quin és el vostre repositori un

svn info

us donarà la informació que cercau. Amb això haurem creat la branca, ara deixarem el directori de feina amb el trunk fent un

svn revert -R .

Si no hem eliminat directoris, això ja ens bastarà, si no potser haureu de fer un poc més de feina. La idea però és que ens hem de quedar amb el trunk al directori actual de feina, ja que per nosaltres és el principal.
Ara ens situam a un altre directori i farem

svn co [repositori]/branches/[nom]

és a dir, el checkout de tota la vida però amb la branca, anam dins el directori [nom] que s’haurà creat i aplicarem el pegat que hem creat anteriorment

patch -p0 < ~/canvis-que-no-vull-perdre.patch

Amb això hem aconseguit tenir la branca, ara ja és un repositori normal de feina i no perdre els canvis que havíem fet al codi.
El truc és més llarg d’escriure que no de fer, fet i fet, en un parell de minuts està tot llest i acabam amb un directori de feina principal amb el trunk i un directori amb la branca per anar fent la feina.
Esper que us sigui d’utilitat

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=2441 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.