Passer de svn à git

Posté le mar. 16 juillet 2013 • Tags : svn, git

Sur le projet Addictradio nous utilisons encore un de nos dépôts avec svn. Il est temps de faire la migration de svn à git !

J’ai testé plusieurs méthodes et aucune ne fait exactement ce que je voulais voici donc ma procédure :

svn log --quiet 'svn://svn.mondomaine/monprojet' | grep "^r" | awk
'{print $3}' | sort | uniq | awk '{ print $1" = "$1"
<"$1"@mondomaine>" }' > authors.txt

J’ai ensuite édité authors.txt pour remplacer nos différents pseudos par nos prénoms et noms puis j’ai vérifié les adresses e-mails.

Lire la suite


Export / Import avec PostgreSQL

Posté le sam. 22 juin 2013 • Tags : sql

Pour exporter une table spécifique d’une base :

pg_dump *mabase* --table=*matable* > *dump_base_table*.sql

Pour exporter une base :

pg_dump *mabase* > *dump_base*.sql

Pour importer un dump dans une base :

psql *base* < *dump_base_table*.sql
psql *base* < *dump_base*.sql

Git déplacer mon dernier commit sur une autre branche

Posté le sam. 22 juin 2013 • Tags : git

J’ai fait une boulette ! J’ai commité deux fois en étant sur la branche master… Généralement je fais toujours une branche pour les modifications, cette fois j’avais créé cette branche debug_redirect mais je n’étais pas dessus…

Je me suis retrouvé avec les commits A-B-C sur mon master. Or le seul qui devait être dessus devait être A et je devais avoir B-C dans ma branche debug_redirect. Voici un schéma de la situation :

Lire la suite


Installation disque dur Seagate 4To Debian

Posté le ven. 21 juin 2013 • Tags : debian, linux, storage

J’ai investi dans un gros disque dur de 4To pour mes sauvegardes (Fichiers persos, photos, vidéos…). J’ai donc formaté mon disque avec « Fdisk » et j’ai eu le message suivant :

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: The size of this disk is 4.0 TB (4000787030016 bytes).
DOS partition table format can not be used on drives for volumes
larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
partition table format (GPT).

J’ai donc vérifié si j’avais dans le noyau l’option CONFIG_EFI_PARTITION active :

Lire la suite


Toujours afficher le protocole dans Firefox

Posté le lun. 10 juin 2013 • Tags : web, config

Souvent lorsque je copie/colle une url depuis firefox j’ajoute http:// or lors de la copie celui-ci est copié… Je me retrouve donc avec deux fois http://…

Pour résoudre ce problème j’affiche toujours le protocole dans Firefox :

Écrire dans la barre d’adresse :

about:config

Rechercher :

browser.urlbar.trimURLs

Modifier la valeur par :

false

Latin1 vers UTF-8

Posté le mer. 29 mai 2013 • Tags : encoding, mysql, vim, sql

Voilà une solution simple pour convertir une base de données en Latin1 vers de l’UTF-8.

Utiliser mysqldump avec les options suivantes :

--default-character-set=utf8

et :

--skip-set-charset

Voilà la commande complète :

mysqldump -u user -p base table --default-character-set=utf8 --skip-set-charset > base_table.sql

Ensuite en utilisant vim je fais un rechercher / remplacer des différents latin1 en utf-8. :

vim dump_base_table.sql

Et en mode commande :

:%s/DEFAULT CHARACTER SET latin1/DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci/

et :

Lire la suite


TypeMatrix sous Mac Os X

Posté le lun. 4 mars 2013 • Tags : keyboard, osx

J’ai chez moi comme au travail un clavier TypeMatrix 2030 USB.

Sur mac il faut télécharger le pilote, puis copier le fichier fr-dvorak-bepo.bundle dans le dossier /Bibliothèque/Keyboard Layouts/

