-
Notifications
You must be signed in to change notification settings - Fork 38
Nouvelle version majeure
Une nouvelle version majeure nécessite un gros travail qui se fait en quatre étapes. Les étapes 2 à 5 peuvent être réalisées plusieurs fois, au maximum une fois par versions Beta et Release Candidate.
Certains fichiers de la documentation sont créés par des programmes. Voici comment les créer :
cd doc/src/sgml
make errcodes-table.sgml
make features-supported.sgml
make features-unsupported.sgml
make keywords-table.sgml
make targets-meson.sgml
make wait_event_types.sgml
Le but est de regarder toutes les différences entre l'ancienne version originale et la nouvelle. Ces différences se récupèrent avec la commande suivante (entre les versions 12 et 13 pour l'exemple) :
git diff REL_12_STABLE..REL_13_BETA1 doc/src/sgml > ~/en13.patch
Le résultat (le fichier ~/en13.patch
) contient toutes les modifications qu'il va falloir reporter dans les fichiers de la traduction.
Certains fichiers sont nouveaux. Il faut les ajouter avec un git add
. De même, certains disparaissent. Il faut les supprimer avec un git rm
.
Quant aux fichiers modifiés, les petites modifications sont immédiatement traduites, les grosses sont laissés pour plus tard. Les modifications des fichiers Makefile et XSLT sont à prendre en compte immédiatement. Les fichiers SVG sont à copier simplement.
Une fois le merge terminé, il convient de faire un git commit -a
. Le message de commit est traditionnellement Merge v13 beta X
.
Une page du wiki est créée pour savoir qui a réclamé tel ou tel fichier.
Voici un script permettant de créer le tableau :
git diff | diffstat -tf4 | awk -F "," '/b\// { print "| " $4 " | " $1 " | |"}' | sort -k2
Le tableau sera ensuite à améliorer, et la page à construire, mais l'essentiel et le plus compliqué est là.
Chaque personne intéressée place son nom sur un fichier du tableau et traduit les paragraphes/phrases ajoutés. Il renvoie le fichier par mail ou en faisant une PR pour qu'il puisse être relu, puis intégré.
Il est intéressant de générer la documentation de temps à autre pendant la traduction. Ça permet à d'autres personnes de relire la traduction et de remonter les erreurs.
En fin de traduction de la version complète, il est important de penser à réindenter la documentation. Il existe un programme pour cela dans le répertoire tools
. Un simple make
suffit à le compiler. Le script suivant permet de réindenter tous les fichiers se trouvant dans le répertoire courant et ses sous-répertoires :
#!/bin/sh
find . -name "*.xml" | while read file
do
mv ${file} ${file}.old
cat ${file}.old | ~/bin/pg_doc_indent > ${file}
echo -n "."
done
echo " done!"
Le message de commit est généralement un simple Réindentation
.