]> source.charles.plessy.org Git - source.git/commitdiff
Premier jet de l'article sur le stockage des journeaux dans Git.
authorCharles Plessy <https://launchpad.net/~plessy>
Sat, 29 Oct 2011 09:11:45 +0000 (18:11 +0900)
committerCharles Plessy <https://launchpad.net/~plessy>
Sat, 29 Oct 2011 09:11:45 +0000 (18:11 +0900)
Debian/debiâneries/tout-dans-git.mdwn [new file with mode: 0644]

diff --git a/Debian/debiâneries/tout-dans-git.mdwn b/Debian/debiâneries/tout-dans-git.mdwn
new file mode 100644 (file)
index 0000000..8c09759
--- /dev/null
@@ -0,0 +1,61 @@
+[[!meta date="Sat, 29 Oct 2011 17:59:02 +0900"]]
+[[!meta updated="Sat, 29 Oct 2011 17:59:02 +0900"]]
+[[!tag Debian brouillon]]
+
+[[!meta title="Tout dans Git"]]
+
+Ce samedi a bien commencé avec la lecture sur [Planet
+Debian](http://planet.debian.org/) de deux articles stimulants, l'un à propos
+de [GitTogether2011](http://kitenet.net/~joey/blog/entry/GitTogether2011/), et
+l'autre à propos de [l'utilisation de Git dans la société
+Baserock](http://blog.liw.fi/posts/future-of-linux-distros/).
+
+J'aime beaucoup l'idée d'utiliser Git au-delà de la gestion du code
+source de programmes.  Pour les paquets Debian dont je m'occupe et qui sont
+gérés avec Git, je stocke depuis quelques temps les journeaux de construction
+dans une branche appelée <code>meta</code>.  Depuis que
+[sbuild](http://packages.debian.org/sbuild) [[!debbug 605763 desc="filtre
+certaines parties variables de ses logs"]], la commande <code>git diff
+--word-diff=color</code> permet de surveiller efficacement la différence entre
+les constructions de deux versions d'un paquet.  Par exemple, pour la [mise à
+jour de
+bedtools](http://git.debian.org/?p=debian-med/bedtools.git;a=commitdiff;h=9e1fbef0d98d67999bd334236c75c4bb89d890b7#patch2)
+que j'ai faite ce matin, pas grand chose à signaler si ce n'est que
+<code>-D_FORTIFY_SOURCE=2</code> n'est plus passé et que par conséquent les
+alertes <code>-Wunused-result</code> ont disparu.
+
+Un des autres avantages de stocker les journeaux de construction est simplement
+de rendre disponible une information qui ne l'était pas auparavant :
+buildd.debian.org contient les journeaux pour toutes les plateformes sauf celle
+utilisée par le responsable du paquet, souvent l'une des plus utilisées, car
+ses téléchargements combinent paquets source et binaires.  Ce problème sera
+rêglé lorsque notre archive reconstruira automatiquement les paquet binaires
+téléchargé avec les paquets source, mais pas complètement car il est toujours
+possible de télécharger un paquet binaire isolément.
+
+Dans la branche <code>meta</code> de mes dépôts Git, les journeaux sont gardés
+côte-à-côte pour toutes les plateformes.  Je ne suis pas sûr que que ça soit la
+disposition idéale, mais pour le moment je suis réticent à l'idée d'avoir une
+multitude de branches parallèles.  Je commence à automatiser la gestion des
+logs, par exemple avec le petit script suivant pour les récupérer depuis
+buildd.debian.org.
+
+<pre>
+#!/bin/bash
+
+BASEURL=buildd.debian.org:/srv/buildd.debian.org/db
+PACKAGE=$1
+shift
+
+for version in "$*"
+
+do
+  scp $BASEURL/${PACKAGE:0:1}/$PACKAGE/${version}/* .
+  for arch in $(ls *bz2 | sed 's/_.*//g')
+    do bzcat ${arch}*bz2 > ${arch}.log
+    rm ${arch}_*_log.bz2;
+  done
+done
+
+exit
+</pre>