miércoles, 30 de noviembre de 2016

Movernos entre ramas

A todos nos habrá pasado que estamos en una rama desarrollando y nos mandan cambiar a otra muy similar prima-hermana y no queremos llevar a mano o con parches dichos cambios.

Para hacerlo podemos movernos a otra rama. Con un svn switch se nos actualizará la rama con los cambios de la otra rama y listo! Ya podemos continuar.

Uso del comando switch:

Desde la línea de comandos, en el directorio raíz de la copia de trabajo:

@>svn switch URL
por ejemplo…
@>svn switch https://....

Nos hará un svn update de la working copy con los cambios de la nueva rama y nos mantendrá nuestros cambios en local intactos.

Espero que os haya gustado!

Crear una rama en svn con el tortoise

Para crear una rama, lo mejor es usar el Tortoise. Los pasos son los siguientes:

  1. En el repo-browser, sobre la rama o rama-tag desde donde vamos a sacar la nuestra, abrimos el log (botón derecho -> Show log).
  2. Marcamos en stop on copy/rename para que aparezca solamente el log de la rama.
  3. Seleccionamos la revisión de la que queremos que nuestra rama salga. (botón derecho -> create branch/tag from revision)
  4. Seleccionamos el path donde crear la rama y escribir el nombre de ésta. No debe existir ya el directorio de la rama.
  5. Metemos el comentario. Aconsejable meter algo tal como "Creating branch from <rama origen> for <rama destino>" y pulsamos OK.
Ya tenemos nuestra rama creada. Ya podremos trabajar con ella.

Espero que os haya gustado.

jueves, 17 de noviembre de 2016

Debuggear procesos con strace

El comando strace es una herramienta muy útil para saber si un proceso está enviando/recibiendo mensajes que hemos perdido o si ejecuta algún comando del sistema (cd /home/directorio, rm fichero).

Para usarlo ejecutamos lo siguiente:


  • strace -p PID
PID del proceso que queremos ver.

Lo aconsejable es sacar a un fichero el contenido para buscar directamente lo que queremos ya que nos va a dar una salida muy extensa.

  • strace -p PID >log.out
Espero que os haya gustado!

Comprimir y descomprimir en gzip

Para comprimir/descomprimir en .gzip:

COMPRIMIR:

gzip -9 fichero
gzip -9 directorio
  • comprime el fichero/directorio dejándolo en un fichero.gz o directorio.gz
DESCOMPRIMIR:

gzip -d fichero.gz
  • Te descomprimirá el fichero borrando el fichero/directorio.gz original.

Espero que os sea útil!!!

miércoles, 19 de octubre de 2016

Debugear un core en C++ con gdb

Para debugear un core en C++ con gdb necesitamos:

  • El proceso que lo generó.
  • El código fuente con el que generamos el ejecutable.
  • El core.
Luego arrancamos el gdb de la siguiente manera:

@>gdb proceso core

y debugeamos igualmente como si hubiésemos tenido el gdb enganchado al proceso y éste se nos hubiese caído.

Espero que os sirva de utilidad :)

lunes, 17 de octubre de 2016

Tamaños en linux

En ocasiones tenemos que comprobar el espacio que ocupan nuestros archivos y tenemos varios comandos últiles: du y df

Comando du:

du [opciones] [ficheros]
  • -s :Muestra únicamente los tamaños de los archivos especificados en la línea de comandos.
  • -h : Human-readable, lo muestra en KB, MB, GB...
  • -c: Muestra el espacio total de los archivos especificados.
  • -x: Omite los directorios de otro sistema de archivos.
ejemplo:
Quiero ver lo que ocupan los directorios y ficheros del directorio actual:

@>du -shx *
9.0M bin
47M boot
4.0K cgroup
208K dev
27M etc
8.0K home
234M lib
25M lib64
16K lost+found
8.0K media
0 misc
11K mnt
0 net
871M opt
0 proc
652K root
17M sbin
4.0K selinux
4.0K srv
0 sys
20K tmp
2.1G usr

