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.