Note : si vous installez le pilote dans le dossier de votre utilisateur (~/Bibliothèque/Keyboard Layouts/) vous ne pourrez pas utiliser le mappage à l’ouverture de session…

Pour utiliser les touches couper, copier,coller, j’utilise keyremap4macbook (qui fonctionne aussi sur iMac etc…). L’installer puis redémarrer. Dans les préférences dans l’onglet “change key” recherchez “Use PC Style Copy/Paste #3bis” et sélectionnez l’option proposée.

Lire la suite


Logiciels de gestion de versions (Svn, Git, Mercurial)

Posté le mar. 12 février 2013 • Tags : git, svn

J’ai différents projets sous svn, git et mercurial. J’ai pour but de tout migrer sur git car disponible sur github ainsi que sur bitbucket.

J’ai trouvé un très bon tutoriel pour migrer un projet svn à git.

Également un autre tutoriel en anglais pour passer de mercurial à git.


Bépo 11ème jour !

Posté le jeu. 27 décembre 2012 • Tags : bépo, keyboard

Depuis maintenant 11 jours je me suis mis au bépo. J’ai gardé mes différents résultats, ce qui va me permettre de faire une courbe de progression de mon apprentissage.

Sachant qu’au second jour j’arrivais à taper environ 10,2 mots par minute, aujourd’hui je suis à 24,4 mots par minute…

J’ai commandé deux claviers ergonomiques typematrix, sans marquage sur les touches ainsi que 2 skins : un en azerty et un en bépo.

Pour info je m’entraîne généralement 2 fois par jour quand j’ai le temps environ 1/2 heure. Je m’intéresse pas mal au sujet et je vous recommande de lire le dvzine en Français qui est fascinant.


Faire un ssh-copy-id sur Mac OS X

Posté le dim. 30 septembre 2012 • Tags : ssh, osx

Si vous avez tenté d’utiliser la commande ssh-copy-id sur Mac OS X, vous avez dû vous rendre compte que, même si openssh est installé nativement, cette commande n’est pas disponible.

Cette commande n’est pas disponible par défaut sur Mac OS X. Mais on peut la rendre disponible facilement en quelques étapes. Créer un fichier “ssh-copy-id” dans le dossier “/usr/bin/” avec ce contenu :

#!/bin/sh
# Shell script to install your public key on a remote machine
# Takes the remote machine name as an argument.
# Obviously, the remote machine must accept password authentication,
# or one of the other keys in your ssh-agent, for this to work.

ID_FILE="${HOME}/.ssh/id_rsa.pub"

if [ "-i" = "$1" ]; then
  shift
  # check if we have 2 parameters left, if so the first is the new ID file
  if [ -n "$2" ]; then
    if expr "$1" : ".*\.pub" > /dev/null ; then
      ID_FILE="$1"
    else
      ID_FILE="$1.pub"
    fi
    shift         # and this should leave $1 as the target name
  fi
else
  if [ x$SSH_AUTH_SOCK != x ] ; then
    GET_ID="$GET_ID ssh-add -L"
  fi
fi

if [ -z "`eval $GET_ID`" ] && [ -r "${ID_FILE}" ] ; then
  GET_ID="cat ${ID_FILE}"
fi

if [ -z "`eval $GET_ID`" ]; then
  echo "$0: ERROR: No identities found" >&2
  exit 1
fi

if [ "$#" -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
  echo "Usage: $0 [-i [identity_file]] [user@]machine" >&2
  exit 1
fi

{ eval "$GET_ID" ; } | ssh $1 "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys" || exit 1

cat <<EOF
Now try logging into the machine, with "ssh '$1'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

EOF

⚠️ À ne pas reproduire : ce script fait un eval "$GET_ID" en réinjectant dans ID_FILE le chemin passé via -i, sans jamais l’assainir. Un chemin malveillant permet une injection shell. Si vous devez encore bricoler ce genre de script, échappez ou validez l’argument avant de le passer à eval, ou évitez eval tout court.

Lire la suite