Comando df:

df [opciones]
  • -k: muestra en bytes. Utiliza unidades de 1024 bytes.
  • -h: muestra el espacio en human-readable KB, MB, GB.
  • -i: muestra el espacio en i-nodos.
Espero que os haya gustado!

jueves, 13 de octubre de 2016

Añadir colores a nuestros scripts

Añadir colores a nuestros scripts

Esta parte se la dedico a mi compañero Alberto que me enseñó a poner colores a mis scripts.

Cuando queremos colorear nuestra salida del script sólo tenemos que añadir lo siguiente:

 echo -e "\033[030m......May the force be with you.....\033[0m"

......May the force be with you.....

 echo -e "\033[032m......May the force be with you.....\033[0m"

......May the force be with you.....

echo -e "\033[031m......May the force be with you.....\033[0m"

......May the force be with you.....

 echo -e "\033[033m......May the force be with you.....\033[0m"

......May the force be with you.....

 echo -e "\033[034m......May the force be with you.....\033[0m"

......May the force be with you.....

 echo -e "\033[035m......May the force be with you.....\033[0m"

......May the force be with you.....

 echo -e "\033[036m......May the force be with you.....\033[0m"

......May the force be with you.....


Espero que os haya gustado!

Comandos SVN más frecuentes

Hacer commit:

svn ci fichero/directorio
svn commit fichero/directorio

Añadir ficheros o directorios al repositorio

svn add fichero/directorio

Renombrar ficheros

svn mv nombre_origen nombre_destino

Ver historial de un fichero (usuario y revisión)

svn blame fichero

Crear un parche de cambios

svn diff fichero > parche.patch

Hacer un merge inverso (quitar una revisión)

svn merge -r DESDE:HASTA DIRECTORIO

svn merge -r HEAD:68 .

y después

svn commit -m "Reverted to revision 68"

Hacer merges de una rama a otra

Desde la base de la copia de la rama donde voy a llevar los cambios:

svn merge -r RevO:RevD --accept = postpone urlorigen

RevO:
  •  Revisión origen -1 si estamos llevando un conjunto de revisiones de una rama a otra. Si me quiero llevar de la 92130 hasta la 93361, pongo 92129:93361.
  • Revisión del origen de la rama si estamos llevando los cambios desde que empezó la rama.
NOTA: si no ponemos el -1, no nos llevará esa revisión.

Ver el log de un fichero/directorio

Svn log fichero/directorio

martes, 27 de septiembre de 2016

Comprimir y descomprimir ficheros en .tar o tgz


Cuando queramos comprimir/descomprimir directorios o ficheros en linux, los formatos en los que se suele comprimir es en .tar o tgz(que no es más que un tar comprimido en gzip). Y lo podemos hacer de la siguiente manera:


Para comprimir/descomprimir en .tar:

COMPRIMIR:

tar -cvf archivo.tar ficheros
tar -cvf archivo.tar directorio

  • -c : comprimimos
  • -v: muestra lo que está comprimiendo
  • -f: indicamos el nombre del fichero resultante
DESCOMPRIMIR:

tar -xvf archivo.tar
  • -x: descomprimir
  • -v:muestra lo que está descomprimiendo
  • -f: indicamos el nombre del fichero a descomprimir

Para comprimir/descomprimir en .tgz o .targz:


COMPRIMIR:

tar -cvzf archivo.tgz ficheros
tar -cvzf archivo.tgz directorio

  • -c : comprimimos
  • -v: muestra lo que está comprimiendo
  • -f: indicamos el nombre del fichero resultante
  • -z: a mayores que nos comprima en formato gzip
DESCOMPRIMIR:

tar -xvzf archivo.tgz


  • -x: descomprimir
  • -v:muestra lo que está descomprimiendo
  • -f: indicamos el nombre del fichero a descomprimir
  • -z: que nos descomprima el formato gzip
Espero que os haya gustado, si tenéis alguna duda no dudéis en consultarme. :)

Be the force with you!