Ir al contenido principal

Manejando branches

Una gran forma de trabajar con el SVN es usando branches.
Si bien es la mejor forma de trabajar tiene algunas cosas que hacen tedioso el trabajo si varios usuarios usan el SVN tanto en el trunk como en sus branches.
Aca dejo un mini tutorial de como trabajar con branches.

Las 2 cosas a tener en cuenta son:
  • Actualizar el branch con los ultimos cambios realizados en el trunk.
  • Actualizar el trunk con los cambios realizados en el branch


Updating the branch
You've been developing for a while on your_branch, and so have other people on trunk, and now you have to add their changes to your_branch.
  1. First, update your branch checkout and commit any outstanding changes.
  2. Search the Subversion log to see at what revision number you last merged the changes (or when the original branch was made, if you’ve never merged). This is critical for making a successful merge:
  3. svn log --limit 500 | grep -B 3 your_branch
  4. Also note the current head revision:
  5. svn info svn://alkhalid/tentacle/trunk | grep Revision
  6. Merge the difference of the last merged revision on trunk and the head revision on trunk into the your_branch working copy:
  7. svn merge -r LAST_MERGED_REVISION:HEAD_REVISION \
       svn://alkhalid/tentacle/trunk
    Replace LAST_MERGED_REVISION with the revision number you noted in step 2, and HEAD_REVISION with the revision number you noted in step 3. Now look for errors in the output. Could all files be found? Did things get deleted that shouldn’t have been? Maybe you did it wrong. If you need to revert, run svn revert -R *.
  8. Otherwise, if things seem ok, check for conflicts:
  9. svn status | egrep '^C|^.C'
    Resolve any conflicts. Make sure the application starts and the tests pass.
  10. commit your merge.
  11. svn ci -m "Merged changes from trunk to your_branch: COMMAND"
    Replace COMMAND with the exact command contents from step 4.
Folding the branch back into trunk

Hey, your_branch is done! Now it has to become trunk, so everyone will use it and see how awesome it is.

This only happens once per branch.

  1. First, follow every step in the previous section (“updating the branch”) so that your_branch is in sync with any recent changes on trunk.
  2. Delete trunk completely:
  3. svn del svn://alkhalid/tentacle/trunk
  4. Move your_branch onto the old trunk location:
  5. svn mv svn://alkhalid/tentacle/branch/your_branch \
       svn://alkhalid/tentacle/trunk
  6. Relocate your working copy back to trunk:
  7. svn switch --relocate \
       svn://alkhalid/tentacle/branch/your_branch \
       svn://alkhalid/tentacle/trunk

Comentarios

Entradas más populares de este blog

Autologin por SSH

Si queremos hacer login desde nuestra maquina ( jotapdiez@jpdMachine ) automáticamente (sin password) hacia la maquina otherMachine debemos crear una clave rsa. Esto es util cuando necesitamos que un script (bash) ejecute algún comando via ssh  sin nuestra intervención Pasos: 1.- En la maquina origen del login ejecutamos: jotapdiez@jpdMachine:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/jotapdiez/.ssh/id_rsa): /home/jotapdiez/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/jotapdiez/.ssh/id_rsa. Your public key has been saved in /home/jotapdiez/.ssh/id_rsa.pub. The key fingerprint is: 63:c7:e8:29:62:42:ac:f2:36:89:b8:f6:8a:a6:63:90 juanpablo@t94 The key's randomart image is: ... NOTA : No ingresamos ningun password cuando lo pida. 2.- Creamos la carpeta .ssh en otherMachine (si existe, que es...

Habilitar Ctrl+Flechas para saltar entre palabras en la consola

Para habilitar la combinación Ctrl+< o Ctrl+> hay que: Editar el archivo /etc/inputrc agregando: "5D": backward-word "5C": forward-word Para refrescar las consolas que esten abiertas y poder usar las combinaciones de teclas hay que: apretar Ctrl+X, soltar y despues apretar Ctrl+R Probado con bash en slackware 14.1-Current